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




Nhận xét

Bài đăng phổ biến từ blog này

Cài đặt SSL cho website sử dụng certbot

Xây dựng một hệ thống comment real-time hoặc chat đơn giản sử dụng Pusher

CÁC BÀI TẬP SQL CƠ BẢN - PART 1

Xây dựng một hệ thống tracking hành vi người dùng (phần 1)

Xây dựng một hệ thống tracking hành vi người dùng (phần 2)

Enterprise architecture trên 1 tờ A4

Web caching (P2)

Bàn về async/await trong vòng lặp javascript

Web caching (P1)

Cài đặt môi trường để code website Rails