JS truyền kì – chương 2: võ lâm dậy sóng

PHẦN 1: TẠI ĐÂY

Tóm tắt phần trước: JavaScript ban đầu bị xem là một ngôn ngữ “cùi bắp” ở client side. Với sự ra đời của AJAX và jQuery, JS bắt đầu được sử dụng nhiều hơn 

Hồi thứ tư – Thời đại hậu Ji Qui

Trước đây, hầu hết developer ở server side đều viết được chút ít JS ở client side. Sau này, JS được dùng để xử lý DOM, validate data, truyền nhận dữ liệu từ server. Việc này làm developer phải bỏ nhiều thời gian để code JS ở client side hơn. Vì lẽ đó, giang hồ dần phân hóa thành Tiền Tận Tông (Front-End developer) và Hậu Tận Tông(Back-end developer).

Môn sinh Tiền Tận Tông là những kẻ làm việc với giao diện, làm việc với HTML/CSS và viết JavaScript. Môn sinh Hậu Tận Tông là những kẻ làm việc với server side, thiết kế hệ thống và database, xử lý dữ liệu bằng PHP, C#, Java. Nhiều kẻ trâu bò xin bái sư luôn cả hai tông môn, không kiêng dè gì cả.

Giải thích về back-end và front-end cho dân ngoại đạo

Bọn học đồ trong Hậu Tận Tông bản tính rất hung hăng hiếu chiến. Nội bộ tông này được chia thành nhiều phái nhỏ (C# phái, Java phái, PHP phái, C++ phái), không khí lúc nào cũng giương cung bạt kiếm. Các phái này luôn tranh cãi qua lại về vấn đề võ công của tao là mạnh nhất, chiêu thức của tao là nhanh nhất.

Trái lại, nhân sĩ Tiền Tận Tông rất đoàn kết một lòng. Sau khi thành thạo JS, họ chuyển qua học Ji Qui Đại Pháp, thành thạo cả hai thứ này là đủ vốn liếng hành tẩu giang hồ. Thuở ấy, một số công pháp (thư viện) JS trôi nổi như YUI, MooTool, cũng có vài kẻ theo học, nhưng cũng chẳng cạnh tranh lại Ji Qui thần thánh.

Năm Kỉ Sửu (2009), một gã ma đầu thức tỉnh, một bộ công pháp đản sinh. Như một viên đá ném vào giữa mặt hồ phẳng lặng, giang hồ đang yên bình bỗng dậy sóng.

Bộ công pháp này tên gì? Nó vô song bá đạo đến nhường nào? Xem hồi sau sẽ rõ.

Hồi thứ năm – Ma đầu thức tỉnh

Chuyện kể rằng, xưa kia có một gã kì tài võ học võ công cao ngút trời. Gã nhập môn bằng JS và tự thân tu luyện đến cảnh giới phản phác quy chân. Tiếc thay, một sợi khôn xe, tay lẻ khó vỗ. Do biết mỗi JS, gã chỉ có thể yên phận làm front-end developer đến hết đời.

Phẫn chí, gã lên núi Tùng Sơn gieo mình xuống vực tự sát. Nhờ phúc duyên thâm hậu, gã té núi không chết, lại rơi trúng sơn cốc của Độc Cô Cầu Bại. Trong cái rủi có cái may, gã nhặt được hai quyển Hà Đồ, Lạc Thư thất truyền đã lâu. Sau ba ngày ba đêm bế quan nghiền ngẫm những điều trong sách, gã hợp nhất Google Engine V8 và một số tuyệt học khác lại làm một, sáng tạo ra một bí tịch với tên gọi NodeJS.

Một truyền thuyết khác về NodeJS, bảy phần giả ba phần thật

Ngày NodeJS ra đời, cả võ lâm sửng sốt (Nguồn). JavaScript nay chạy được cả back-end và front-end. Môn sinh Hậu Tận Tông cười vì mình có thêm 1 ngôn ngữ để lập trình server-side. Môn sinh Tiền Tận Tông thì lòng nhao nhao như lửa đốt, háo hức được viết những dòng code server-side đầu tiên bằng JS, ngôn ngữ lọt lòng của họ.

Trước cơn sóng dữ do mình gây ra, gã đại ma đầu chỉ cười nhạt, nụ cười thơ ngây như một đứa nhóc junior dev vừa code xong chương trình đầu tiên. Tên của gã là … Ryan Dahl.

Ryan_Dahl
Chân dung Ryan Dahl đại ma đầu, cha đẻ của NodeJS lừng lẫy giang hồ

Tháng 5 năm Kỉ Sữu (2009), Thiên Hùng tinh vẫn lạc, báo hiệu một thời đại loạn thế bắt đầu. Tiền Tận Tông đoàn kết nay bỗng chia bè kết mảng. Kẻ thích giao diện thì ở lại Tiền Tận Tông làm Front-End developer chơi với JavaScript, jQuery. Kẻ thích làm việc với hệ thống, với dữ liệu thì chuyển qua Hậu Tận Tông làm Back-End developer chơi với NodeJS và MongoDB. Huynh đệ anh em, mới ngày trước còn ôm vai bá cổ nhau, ngày nay vì NodeJS mà tiên phàm cách biệt.

Một bộ phận khác có thực tài, học lén tinh hoa của cả Tiền Tận Tông và Hậu Tận Tông, kéo nhau lên Hoa (Quả) Sơn khai tông lập phái. Mãn Tắc Tông ra đời từ đây. Giang hồ gọi môn sinh của phái này là Full-Stack Developer.

Nội bộ lục đục, liệu tương lại Tiền Tận Tông sẽ thế nào? Giang hồ loạn lạc ra sao khi NodeJS xuất thế? Mời quí vị xem tiếp hồi sau.

Hồi thứ sáu – Giang hồ đại loạn

Năm Canh Dần (2010), Google gia tộc bố cáo một công pháp mới với tên gọi Ăn Gô Đại Pháp (AngularJS) cho bình dân bá tánh. Bản thân Ăn Gô khá mạnh mẽ, hỗ trợ double-binding dữ liệu, dependency injection, ajax, giúp công việc lập trình web trở nên rất nhanh chóng và hiệu quả. Lại có Google gia tộc hậu thuẫn, Ăn Gô Đại Pháp nhanh chóng lớn mạnh.  Người người tu luyện, nhà nhà tu luyện Ăn Gô La, trong đó có cả bần đạo.

rise-of-angular
Nhà nhà, người người dùng AngularJS

Các cụ có câu con gà tức nhau tiếng gáy, trâu buộc thì ghét trâu ăn, quả là không sai. Do ganh ghét sự nổi tiếng của Ăn Gô Đại Pháp, năm Quý Tị (2011), Facebook gia tộc bố cáo thiên hạ rằng Ăn Gô La đại pháp chậm chạp, nặng nề, cho xuất thế một bộ chiêu thức gọi là Rối An Tâm Pháp (React).

Rối An Tâm Pháp chỉ là một bộ tâm pháp cường thân kiện thể, không thể dùng để rèn luyện nội công (chỉ là một library để render view). Do đó, Facebook lại tiếp tục công bố Phờ Lắc thần công và Rì Đắc thần công (Flux and Redux). Nghe đồn Rối An Tâm Pháp và Rì Đắt Thần Công kết hợp lại sẽ thành một bộ tuyệt học có thể dời non lấp bể. Nhân sĩ giang hồ vốn nhẹ dạ cả tin, lại tiếp tục tu luyện.

Do chịu ảnh hưởng của React, Google lại khai tử Ăn Gô Đệ Nhất (Angular 1), cho ra đời Ăn Gô Đệ Nhị (Angular 2). Những kẻ nào đã học Angular 1 đành ngậm ngùi tự cung,… nhầm, tự phế võ công học lại Angular 2. Phẫn nộ ngập trời, oán than đầy đất nhưng bọn người Google Gia Tộc vẫn chẳng mảy may quan tâm. Thế mới thấy ngao ngán cho cái sự đời.

1-MRPl_SNuRGJchb6eOAnkSA
Vì Ăn Gô Đại Pháp và Rối An Tâm Pháp mà môn sinh Tiền Tận Tông nay huynh đệ tương tàn

Theo chân Ăn Gô Đại Pháp và Rối An Tâm Pháp, người người rủ nhau khai tông tập phái: Meteor, VueJS, Express, Knockout, SocketIO, Ionic Framework… Tiền Tận Tông trước kia vốn đoàn kết nay bỗng năm bè bảy mảng, chẳng khác gì Hậu Tận Tông ngày xưa.

Đọc đến đây, hẳn các đạo hữu cũng thắc mắc: Tình hình võ lâm (tức JavaScript framework) náo loạn như thế, nên học thứ gì, bỏ thứ chi? Đừng lo, những phân tích thời cuộc, bí kíp phòng thân trong loạn thế sẽ có trong chương cuối: Quần hùng các cứ. Mong các đạo hữu đón đọc.

Hết chương 2

(Note: AngularJS là framework, ReactJS chỉ là library. Bản chất của chúng khác nhau, kẻ nào so sánh 2 thứ này với nhau sẽ bị giang hồ phỉ nhổ).

ITZone via toidicodedao

Chia sẻ bài viết ngay