ประวัติความเป็นมาเล็กน้อย

คุณรู้อยู่แล้วว่าอะไรคือข้อดีของการใช้ JavaScript ในโลกของวิศวกรรมซอฟต์แวร์องค์กร และอะไรคือ 5 เหตุผลทำไม Node.js จึงเป็นตัวเลือกที่ยอดเยี่ยมสำหรับสตาร์ทอัพ สิ่งที่คุณไม่รู้ว่ามันเริ่มต้นอย่างไร

ภาษานี้มีการพัฒนาไปไกลมากจากการถูกใช้เป็นเพียงเครื่องมืออำนวยความสะดวกในการโต้ตอบบนเว็บไซต์ ไปจนถึงภาษาการเขียนโปรแกรมที่มีประโยชน์ในระดับสากลอย่างเต็มรูปแบบ เราจะพาคุณเดินทางตั้งแต่การสร้างสรรค์จนถึงยุค TypeScript

วัยเด็กของ JavaScript

ในช่วงแรกๆ ของอินเทอร์เน็ต ทุกเว็บไซต์เป็นแบบคงที่ จนถึงปี 1995 ไม่มีวิธีใดที่จะทำให้เว็บไซต์มีไดนามิก หมายความว่าเป็นไปไม่ได้ที่จะเปลี่ยนแปลงเนื้อหาของหน้าเว็บตามเงื่อนไขต่างๆ นั่นเป็นสาเหตุที่ทำให้ JavaScript ถูกสร้างขึ้นในปี 1995 Brendan Eich ผู้สร้างภาษาได้รับมอบหมายงานง่ายๆ เพื่อทำให้การโต้ตอบเป็นไปได้ ผลงานการสร้างสรรค์ของ Eich มีเป้าหมายที่ชัดเจน และด้วยเหตุนี้จึงทำให้บรรลุเป้าหมายดังกล่าว เป็นเวลานานก็แค่นั้นแหละ

ดังที่บิดาแห่ง JavaScript พูด:

ฉันอยู่ภายใต้คำสั่งทางการตลาดเพื่อให้ [JavaScript] ดูเหมือน Java แต่ไม่ทำให้ใหญ่เกินไปสำหรับข้อบกพร่อง มันเป็นแค่ภาษาน้องชายไร้สาระแบบนี้ใช่ไหม? เพื่อนสนิทของ Java

การดำเนินการแบบอะซิงโครนัสในเบราว์เซอร์

มีอยู่ช่วงหนึ่งที่ผู้คนตื่นขึ้นและตระหนักว่ายังสามารถทำได้อีกมากมาย หน้าต่างๆ ยังคงต้องโหลดซ้ำทั้งหมดเพื่อแสดงข้อมูลใหม่ ซึ่งส่งผลให้กระบวนการช้าและไม่มีประสิทธิภาพ จะต้องมีวิธีป้องกันไม่ให้เว็บไซต์โหลดซ้ำเพื่อรับและประมวลผลข้อมูลใหม่ใช่ไหม

ตัวอย่างแรกที่แพร่หลายของนวัตกรรมดังกล่าวคือเมื่อ Microsoft อนุญาตให้ Internet Explorer 5 ส่งคำขอ HTTP ในปี 1999 พวกเขาใช้ออบเจ็กต์ชื่อ "XMLHttpRequest" ซึ่งอนุญาตให้รับข้อมูลจากแหล่งภายนอกโดยไม่ต้องโหลดหน้าซ้ำ

เหตุใดจึงมีการนำฟังก์ชันนี้ไปใช้? เรื่องสั้นสั้น MSFT ทำเช่นนั้นเพียงเพื่อให้เว็บไซต์ของ Outlook เรียกอีเมลในเบื้องหลัง ผลกระทบระยะยาวมีมากกว่าการทำให้เว็บไซต์หนึ่งทำงานได้ดีขึ้น

ตามข้อมูลของ Monika Mazurczak นักพัฒนาส่วนหน้าของ ITMAGINATION:

“[XMLHttpRequest ของ Microsoft] เป็นหนึ่งในสองการพัฒนาที่สำคัญที่สุดในโลกของ JavaScript การดำเนินการแบบอะซิงโครนัสช่วยให้ผู้ใช้ทำงานได้มากขึ้นโดยไม่ต้องโหลดหน้าเว็บซ้ำ ซึ่งถือเป็นชัยชนะครั้งใหญ่ในแง่ของ UX"

ยังคงมีปัญหาใหญ่เพิ่มเติมที่ต้องแก้ไข มีความแตกต่างอย่างมากในการใช้งานเอ็นจิ้น JavaScript และแม้กระทั่งรสชาติของภาษาที่แตกต่างกันสำหรับแต่ละเบราว์เซอร์! Netscape มี JavaScript ในขณะที่ IE มี Jscript เป็นต้น แม้ว่าการใช้งานของ MSFT จะเข้ากันได้กับ JavaScript ในระดับหนึ่ง (เนื่องจากทั้งคู่เป็นไปตามข้อกำหนด ECMAScript) แต่การใช้งานนั้นแตกต่างกันโดยพื้นฐาน

jQuery — สร้างสำหรับเบราว์เซอร์ที่แตกต่างกันโดยไม่ต้องปวดหัว

ในปี พ.ศ. 2549 โลกได้เห็นวิธีแก้ปัญหาที่มุ่งแก้ไขปัญหาดังกล่าว สิบสี่ปีที่แล้ว jQuery มองเห็นแสงสว่างของวัน โดยสรุปความแตกต่างในการใช้งาน ภาพที่คุณเห็นด้านบนคือวิธีที่ jQuery จัดการกับความแตกต่างในการใช้งานระหว่างเบราว์เซอร์ สิ่งที่คุณเห็นด้านล่างนี้เป็นเพียงการเรียกใช้ฟังก์ชัน "jQuery.ready()" หลังจากที่โหลดหน้าเว็บเสร็จแล้ว

คุณรู้ไหมว่าตอนนี้จะดูเป็นอย่างไร? ต้องขอบคุณมาตรฐานของการใช้งาน มันค่อนข้างตรงไปตรงมา มีหลายวิธีในการดำเนินการนี้ และนี่คือหนึ่งในนั้น:

jQuery จะกลายเป็นไลบรารี JavaScript ที่ได้รับความนิยมมากที่สุดและมีอัตรากำไรขั้นต้นสูง ยังคงเป็นห้องสมุดที่ได้รับความนิยมมากที่สุดตามส่วนแบ่งการตลาดจนถึงทุกวันนี้ โดยมีอยู่ใน ประมาณ 79.8% ของเว็บไซต์ยอดนิยม 10,000 อันดับแรก

เมื่อเปรียบเทียบกันแล้ว React.js ซึ่งได้รับการยอมรับอย่างกว้างขวางว่าเป็นมาตรฐานสมัยใหม่สำหรับการพัฒนาส่วนหน้านั้น React ถูกใช้บน 43.7% ของเพจยอดนิยม 10,000 อันดับแรก เมื่อพูดถึงส่วนหน้า jQuery ถือเป็นขั้นตอนสำคัญขั้นตอนสุดท้ายในการเริ่มดำเนินการ ความสม่ำเสมอของเบราว์เซอร์ทำให้นักพัฒนาสามารถสร้างแอปที่ต้องการได้ แต่ก่อนหน้านี้ไม่สามารถทำได้

2009 — ถือเป็นปีที่สำคัญที่สุดสำหรับระบบนิเวศนับตั้งแต่เปิดตัว

สามปีต่อมา ในปีที่สำคัญที่สุดของโลก JavaScript มีเหตุการณ์สองเหตุการณ์ที่เปลี่ยนแปลงระบบนิเวศ

หนึ่งในเหตุการณ์เหล่านี้คือการเปิดตัว Node.js ครั้งแรก ส่วนอีกเหตุการณ์หนึ่งเป็นการแก้ไขภาษาครั้งแรก — ECMAScript 2009 (รู้จักกันดีในชื่อ ES5) มองเห็นแสงสว่างแห่งวัน

กิจกรรมแรก — ECMAScript 2009

ES5 นำเสนอคุณสมบัติมากมายที่จำเป็นอย่างยิ่ง โหมดเข้มงวด การดำเนินการที่จำเป็นในอาร์เรย์ เช่น ตัวกรอง, ​​แผนที่ และ ลดขนาด ( “ The Holy Trinity of Functional Programming”), อ็อบเจ็กต์ JSON , property getters & setters และอื่นๆ อีกมากมายที่อยู่นอกขอบเขตของบทความนี้

เหตุการณ์ที่สอง — การกำเนิดของ Node.js

การสร้าง Node.js ทำให้ JavaScript เป็นภาษาที่เกี่ยวข้อง เนื่องจากรันไทม์ทำให้เราสามารถรันสคริปต์นอกเบราว์เซอร์ นอกเหนือจากการดำเนินการในเบราว์เซอร์ « ที่น่าสนใจ นี่ไม่ใช่ความพยายามครั้งแรกที่อนุญาตให้เรียกใช้ JavaScript บนเซิร์ฟเวอร์ -ด้านข้าง." Live Wire ของ Netscape เป็นรายการแรก แต่เนื่องจากอาจเป็นครั้งแรกที่คุณเคยได้ยินเกี่ยวกับเรื่องนี้ ที่บอกอะไรบางอย่างเกี่ยวกับความนิยมของโซลูชัน แม้ว่าจะสมควรได้รับการกล่าวถึงกิตติมศักดิ์ แต่เราจะไม่ทุ่มเทพื้นที่ให้กับมันมากนัก

ตอนนี้ JavaScript พร้อมสำหรับการใช้งานอย่างจริงจังแล้ว มีอีกแง่มุมหนึ่งที่ต้องได้รับการแก้ไขก่อนที่ภาษาจะเห็นการนำไปใช้อย่างจริงจังขององค์กร ภาษาเป็นแบบไดนามิกโดยไม่มีระบบประเภท

คุณจะเห็นว่าเมื่อคุณกำลังคิดที่จะเขียนแอปที่จะยิ่งใหญ่กว่าโปรเจ็กต์เริ่มต้นมาตรฐานของคุณ คุณจะพบปัญหาไม่ช้าก็เร็ว ภาษาที่พิมพ์ได้ชัดเจน เช่น Java หรือ C# มอบความปลอดภัยอีกชั้นหนึ่งให้กับคุณ — พวกมันจะตรวจจับข้อบกพร่องบางอย่างด้วยตนเอง โดยไม่ต้องเกี่ยวข้องกับคุณซึ่งเป็นนักพัฒนาไม่ว่าในทางใดก็ตาม นั่นเป็นเพราะพวกเขาจะรับรองความถูกต้องของโค้ดด้วยตนเองเมื่อใช้งาน

TypeScript มาเพื่อช่วยเหลือ

มีความพยายามบางอย่างในการทำให้ JS คาดเดาได้มากขึ้น อย่างไรก็ตาม Microsoft อาจเสนอวิธีแก้ปัญหาที่ดีที่สุดในปัจจุบัน Typescript ซึ่งเป็นซูเปอร์เซ็ตของ JavaScript มองเห็นแสงสว่างแห่งวันเป็นครั้งแรกในปี 2012 โดยมีวัตถุประสงค์คือเพื่ออำนวยความสะดวกในการพัฒนาแอปพลิเคชันขนาดใหญ่

มันมีคุณสมบัติบางอย่างที่ทำให้ได้รับความนิยมอย่างมากในหมู่มืออาชีพ

ก่อนอื่นเลย เนื่องจาก C# และ TypeScript ถูกสร้างขึ้นโดยบุคคลคนเดียวกัน พวกเขาจึงมีความคล้ายคลึงกันบางประการ แน่นอนว่าอย่าคาดหวังว่าทั้งสองจะเป็นฝาแฝดกัน

ประการที่สอง การย้ายจาก JavaScript ไปยัง TypeScript เป็นเรื่องง่าย — คุณสามารถย้ายฐานโค้ดของคุณทีละขั้นตอน

ประการที่สาม TypeScript ทำงานร่วมกับเช่น React และ Vue บนส่วนหน้าได้อย่างราบรื่น ที่แบ็กเอนด์ ไลบรารีหลักทั้งหมดทำงานกับ TypeScript ได้ทันที Nest.js ใช้ TS เป็นค่าเริ่มต้น ในขณะที่ Express.js และ Fastify มีคำจำกัดความประเภทเพิ่มเติมเพื่อให้คุณติดตั้งและลืมไปได้เลย

หากไลบรารีใดก็ตามที่คุณต้องการไม่ได้อยู่ใน TypeScript hype-train โดยทั่วไป คุณจะยังคงสามารถใช้งานได้ในขณะที่เพลิดเพลินกับการสนับสนุนเวลาออกแบบที่ได้รับการปรับปรุง ผู้ใช้ให้คำจำกัดความประเภทฟรีสำหรับไลบรารียอดนิยมทั้งหมด และในกรณีที่เลวร้ายที่สุด คุณสามารถเขียนประกาศของคุณเองได้ กล่าวอีกนัยหนึ่ง — หากคุณใช้งานมัน — จะมีคำจำกัดความประเภทสำหรับมัน

อนาคตของ JavaScript จะเป็นอย่างไร?

สุดท้ายนี้ JavaScript ได้พัฒนาไปไกลมากและได้รับบทบาทที่ไม่มีใครคาดคิดมาก่อน แม้ว่าหลายคนจะเยาะเย้ยระบบประเภทของมันหรือความไม่สอดคล้องกันของมัน แต่ระบบนิเวศทั้งหมดก็พิสูจน์ตัวเองว่าเป็นคู่แข่งที่แข็งแกร่งมากกว่าหนึ่งครั้ง

ตลอดประวัติศาสตร์ของ JavaScript มีสองฝ่ายที่ทำให้ JavaScript เป็นภาษาโปรแกรมเอนกประสงค์ที่มีอิทธิพลมากที่สุด ทั้งสองฝ่ายเป็นผู้มีส่วนร่วมโอเพ่นซอร์สและ ECMA ความยืดหยุ่นและความทุ่มเทของนักพัฒนาได้ช่วยยกระดับภาษาให้หลุดพ้นจากการตกต่ำครั้งใหญ่ เชื่อมและแก้ไขช่องว่าง ECMA ให้รากฐานที่มั่นคงแก่พวกเขาในการต่อยอด โดยเสริมภาษาด้วยคุณสมบัติที่ร้องขอ

อนาคตของ JavaScript ยังไม่ชัดเจนนัก ดูเหมือนว่ากรณีของความนิยมนั้นขึ้นอยู่กับอนาคตของโครงการ WebAssembly เป็นส่วนใหญ่ เรื่องสั้นคือ มีความเป็นไปได้ที่จะคอมไพล์ภาษา เช่น C++ หรือ Rust ให้เป็นโค้ดที่เบราว์เซอร์สามารถใช้ได้ในบางครั้ง การใช้งานมีข้อจำกัดที่รุนแรงบางประการ เช่น คุณไม่สามารถเข้าถึง DOM (โครงสร้างของหน้า) และคุณถูกจำกัดให้ใช้เบราว์เซอร์ที่ค่อนข้างใหม่เท่านั้น

อาจกลายเป็นว่า JavaScript จะหยุดเป็นภาษาโปรแกรมเดียวที่สามารถรันในเอ็นจิ้นของเบราว์เซอร์ได้ หากสิ่งนี้เกิดขึ้น ความเหนือกว่าของการสร้างสรรค์ของ Eich อาจถูกท้าทาย แม้ว่ามันจะมีแง่มุมหนึ่งของมัน แต่สิ่งนั้นก็จะยังคงเป็นจริง นั่นก็คือ ความเรียบง่ายของภาษา

ป.ล.: เรากำลังรับสมัครนักพัฒนา Node.js สำหรับมืออาชีพด้าน Node.js เรามีข่าวดี — เรากำลังรับสมัครงาน ไม่ว่าคุณจะเป็น นักพัฒนาแบ็กเอนด์, นักพัฒนา React, React Native Developer หรือ Angular Developer เรากำลังรอคุณอยู่

เผยแพร่ครั้งแรกที่ https://www.itmagination.com.