ยุคที่สามของ JavaScript
(swyx.io)มีข้อเสนอว่า JS เปลี่ยนแปลงครั้งใหญ่ทุก ๆ 10 ปี และปี 2020 คือจุดเริ่มต้นของยุคที่สาม
ยุคที่ 1 1997~2007 การเริ่มต้นของภาษา
ยุคที่ 2 2009~2019 การขยายตัวของภาษา: Node, npm, ES5..
ยุคที่ 3 2020~ เริ่มลบสมมติฐานแบบเลกาซีและลดลำดับชั้นระหว่างเครื่องมือ
→ เลิกพึ่งพา CommonJS
→ สมมติฐานว่าเครื่องมือ JS ต้องถูกสร้างด้วย JS เท่านั้น: TypeScript, Deno, Relay
→ ย้ายจาก "Functional Core, Imperative Shell" ไปเป็น "Systems Core, Scripting Shell"
→ ลดลำดับชั้น: Deno ฝังเครื่องมือทดสอบ/จัดรูปแบบ/lint/บิลด์มาให้ในตัว
→ คลาวด์ที่หลากหลายซึ่งเมื่อ 10 ปีก่อนไม่มี: ตั้งแต่ Lambda ไปจนถึง Glitch, Repl.it, Condesandbox, Github Codespaces, Stackblitz
→ Svelte นำทุกอย่างตั้งแต่แอนิเมชันไปจนถึง State Management ไว้ใน Compiler
→ React กลายเป็น Meta-Framework มากขึ้น และเชื่อมฝั่งไคลเอนต์/เซิร์ฟเวอร์เข้าด้วยกัน
→ Vue กำลังสร้าง development server แบบ Unbundler ผ่านโปรเจ็กต์ Vite
เครื่องมือ JS ยุคที่ 3 มีลักษณะดังนี้
-
เร็วขึ้น
-
ESM first
-
Collapsed Layers: เครื่องมือหนึ่งตัวทำงานได้หลายอย่างอย่างมีประสิทธิภาพ
-
Typesafe-er: ใช้โค้ด TypeScript ได้ทุกที่โดยแทบไม่ต้องตั้งค่าเพิ่ม
-
Secure-er: ในด้าน dependency และสิทธิ์ต่าง ๆ
-
Polyglot: ใช้หลายภาษาไปพร้อมกัน
-
Neo-Isomorphic: โค้ด JS จะถูกรันบนเซิร์ฟเวอร์ก่อนในขั้นบิลด์หรือก่อนส่งถึงไคลเอนต์
-
ผลลัพธ์ของทั้งหมดนี้คือจะมอบประสบการณ์นักพัฒนาที่ดีขึ้น (บิลด์เร็วขึ้น, tooling มาตรฐาน) และประสบการณ์ผู้ใช้ที่ดีขึ้น (bundle เล็กลง, ปล่อยฟีเจอร์ได้เร็วขึ้น)
-
การเปลี่ยนแปลงครั้งสุดท้ายของ JavaScript จาก Site Scripting Toy ไปเป็น Full Application Platform
-
JavaScript จะตายหรือไม่?
หากคำคาดการณ์ของ Gary Bernhardt ที่ว่าอายุขัยของ JS จะมีถึงปี 2035 นั้นถูกต้อง ยุคที่ 3 ก็จะเป็นช่วงสุดท้ายของ JavaScript
Brendan Eich เปลี่ยนมุมมองจากเดิมที่คิดว่า JS อาจเป็น "Universal Virtual Machine" ไปเป็น "WASM จะเข้ามาแทนที่ตำแหน่งนั้น"
ถ้าความเห็นของทั้งสองคนถูกต้อง ก็แปลว่า "พวกเราไม่มีทางรอดแล้ว" (ต้นฉบับคือ We're in the Endgame now = ตอนนี้เราเข้าสู่ช่วงสุดท้ายแล้ว)
4 ความคิดเห็น
แนะนำให้อ่านควบคู่กับ JavaScript: The First 20 Years https://th.news.hada.io/topic?id=1714
JS เป็นภาษาที่ปล่อยอิสระเกินไป... สุดท้ายก็หวังว่า WASM จะกลายเป็นกระแสหลักครับ
WASM กับ JS น่าจะพัฒนาไปในทางที่เกื้อหนุนกันและกันไม่ใช่หรือ?
ดูเหมือนว่ายุคของ JS จะยังคงดำเนินต่อไป แต่เป็นมุมมองที่มองโลกในแง่ร้ายกว่าที่คิดนะ เพราะมี TS ออกมาด้วยหรือเปล่า..