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 JS đượ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
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.
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ắ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
- 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.
Fullstack Station Tips
React Js là từ khóa/cái tên được nhắc đến rất nhiều trong năm 2019, cũng như sẽ trở thành đối thủ cạnh tranh trực tiếp với Angular 5. 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.