13 điểm bởi xguru 2020-05-25 | 4 bình luận | Chia sẻ qua WhatsApp

Có ý kiến cho rằng cứ mỗi 10 năm JS lại trải qua một đợt thay đổi, và năm 2020 là khởi đầu của kỷ nguyên thứ ba

1st 1997~2007: khởi đầu của ngôn ngữ

2nd 2009~2019: mở rộng ngôn ngữ: Node, npm, ES5...

3rd 2020~: bắt đầu loại bỏ các giả định legacy và thu gọn các tầng giữa các công cụ

→ Loại bỏ sự phụ thuộc vào CommonJS

→ Giả định rằng công cụ JS phải chỉ được tạo bằng JS: TypeScript, Deno, Relay

→ Chuyển từ "Functional Core, Imperative Shell" sang "Systems Core, Scripting Shell"

→ Thu gọn tầng lớp: Deno tích hợp sẵn công cụ testing/formatting/linting/build

→ Nhiều nền tảng cloud đa dạng mà 10 năm trước chưa có: từ Lambda đến Glitch, Repl.it, Condesandbox, Github Codespaces, Stackblitz

→ Svelte đưa mọi thứ từ animation đến state management vào compiler

→ React trở thành meta-framework và tích hợp client/server

→ Vue đang tạo dev server kiểu unbundler với dự án Vite

Các công cụ JS thế hệ thứ ba có đặc điểm là

  • nhanh hơn

  • ESM first

  • Collapsed Layers: một công cụ làm tốt nhiều việc

  • Typesafe-er: có thể dùng mã TypeScript ở bất cứ đâu mà hầu như không cần cấu hình

  • Secure-er: về phụ thuộc và quyền hạn, v.v.

  • Polyglot: dùng kết hợp nhiều ngôn ngữ

  • Neo-Isomorphic: mã JS được chạy trước trên server khi build hoặc trước khi tới client

  • Kết quả của tất cả những điều này là mang lại trải nghiệm nhà phát triển tốt hơn (build nhanh, tooling tiêu chuẩn) và trải nghiệm người dùng tốt hơn (bundle nhỏ hơn, triển khai tính năng nhanh hơn)

  • Sự thay đổi cuối cùng của JavaScript khi nó chuyển từ Site Scripting Toy thành Full Application Platform

  • JavaScript có chết không?

Nếu dự đoán của Gary Bernhardt rằng tuổi thọ của JS là đến năm 2035 là đúng, thì thế hệ thứ ba sẽ là chặng cuối của JavaScript.

Brendan Eich đã thay đổi quan điểm từ việc JS có thể trở thành "Universal Virtual Machine" sang "WASM sẽ chiếm lấy vị trí đó".

Nếu cả hai ý kiến đều đúng thì "chúng ta hết hy vọng rồi" (nguyên văn là We're in the Endgame now = giờ là giai đoạn cuối cùng)

4 bình luận

 
xguru 2020-05-31

Bạn nên xem cùng với JavaScript: The First 20 Years https://vi.news.hada.io/topic?id=1714.

 
functor 2020-05-25

JS là một ngôn ngữ quá tự do buông lỏng nên.. về cuối cùng tôi mong WASM sẽ trở thành xu hướng chủ đạo.

 
sduck4 2020-05-25

Liệu WASM và JS sẽ phát triển theo hướng bổ trợ lẫn nhau chứ?

 
ffdd270 2020-05-25

Có vẻ thời đại thống trị của JS sẽ còn tiếp tục, nhưng triển vọng lại bi quan hơn tôi nghĩ. Có phải vì TS xuất hiện không..