Sự khác nhau giữa Angular và React
Hôm nay rảnh,lên mạng đọc linh tinh tình cờ đọc được bài viêt so sánh angular và react khá là hay nên mình viết lại chia sẻ cho mọi người cùng đọc cho vui nhé.
1.Giới thiệu
Là web developer,chúng ta cần phải nắm bắt theo xu hướng công nghệ để bồi dưỡng bản thân.Gắn bó với một công nghệ gì đó quá lâu hay thay đổi quá thường xuyên cũng là điều không tốt,và nó có thể gây hại nhiều hơn hơn cho bạn.
Khi bạn chọn một công nghệ mới để phát triển,bạn nên tìm hiểu về nó và thực sự hiểu là vì sao lại chọn nó,những gì nó có thể làm cho bạn,những hạn chế,ưu và nhược điểm gần như mọi thứ.
Và trong bài viết này sẽ nói về Angular và React.Hai công cụ phát triển frontend rất phổ biến hiện nay.
Front-end development: Xoay quanh mọi thứ bạn tạo ra mà người dùng có thể thấy ở ứng dụng của bạn.Nói một cách rõ ràng,nó là tất cả mọi thứ để làm với UI(giao diện người dùng) của ứng dụng.
Có ba yếu tố chính cần quan tâm:
- HTML: Sử dụng để xây dựng cấu trúc trang web của bạn(giống như bạn thiết kế một ngôi nhà thì html là các thành phần chính như móng nhà,cột kèo,cầu thang...).
- CSS: Được sử dụng để định dạng giao diện của các yếu tố cấu trúc khác nhau(Thằng này giống như sau khi đã thiết kế các thành phần chính của ngôi nhà thì phải trang trí cho ngôi nhà đó sơn màu gì,kích thước bao nhiêu...).
- Javascript: Một ngôn ngữ được sử dụng để mô tả các chức năng và xử lý các yếu tố động trên trang web.
Đây là những nguyên tắc cơ bản để xây dựng ứng dụng frontend
Vậy làm sao để Angular 1 framework và React một library so sánh với nhau.
Trước tiên chúng ta sẽ chia nhỏ vấn đề và tìm hiểu thế nào là framework và thế nào là thư viện.
2.Framework là gì?
Một Software Framework(có thể là frontend hoặc backend) bao gồm các tiêu chuẩn, mã code viết sẵn, làm cho việc phát triển các chức năng nhất định trở nên dễ dàng và nhanh hơn.Bạn sẽ có ít tự do hơn để viết code,khi mà bạn sẽ phải code theo kiến trúc của framework đặt ra.
3.Thế nào là Library?
Một library là một tập hợp của các functions và các thành phần liên quan.Mà bạn có thể sử dụng để hoàn thành một mục đích nhất định.Bạn có nhiều tự do hơn để thiết kế và xây dựng hệ thống khi sử dụng library.Nhưng điều đó làm tăng thêm tính trách nhiệm của coder để có thể sử dụng hiệu quả và tìm đúng library cho công việc,bởi vì với các dự án phát triển theo thời gian và trở nên nghiêm trọng hơn, việc sử dụng không đúng library trở nên nguy hiểm và khó quản lý hơn.
Sự khác biệt quan trọng nhất giữa framework và library là cách chúng tương tác với code của bạn.
Code của bạn gọi library trong khi framework gọi code của bạn ( thật là đau não :D).
Điều này còn được gọi là Inversion of Control.
Sau đây chúng ta sẽ đi đến với vấn đề chính ngày hôm nay.
4.Angular
Angular dựa trên Tyscript-Base, nền tảng ứng dụng web front-end mã nguồn mở,nó là một MVC framework được tạo bởi Google.MVC là một kiểu kiến trúc dành cho framework phát triển các giao diện người dùng,có ba thành phần chính trong kiến trúc MVC đó là Model, View, Controller.Các bạn có thể lên google tham khảo thêm về MVC nhóe :D.
Angular là một người khổng lồ khi tạo ứng dụng web động.Trong phiên bản Angular 5,Google đã hỗ trợ thêm progressive web apps rất tốt.
Các bạn chú ý tôi không sử dụng từ AngularJS.Đó là vì vào ngày 14/09/2016 team phát triển AngularJS đã phát hành Angular 2,viết lại hoàn toàn phiên bản AngularJS trước đó.
Vì vậy các phiên bản dưới Angular 2 được gọi là AngularJS và các phiên bản được nói bên trên được gọi là Angular 2,3,4,5... hoặc đơn giản là Angular.
5.React
React là một thư viện javascript dùng để xây dựng giao diện người dùng.Được tạo ra bởi Facebook,Instagram và cộng đồng.React đang phát triển với tốc độ ấn tượng.Ngoài phiên bản React nguyên thủy còn có 3 phiên bản riêng biệt của React: React-devtools, ReactJS.Net, React Native. Khác với React, React Native cũng khá phổ biến để tạo Native mobile apps.Nếu bạn quan tâm có thể xem thêm về những React Navtive tại đây
Điều này còn được gọi là Inversion of Control.
Sau đây chúng ta sẽ đi đến với vấn đề chính ngày hôm nay.
4.Angular
Angular dựa trên Tyscript-Base, nền tảng ứng dụng web front-end mã nguồn mở,nó là một MVC framework được tạo bởi Google.MVC là một kiểu kiến trúc dành cho framework phát triển các giao diện người dùng,có ba thành phần chính trong kiến trúc MVC đó là Model, View, Controller.Các bạn có thể lên google tham khảo thêm về MVC nhóe :D.
Angular là một người khổng lồ khi tạo ứng dụng web động.Trong phiên bản Angular 5,Google đã hỗ trợ thêm progressive web apps rất tốt.
Các bạn chú ý tôi không sử dụng từ AngularJS.Đó là vì vào ngày 14/09/2016 team phát triển AngularJS đã phát hành Angular 2,viết lại hoàn toàn phiên bản AngularJS trước đó.
Vì vậy các phiên bản dưới Angular 2 được gọi là AngularJS và các phiên bản được nói bên trên được gọi là Angular 2,3,4,5... hoặc đơn giản là Angular.
5.React
React là một thư viện javascript dùng để xây dựng giao diện người dùng.Được tạo ra bởi Facebook,Instagram và cộng đồng.React đang phát triển với tốc độ ấn tượng.Ngoài phiên bản React nguyên thủy còn có 3 phiên bản riêng biệt của React: React-devtools, ReactJS.Net, React Native. Khác với React, React Native cũng khá phổ biến để tạo Native mobile apps.Nếu bạn quan tâm có thể xem thêm về những React Navtive tại đây
Nhận xét
Đăng nhận xét