13 คะแนน โดย xguru 2020-05-25 | 4 ความคิดเห็น | แชร์ทาง WhatsApp

มีข้อเสนอว่า 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 ความคิดเห็น

 
xguru 2020-05-31

แนะนำให้อ่านควบคู่กับ JavaScript: The First 20 Years https://th.news.hada.io/topic?id=1714

 
functor 2020-05-25

JS เป็นภาษาที่ปล่อยอิสระเกินไป... สุดท้ายก็หวังว่า WASM จะกลายเป็นกระแสหลักครับ

 
sduck4 2020-05-25

WASM กับ JS น่าจะพัฒนาไปในทางที่เกื้อหนุนกันและกันไม่ใช่หรือ?

 
ffdd270 2020-05-25

ดูเหมือนว่ายุคของ JS จะยังคงดำเนินต่อไป แต่เป็นมุมมองที่มองโลกในแง่ร้ายกว่าที่คิดนะ เพราะมี TS ออกมาด้วยหรือเปล่า..