Cuộc chiến giữa các framework JavaScript đã có hồi kết

Ngày đăng: 18/04/2022   -    Cập nhật: 19/04/2022

Điểm mặt các framework trong cuộc chiến

Cuộc chiến giữa các framework là một chủ đề nóng trong cộng đồng JavaScript, và nó là một trong nhiều cuộc chiến thần thánh trong giới lập trình. Cuộc chiến diễn ra khốc liệt bắt đầu với jQuery, sau đó là AngularJS cho đến các framework hiện đại.
 

Nhiều framework đã thất bại, như Backbone hoặc Sencha, để lại tàn dư là hàng tấn legacy code phải duy trì. Những framework khác tồn tại, như jQuery, thật đáng ngạc nhiên khi vẫn có một cộng đồng lớn người sử dụng. Còn Angular, dường như không phát triển như mong đợi hoặc đã hứa hẹn.

jQuery

Nó có thể là framework lâu đời nhất còn tồn tại. Jquery rất phổ biến vì nó cố định khả năng tương tác giữa các trình duyệt, nhưng các ứng dụng lại rất khó mở rộng. Ngày nay, jQuery không phải là một trong những xu hướng chính, và cũng  không phải là lựa chọn tốt nhất cho hầu hết các dự án.
 

AngularJS

Angular JS đã ở chế độ LTS, và bị thay thế bởi người anh lớn của nó. Không còn nghi ngờ vì đó là một bước tiến nhảy vọt trong hệ sinh thái framework, và một trong số chúng ta vẫn bỏ lỡ nó.

>>> Tham gia khóa học angular tại NIIT - ICT Hà Nội để được hướng dẫn với lộ trình bài bản hơn.

Angular

Nhưng nó không còn là một thí sinh trong cuộc chiến framework nữa vì nó không còn được duy trì mang lại hiệu quả nữa.
 

Angular đến với thế giới để cạnh tranh với React. AngularJS đã trở nên cũ kỹ, nó gặp vấn đề về hiệu suất độ bền. Khi React trở nên tốt hơn, nhiều lập trình viên đã nhìn React với ánh mắt ghen tị. Angular đã hiện đại hóa AngularJS để tận dụng những cải tiến cuối cùng của ECMAScript 6, và cố gắng thực hiện những lời hứa hẹn để cạnh tranh hiệu quả với React.

Qúa trình học Angular thực sự rất khó. Nó đòi hỏi bạn cần hiểu nhiều khái niệm, và không phải mọi thứ đều trực tiếp dễ hiểu mà nó có rất nhiều ngõ cụt. Học tốt Angular rất khó: giống như học AngularJS, nhưng cộng với những khó khăn mới, ví dụ như RxJS hoặc dependency injection phân cấp.

Angular đã nhiều lần thất hứa. Ví dụ: mọi người đều mong đợi kể từ phiên bản V2 có một cách đơn giản để tạo các trang hiển thị phía máy chủ, nhưng hiện nay, ngày 24 tháng 2 năm 2022, bản thân trang web Angular.io không thể hoạt động nếu không có JavaScript.

Nhưng vấn đề lớn nhất của Angular là phân mảnh và nâng cấp phiên bản. Rất khó để nâng cấp phiên bản và quá khó đến nỗi người dùng không mạo hiểm để nâng cấp các ứng dụng của nó. Nó được thể hiện trên: npm website
 


 

VueJS

Nếu nhiều lập trình viên đang cần thứ gì đó hiệu quả hơn AngularJS, nhưng ổn định và dễ sử dụng hơn Angular thì Vue chính là câu trả lời. Vue trong hệ thống tạo mẫu khá giống với Angular gốc ban đầu, giữ được sự đơn giản của AngularJS, nhưng đồng thời cũng đạt được một số tính năng mạnh mẽ từ React.


 

Nhưng VueJS đã gặp phải một vấn đề nghiêm trọng trong phiên bản 1 và 2: nó xử lý các mảng không tốt và những người tạo ra VueJS đã đổ lỗi cho JavaScript vì việc lựa chọn thuật toán cập nhật kém hiệu quả đó. Nếu bạn không sử dụng một thư viện như Vuex hoặc Redux thì bạn có thể hoàn tthiện một ứng dụng với các vấn đề nghiêm trọng. Bạn có thể thấy ở đây một ứng dụng hoạt động trong AngularJS, nhưng không hoạt động trong VueJS.


Trích đoạn việc đổ lỗi cho JavaScript tạo ra các hạn chế của thuật toán nhận diện thay đổi.

Về lý thuyết, vấn đề này được giải quyết trong phiên bản 3. Tuy nhiên, các nhà sàng lập đã đổ lỗi cho Javascript mà không nhận lỗi về chính mình khiến cộng đồng lập trình thấy bất hợp lý.

SvelteJS

Nó là một framework đang phát triển trong cuộc chiến giữa các framework và đưa ra những hứa hẹn lớn. SvelteJS tuyên bố rằng sức mạnh chính của nó là dịch các component sang một ngôn ngữ mệnh lệnh, mà theo các nhà sáng lập, nó tốt hơn so với cách khai báo của React.
 


 

Thực sự SvelteJS sử dụng đơn giản hơn, nhưng việc dịch sang mệnh lệnh và tạo ra component được dịch không dễ dự đoán tưởng tượng. SvelteJS không thể phát hiện chính xác các thay đổi trong một số trường hợp. Khi đó, state có thể bị hỏng và các chế độ xem không được cập nhật chính xác. Vấn đề này làm dấy lên nhiều lo ngại đến mức khó có thể biện minh cho bất kỳ dự án nào trong SvelteJS, giống VueJS trước đó.

StencilJS

Về mặt kỹ thuật, nó không phải là một framework, mặc dù nó được coi là một framework. StencilJS cho phép viết một component và dịch nó sang các framework khác. Ngày nay, nó dịch các component sang các component Angular, React, Vue và WebComponents.

Nhưng, có một cái gì đó tò mò khi học framework này. Nó thực sự giống với một thứ khác, phải không?

 

Mitosis

Có thể bạn chưa nghe về Mitosis, nhưng đó là thứ đã khiến tôi tạo ra bài viết này. Mitosis là framework mới nhất được tạo ra bởi Misko Hevery, tác giả của Angular. Đúng vậy, Misko đã tạo ra một khuôn khổ khác sau Angular.

 

Mitosis có cùng mục đích với StencilJS, nó chuyển các component của nó sang nhiều framework. Và tiện đây tôi hỏi bạn code của Mitosis có giống với bất kỳ framework nào khác không?


React

React là một trong những framework hiện đại lâu đời nhất, với hơn 10 năm trong kho lưu trữ npm. Mặc dù đã thay đổi rất nhiều nhưng nó vẫn có khả năng tương thích với hầu hết các phiên bản trước đó. Và tất cả những thay đổi đã trở nên tốt hơn. Một số người nói rằng React with hooks đã tạo ra một framework thậm chí còn tốt hơn.

 


Và framework chiến thắng là…Nhưng chất lượng tốt nhất của React không phải là nó có hook, hay bất kỳ chức năng hiển thị nào, mà ngược lại. React đã thúc đẩy các tiêu chuẩn mới nhất của JavaScript và nó đã thúc đẩy JSX. React nó không còn là một framework nữa, có thể nó chưa bao giờ là như vậy, nó chỉ là một thư viện. Nó đã đẩy mạnh các tiêu chuẩn đến nỗi cuối cùng, nó đã tự xóa mình khỏi mã người dùng.

JSX. Chính là React, nhưng không phải bản thân React, mà là triết lý đằng sau nó. Bản thân React là một thư viện, nhưng nó có thể được thay thế bằng nhiều thư viện khác, như Preact hoặc React Native. Nhưng nếu bạn xem xét kỹ, StencilJS hoặc Mitosis rất giống với React, và đó không phải là sự trùng hợp ngẫu nhiên, đó là bởi vì:

«Framework tốt nhất là framework tự loại bỏ khỏi mã người dùng.»

>>> Tham gia khóa học React tại NIIT - ICT Hà Nội để được hướng dẫn với lộ trình bài bản hơn.

React tận dụng mạnh mẽ JavaScript và JSX —JavaScript có nhúng XML— và mã người dùng không phù hợp với React đến nỗi chỉ với một vài chỉnh sửa, một mã giống chính xác có thể hoạt động trong các framework khác.

Vì vậy, không nghi ngờ gì nữa, React là người chiến thắng trong cuộc chiến framework. Bởi vì nó không phải là một framework bên trong mã người dùng.
 


 

HỌC VIỆN ĐÀO TẠO CNTT NIIT - ICT HÀ NỘI
Học Lập trình chất lượng cao (Since 2002). Học thực tế + Tuyển dụng ngay!
Đc: Tầng 3, 25T2, N05, Nguyễn Thị Thập, Cầu Giấy, Hà Nội
SĐT: 0383.180086
Email: hello@niithanoi.edu.vn
Fanpage: https://facebook.com/NIIT.ICT/
 
 
#niit #icthanoi #niithanoi #icthanoi #hoclaptrinh #khoahoclaptrinh #hoclaptrinhjava #hoclaptrinhphp #java #php #python

Bình luận Facebook
Khóa học liên quan đến bài viết

FRONT-END VỚI REACTJS VÀ REACT NATIVE

95h (5,5 tháng)
Khóa học duy nhất tại Hà Nội giúp bạn trang bị kiến thức đa nền tảng về Front-end. Với khóa học này, bạn hoàn toàn có thể làm chủ công nghệ phát triển ứng dụng mobile với React Native đồng thời xây dựng được các Trang Web bằng ReactJS...

Khóa học Java Full stack (IJFD)

104 giờ
Học lập trình Java Fullstack với khóa học được xây dựng theo lộ trình bài bản, từ JAVA CƠ BẢN đến JAVA WEB và nâng cao về JAVA FRAMEWORK như: Spring Boot, Hibernate

KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)

48 giờ
Khóa học Angular & TypeScript (Front end) sẽ giúp bạn làm chủ được nền tảng Angular từ đó phát triển được các ứng dụng mạnh mẽ, đa nền tảng.
Mục lục
Đăng ký tư vấn
Nhân viên gọi điện tư vấn miễn phí sau khi đăng ký
Được cập nhật các ưu đãi sớm nhất
Hotline: 0383180086
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Hãy đăng ký để nhận những thông tin mới nhất về học bổng mới nhất tại NIIT - ICT Hà Nội
top
Đóng lại Đăng ký học tại NIIT - ICT Hà Nội
6260+ học viên đã theo học tại NIIT - ICT Hà Nội và có việc làm tốt trong ngành lập trình. Nắm lấy cơ hội ngay hôm nay!
Chọn khóa học
  • KHÓA HỌC LẬP TRÌNH FRONT END VỚI REACT.JS
  • KHÓA HỌC LẬP TRÌNH PHP WEB
  • Khóa học PHP Full stack [2023] cho người mới bắt đầu
  • Khóa học BIG DATA với Hadoop và Spark
  • Khóa học Lập trình Android tại Hà Nội
  • [Tuyển sinh 2023] Lập trình viên Quốc tế DigiNxt
  • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại Hà Nội
  • LẬP TRÌNH GAME
    • Khóa học Lập trình Game Unity
  • LẬP TRÌNH WEB FRONT END
    • KHÓA HỌC PYTHON HƯỚNG ĐỐI TƯỢNG
    • KHÓA HỌC ANGULAR & TYPESCRIPT (FRONT END)
  • LẬP TRÌNH WEB BACK END
    • LẬP TRÌNH JAVA WEB VỚI FRAME WORK
    • Lập trình Web với Django
    • Lập trình PHP với Laravel Framework
  • CHƯƠNG TRÌNH ĐÀO TẠO ỨNG DỤNG CÔNG NGHỆ
    • Khóa học Tiền lương & Phúc lợi (C&B Excel) tại TP HCM
  • LẬP TRÌNH WEB FULL STACK
    • Khóa học Java Full stack (IJFD)
  • LẬP TRÌNH MOBILE
    • FRONT-END VỚI REACTJS VÀ REACT NATIVE
    • Lập trình Android Nâng cao
  • ĐÀO TẠO CHO DOANH NGHIỆP
    • KHÓA HỌC BUSINESS ANALYSIC TỪ CƠ BẢN ĐẾN NÂNG CAO 2023
    • Khóa học Magento: Làm chủ CMS TMĐT lớn nhất
    • Khóa học IOT: Xây dựng Sản phẩm IOT với Raspberry Pi
    • Khóa học Automation Testing Chuyên nghiệp
  • KHÓA HỌC DỰ ÁN
    • Học sử dụng bộ Office: Word, Excel, Power Point, Mail chuyên nghiệp
  • KHÓA HỌC KHÁC
    • VBA Excel Toàn Tập (Cơ Bản - Nâng Cao)
    • VBA Excel Nâng cao
    • Khóa học JMeter: Performance Testing
    • Khóa học Tester đạt chuẩn Quốc tế ISTQB Foundation Level
    • Khoá Học Tester đạt chuẩn quốc tế ISTQB Advanced Level
Bạn chưa chọn khóa học cần đăng ký
Tên không được để trống
Số điện thoại không được để trống
Email không được để trống
Đăng ký học thành công!
Cảm ơn bạn đã đăng ký học tại NIIT - ICT HÀ NỘI!