React Js là gì?

React Js là gì?

Nội dung chính

React Js là gì?

React Js là một thư viện viết bằng javascript, dùng để xây dựng giao diện người dùng (UI). React được sử dụng rộng rãi và có hệ sinh thái đa dạng phong phú. UI tất nhiên là quan trọng, nhưng không phải là tất cả. Để phát triển ứng dụng hoàn chỉnh, một mình React Js là không làm được tất cả, bạn sẽ cần thêm:

  • Server side language: để xử lý logic và lưu trữ dữ liệu trên server.
  • HTML/CSS nếu bạn làm ứng dụng web.
  • Flux/Redux?: là một kiến trúc giúp bạn tổ chức code rõ ràng và sạch sẽ.
  • Objective C: nếu bạn sử dụng React để xây dựng app cho iOS

Liệu bạn có thấy khó hiểu hay đang tự hỏi React Js là cái gì mà ngoài học nó ra bạn còn phải học nhiều thứ khác như vậy? Hãy bình tĩnh và tiếp tục!

React Js có thể làm được những gì?

React Js là một thư viện javascript dùng để xây dựng UI, UI ở đây được dùng chính ở 2 nền tảng Web và Mobile. Ở lĩnh vực Web, sử dụng React Js có thể đem lại trải nghiệm tốt cho người dùng, cũng như khả năng Hot Reload giúp bạn lập trình nhanh hơn.

Ở lĩnh vực mobile, hãy đọc bài React Native là tương lai của lập trình di động. Ở bài này mình đã phân tích rất kỹ về React Native, mà React Js là nền tảng chủ đạo.

Ngoài React Js, hiện tại còn có các tên tuổi nổi tiếng khác như Angular Js hay Vue Js, mình cũng đã có bài phân tích so sánh toàn diện React Js và Vue Js.

Hướng dẫn học React Js

Nếu bạn là tay mơ

Hãy dừng lại tại đây, React không giúp bạn tạo một blog hay một site bán hàng hay tạo những hiệu ứng đẹp như các slide hình ảnh… Mình nghĩ không cần nhiều kiến thức để bắt đầu với React, điều bạn cần chỉ là đam mê với lập trình và muốn trở thành một lập trình viên thực thụ, React hoàn toàn không phù hợp với những người thích táy máy như jQuery hay WordPress.

Nếu bạn là Sinh Viên hay là Thực Tập

Nếu bạn là sinh viên đang tìm hiểu về một ngôn ngữ lập trình hay là thực tập đang tìm kiếm hướng đi cho mình, tôi khuyên bạn hãy bắt đầu với React. React được tạo ra với tiêu chí Learn One Write Everywhere. Bạn sẽ học ngôn ngữ, tư duy, kiến trúc một lần và có thể áp dụng vào ít nhất là 2 lĩnh vực đang rất nóng là web và mobile. Thêm nữa, nếu bạn nắm vững React sẽ là rất dễ để tiếp cận với Node JS – javascript phía server. Đặc biệt có rất nhiều công ty sẵn sàng trả mức lương hấp dẫn nếu bạn biết cả 2: Node JS và React – thậm chí chỉ cần một trong hai thứ bạn cũng đủ kỹ năng để làm việc trong doanh nghiệp.

Nếu bạn là một Dev không biết javascript

Bạn có muốn trở thành Full Stack Developer không? Nếu có, hãy bắt đầu với React. Nếu bạn đang chuyên sâu về một lĩnh vực, hãy cân nhắc để trở thành một Full Stack Developer.

Nếu bạn là một Web Front-end Dev

Hãy nghĩ về công việc của bạn, xu hướng và yêu cầu của khách hàng về Front-end ngày càng cao. Front-end không còn đơn giản là HTML/CSS và jQuery, mỗi ngày nó càng phức tạp, cần nhiều xử lý logic không hề thua kém back-end. Nếu bạn vẫn chưa hình dung được tôi đang muốn nói gì, hãy nghĩ về chức năng chat của Facebook và tạo một ứng dụng như vậy.

Nếu bạn viết tốt javascript và đang dùng Angular

Trước khi bắt đầu với React, tôi cũng đã sử dụng Angular JS cho một vài ứng dụng. Nếu được chọn framework tôi sẽ không sử dụng Angular JS. Tôi thấy Angular nặng nề, không linh hoạt như React. Đặc biệt, nếu bạn đã từng copy code dự án này để chuyển qua dự án khác, ví dụ như Login Form bạn sẽ hiểu tại sao Angular không thể sánh bằng React trong tính sử dụng lại (reusability). Bạn có thể đọc thêm so sánh giữa Angular và React tại đây. Ngoài ra, một ngày nào đó khi khách hàng của bạn nghe quá nhiều về React muốn sử dụng vào dự án, tôi nghĩ lý do đó cũng quá đủ để bạn bắt đầu học React JS hôm nay.

Bắt đầu học React JS như thế nào?

Như đã nói ở trên, React JS là một framework đơn nhất, nhưng để xây dựng được ứng dụng hoàn chỉnh, bạn cần nhiều thứ hơn nữa. Đây là danh sách các từ khoá được phân theo mức độ bạn cần phải có trước khi muốn nghiên cứu React:

  • Javascript: Ngôn ngữ xây dựng nên React, yêu cầu mức độ trung bình: các khái niệm “object”, “prototype”, “callback” là bắt buộc, nếu bạn chưa biết gì, tôi nghĩ bạn nên đọc tài liệu tại đây và thực hành trong ít nhất 3 tuần trước khi quay lại để bắt đầu.
  • HTML/CSS: yêu cầu mức độ cơ bản nhất.
  • Không cần biết:
    • jQuery: Thực sự là không cần thiết, tuy nhiên, nếu có là một lợi thế.
    • React: Tất nhiên bạn không cần phải biết về React.
    • Flux: Không cần.
    • Flexbox: Không cần.
    • Immutable JS: Không cần.
    • Objective C: Không cần.
    • Node JS: Không cần. Trở thành Fullstack Dev “để mai tính”
    • Java: (dùng cho React trên Android) Không cần.

Xem thêm bài Hướng dẫn bắt đầu học React Js để biết thêm chi tiết.

Fullstack Station Tips

React Js là từ khóa/cái tên được nhắc đến rất nhiều trong năm 2015, cũng như sẽ trở thành đối thủ cạnh tranh trực tiếp với Angular 2. Cho dù 2 cái tên này khác nhau về cấp độ framework với library, nhưng lựa chọn cái tên nào sẽ đưa bạn đi trên một con đường hoàn toàn khác nhau. Theo cá nhân mình, xu hướng mới của giới lập trình là chọn những thư viện nhỏ, rồi tổng hợp lại thành core cho nền tảng của mình. Cách làm này có điểm lợi là uyển chuyển, và không phụ thuộc vào các framework tức là khi cần thiết có thể thay thế. Dù sao thay thế 1 thư viện nó cũng dễ dàng hơn 1 framework. Nếu bạn đi theo hướng này, React Js là thư viện không nên bỏ qua!

Read more