Search…

Biên Niên Sử Angular

25/08/20205 min read
Tóm lược các giai đoạn hình thành và phát triển của Angular, từ AngularJS cho đến 1 nền tảng phát triển Fronte-end vững mạnh.

Vào thời điểm của bản gốc bài viết này, Angular hiện đang ở bản 5.2 (chuẩn bị release bản 6.0).

AngularJS đã cực kỳ thành công và được đón nhận nhiệt liệt khi mới ra mắt năm 2010. Tại thời điểm đó những thư viện khá phổ biến vào lúc đó như Dojo, Backbone và Knockout ở lĩnh vực phát triển ứng dụng web.

Năm 2016, core team (đội ngũ cốt lõi) của Google, để kế nhiệm cho sự thành công của AngularJS cho phát hành Angular2 chính là Angular. Angular đón nhận rất nhiều phấn khích lẫn chỉ trích.

2010 - Sự ra đời của AngularJS

AngularJS
AngularJS

Trước khi phát hành, một nhân viên Google là Miško Hevery đang trong quá trình phát triển một side project. Project này dự tính sẽ giúp xây dựng ứng dụng web dễ dàng hơn cho các project nội bộ mà anh đang làm. Project này sau này được biết đến như AngularJS (nghĩa là dấu <> của HTML).

Qua tay cộng đồng và được dùng để làm ra các ứng dụng. Ionic framework được xây dựng trên Apache Cordova của Ionic (trước kia là DriftyCo), cũng nhúng tay cho phép các nhà phát triển dùng AngularJS để tối ưu hoá các ứng dụng mobile cho họ.

Vài ông lớn lúc này bắt đầu tích hợp AngularJS vào công cụ của họ để dùng phát triển các ứng dụng web và mobile.

2014 - 2015 - Cuộc đại tu lớn

Vài năm sau khi phát hành, xu thế phát triển web dần thay đổi và AngularJS dần bế tắc.

Các bản cải tiến và tiêu chuẩn của JavaScript dần xuất hiện, AngularJS bắt đầu bị bỏ lại đằng sau. Quan trọng hơn hết là core team đã chạm đến giới hạn và đã làm những gì có thể để cải thiện framework nhằm đáp ứng nhu cầu đang lớn dần.

Core team và cộng đồng bắt đầu từ một project nội bộ nhỏ và phát triển rộng rãi đến các phân khúc như mobile và các ứng dụng doanh nghiệp lớn. Nhưng Angular không hề được thiết kế để làm điều đó khi Miško lần đầu tạo ra. Cộng đồng chỉ có thể gọt giũa cho phù hợp để Angular đáp ứng được nhu cầu.

Khi core team chuẩn bị phát hành phiên bản 2.0, họ không muốn bị ràng buộc bởi những thiết kế ban đầu của AngularJS. Họ muốn tạo một framework để giải quyết các khó khăn gặp phải khi viết các ứng dụng lớn và đa nền tảng và dẫn đến Angular phải được làm lại toàn bộ.

Một framework từng được yêu thích phải đập hết để xây lại. Tất cả những dự án bên thứ ba như Angular Material đều không còn dùng nữa.

AngularJS vs Angular

AngularJS 1.x

Luôn giữ số 1 qua các đời. Cho dù thay đổi lớn thế nào thì version chính vẫn luôn là 1.x.x.

Angular 2.0

Core team đã quyết định sẽ dùng sematic versioning theo cấu trúc (Major).(Minor).(Patch). Nếu có một sự thay đổi đáng kể nào được giới thiệu thì sẽ chuyển thẳng lên Major version. Khi phát hành bản đầu tiên đã có 3 thay đổi lớn (Angular bỏ phiên bản 3, nhảy từ 2 lên 4 để lấy các angular packages cho cân chỉnh).

2016 - Thời kỳ khủng hoảng

Angular

Các nhà phát triển gặp khủng hoảng, đập đi xây lại khiến các dự án AngularJS hiện tại có nguy cơ đối mặt với viễn cảnh tồi tệ nhất. “Làm sao để có thể hỗ trợ ứng dụng trong vòng 3 năm, 5 năm hoặc thậm chí 6 năm nữa?!”.

Không hề có một kế hoạch rõ ràng để chuyển ứng dụng AngularJS 1.x sang Angular 2.0.

Các nhà phát triển phải làm lại ứng dụng ngay cả khi Angular 2.0 vẫn còn beta, những gì nhận lại khá là thất vọng với cộng đồng nhà phát triển vì nhiều concept mới và thay đổi của từng đợt phát hành quá lớn. Phần lớn đã tìm những giải pháp thay thế như React và bỏ lại Angular.

Các phần mềm khi ở bản beta thường sẽ có nhiều thay đổi lớn. Chúng vẫn chưa hoàn thiện và giai đoạn đầu luôn bất trắc ngay cả khi tạo một project Angular mới. Kích thước build lớn, cú pháp lạ lẫm và nhiều concept mới đến như TypeScript.

2017 - nay - Hồi sinh từ tro tàn

Đến năm 2018: Angular đã có vài bản phát hành đáng kể để cố gắng ổn định. Từng đợt phát hành mang đến kích thước build nhẹ hơn, API ổn định hơn và hiệu năng nhìn chung tốt hơn.

Core team phải thiết kế lại Angular từ gốc để mang lại nhiều hơn những gì đã có trong phiên bản 1.x. Không như các thư viện khác như React, Angular thật sự cung cấp giải pháp cho từng vấn đề, từng khía cạnh khi viết phần mềm lớn. Các thư viện như React vẫn cần các thư viện bên ngoài để lấp đầy những mảnh ghép còn thiếu trong project.

Từ khi phát hành lần đầu, vài công cụ tuyệt vời như Angular CLI giúp cho việc phát triển Angular có nhiều trải nghiệm tuyệt vời. Các thư viện khác vì một Angular mới như Angular Material, Bootstrap và Ionic cũng đã cải tiến dùng trong môi trường production để thích hợp cho bản Angular mới này.

@Medium

IO Stream

IO Stream Co., Ltd

30 Trinh Dinh Thao, Hoa Thanh ward, Tan Phu district, Ho Chi Minh city, Vietnam
+84 28 22 00 11 12
developer@iostream.co

383/1 Quang Trung, ward 10, Go Vap district, Ho Chi Minh city
Business license number: 0311563559 issued by the Department of Planning and Investment of Ho Chi Minh City on February 23, 2012

©IO Stream, 2013 - 2024