Tổng quan về ReactJS

ReactJS là thư viện JavaScript được sử dụng để xây dựng các thành phần UI có thể tái sử dụng. React được sử dụng tại Facebook trong production, và instagram được viết hoàn toàn trên React.

Một trong những điểm hấp dẫn của React là thư viện này không chỉ hoạt động trên phía client, mà còn được render trên server và có thể kết nối với nhau. React so sánh sự thay đổi giữa các giá trị của lần render này với lần render trước và cập nhật ít thay đổi nhất trên DOM. React cũng có thể hiển thị trên máy chủ bằng Node và nó có thể cung cấp năng lượng cho các ứng dụng gốc bằng React Native. 

Tính năng của React

  • JSX - JSX là phần mở rộng cú pháp JavaScript. Không nhất thiết phải sử dụng JSX trong phát triển React, nhưng nó được khuyến khích.
  • Component - React bao gồm tất cả các component. Là một đoạn mã ngắn có ý nghĩa thể hiện một chức năng hay đối tượng nhất định, có thể tái sử dụng. Một ứng dụng React có thể có hàng chục, hoặc hàng trăm các component liên kết, tương tác với nhau. Bạn cần nghĩ mọi thứ như một component. Điều này sẽ giúp bạn duy trì mã khi làm việc trên các dự án quy mô lớn hơn.
  • Luồng dữ liệu một chiều và Flux - React triển khai luồng dữ liệu một chiều giúp bạn dễ dàng quản lý về ứng dụng của mình. Flux là một kiến trúc mà Facebook sử dụng trong khi làm việc với React. Flux không phải là một framework hay một thư viện (library). Nó đơn giản chỉ là một kiểu kiến trúc mới hỗ trợ thêm cho React, đồng thời xây dựng ý tưởng về luồng dữ liệu một chiều (Unidirectional Data Flow).
  • Giấy phép - React được cấp phép theo Facebook Inc. Tài liệu được cấp phép theo CC BY 4.0.

Ưu điểm của React

  • Reactjs cực kì hiệu quả: Reactjs tạo ra cho chính nó DOM ảo – nơi mà các component thực sự tồn tại trên đó. Điều này sẽ giúp cải thiện hiệu suất rất nhiều, vì DOM ảo JavaScript nhanh hơn DOM thông thường.
  • Có thể được sử dụng trên máy khách và máy chủ cũng như với các khuôn khổ khác.
  • Các mẫu thành phần và dữ liệu cải thiện khả năng đọc, giúp duy trì các ứng dụng lớn hơn.

Nhược điểm của React

  • Reactjs chỉ phục vụ cho tầng View. React chỉ là View Library nó không phải là một MVC framework như những framework khác. Đây chỉ là thư viện của Facebook giúp render ra phần view. Vì thế React sẽ không có phần Model và Controller, mà phải kết hợp với các thư viện khác. Do đó bạn vẫn cần chọn các công nghệ khác để có được bộ công cụ hoàn chỉnh để phát triển.
  • Khó tiếp cận cho người mới học Web