Những thư viện được khuyến nghị khi phát triển ứng dụng với React ở thời điểm hiện tại năm 2022
(robinwieruch.de)- Tạo dự án React: phía client dùng Vite/CRA, phía server dùng Next.js/Remix/Gatsby
- Quản lý state trong React: useState/useReducer, useContext, Redux
- Data fetching trong React: React Query (REST APIs, GraphQL APIs) + axios, Apollo Client
- Routing với React Router
- CSS styling trong React: CSS-in-CSS, CSS-in-JS/Emotion/Stitches, Functional CSS với Tailwind CSS
- Thư viện UI cho React: Material UI(phổ biến nhất), Mantine(khuyến nghị), Chakua UI(khuyến nghị), Ant Design, Radix, Primer, NextUI, Tailwind UI (không miễn phí), Semantic UI, React Bootstrap
- Thư viện animation cho React: Framer Motion (khuyên dùng nhất), react-spring (thường được khuyên dùng), react-motion, react-move, Animated (React Native)
- Thư viện visualization và biểu đồ trong React: Recharts, react-chartjs, nivo, visx, Victory
- Thư viện form trong React: React Hook Form + yup/zod
- Kiểm tra kiểu trong React: cứ dùng TypeScript
- Cấu trúc mã React: style và format: ESLint + Prettier
- Xác thực trong React: chọn dịch vụ/BaaS như Firebase, Auth0, AWS Cognito
- Hosting cho React: nếu muốn tự quản lý toàn bộ thì dùng Digital Ocean, nếu không thì Cloudflare Workers, Netlify hoặc Vercel (đặc biệt cho Next.js), nếu dùng Firebase thì dùng Firebase Hosting
- Testing trong React: Jest + React Testing Library (phổ biến nhất), Cypress
- React và cấu trúc dữ liệu bất biến: Immer
- Quốc tế hóa trong React: FormatJS, react-i18next
- Trình soạn thảo văn bản phong phú trong React: Draft.js, Slate.js, ReactQuill
- Thanh toán trong React: PayPal, React Stripe Elements hoặc Stripe Checkout
- Xử lý thời gian trong React: date-fns, Day.js, Luxon
- Ứng dụng desktop với React: Electron, Tauri, NW.js, Neutralino.js
- Phát triển di động với React: React Native, Expo
- React VR/AR: react-three-fiber, react-360, aframe-react
- Công cụ tạo prototype thiết kế cho React: Figma, Zeplin, Excalidraw, InVision
- Tài liệu hóa component React: Storybook, Docusaurus, Docz, Styleguidist
7 bình luận
Có vẻ như phạm vi của việc tạo prototype thiết kế mà tác giả bài gốc nghĩ tới chỉ ở mức mockup, nhưng nếu nói đến interactive prototyping thì khó có thể bỏ qua Framer.
https://www.framer.com/
Dạo này, ngoài redux thì các thư viện như recoil, zustand cũng đang được ưa chuộng.
Phần React Desktop Applications cũng có vẻ nên bao gồm cả electron.
Có vẻ như ngay cả với ứng dụng desktop thì trong bài cũng xem Electron là lựa chọn mặc định và khuyến nghị nhất nhỉ haha
Tôi đã sửa lại rồi. Cảm ơn nhé haha
Trong tài liệu về component React cuối cùng, ý là họ nói rằng bản thân mới chỉ dùng Storybook nên không thể khuyến nghị ngoài Storybook, nhưng có nghe rằng Docusaurus, Docz và Styleguidist cũng tốt, vì vậy có lẽ nên bao gồm cả Storybook.
À đúng rồi. Tôi đã sửa lại rồi~