Cộng đồng Upskills
Upskills
upskills.dev
Tham gia cộng đồng Discord để được hỗ trợ về các bài hướng dẫn và đặt câu hỏi.
Vu Nguyen
@nphivu414
Theo dõi tôi trên X để nhận cập nhật và tin tức mới nhất về Upskills.
Chương 2: Modern Front-End Development with React
Đây là Phần 2 của series Modern Front-End Development. Trước khi chọn framework, bạn cần chọn đúng architecture cho hoàn cảnh của mình.
Mình sẽ hướng dẫn cách match architecture decisions với product goals, giải thích vì sao React + Vite là lựa chọn mặc định mạnh, và đưa ra decision framework thực tế để chọn đúng tool cho đúng việc.
Yêu cầu
Architecture is how you arrange the pieces for your constraints.
Nội dung bài hướng dẫn
6 phần • khoảng 45 phút
Hỏi AI build cho một React app, bạn sẽ được Next.js. Hỏi Reddit thì được ba câu trả lời khác nhau. Hỏi Twitter thì được một cuộc cãi nhau.
Vòng lặp này lặp đi lặp lại mỗi vài năm: framework mới ra, community đổ xô ủng hộ, blog posts và tutorials tràn ngập internet, và bỗng nhiên nó thành lựa chọn "hiển nhiên". Rồi thứ tiếp theo xuất hiện và vòng lặp reset. Câu hỏi thật sự không ai trả lời: tool này có phù hợp với cái mình đang build không?
Quá nhiều lựa chọn tốt. Nhưng không rõ cái nào phù hợp.
Nghịch Lý Của Quá Nhiều Lựa Chọn Tốt
React ecosystem năm 2025 có nhiều tool chất lượng cao hơn bao giờ hết. Điều đó tốt. Nhưng nó cũng có nghĩa là chọn stack cho project mới giống kiểu này:
Năm constraints khác nhau. Năm câu trả lời khác nhau. Và mỗi câu trả lời đều đúng cho một project nào đó. Vấn đề không phải developer thiếu lựa chọn tốt. Vấn đề là hầu hết lời khuyên bỏ qua context hoàn toàn.
Tại Sao AI Hay Gợi Ý "xài Next.js"
AI coding assistant đã trở thành nguồn tư vấn architecture phổ biến. Bạn mở ChatGPT, Claude, hay Copilot và nói "giúp mình build React app cho [use case]" mà không cung cấp đủ context, gợi ý mặc định thường là Next.js.
Không phải vì Next.js luôn là lựa chọn đúng. Mà vì cách các model được train. Internet có rất nhiều tutorials, blog posts, Stack Overflow answers, và GitHub repos về Next.js. Khi model học được "hầu hết recommendations chỉ về X," nó nội suy thành "X là recommendation." Được recommend nhiều nhất và phù hợp nhất cho tình huống của bạn là hai thứ khác nhau.
Đừng Đọc Quá Nhiều Comments tranh cãi về tech
JavaScript ecosystem đã cãi nhau hơn một thập kỷ. jQuery vs Backbone. Angular vs React. Webpack vs Vite. Next.js vs Remix. Server Components vs SPAs. Những cái tên mới ra đời, nhưng các cuộc tranh cãi vẫn như cũ mà thôi.
Theo dõi những cuộc tranh cãi này không giúp bạn giỏi hơn. Bạn lướt qua một thread 200 comment mà phần lớn mọi người đang bảo vệ thứ họ đang xài, xong rồi lại tự cảm thấy sai sai với quyết định ban đầu của mình.
Building an internal B2B dashboard behind auth for 50 users. Thinking of just making a SPA with our existing REST API. Is that still a good choice?
Thứ quan trọng thật sự là học cách đánh giá. Khi framework hay pattern mới xuất hiện, thử hỏi: Nó giải quyết vấn đề gì? Project của mình có vấn đề đó không? Mình mất gì khi xài nó? Nếu câu trả lời không thật sự thuyết phục và hữu ích cho project của bạn, thì có lẽ không cần gấp phải xài nó.
Interview Lab
Mình đang xây dựng Interview Lab, một công cụ AI giúp bạn chuẩn bị cho buổi phỏng Frontend Engineer tiếp theo. Hiện đang ở giai đoạn beta, rất mong nhận được góp ý từ bạn!
Chia sẻ với mọi người
Về tác giả
NAB, Software Engineer
Hi, I'm Vu, a Software Engineer at NAB (National Australia Bank) with a love for creating web and mobile apps that don't just look cool but feel great to use. I've had the chance to work with some awesome companies over the years, picking up new tricks and tackling many kinds of challenges along the way.
Now, I'm thrilled to share what I've learned and help others through fun, interactive coding tutorials!