Một phong trào ngày càng phát triển trong cộng đồng lập trình viên đang thách thức sự phức tạp của phát triển web hiện đại bằng cách quay trở lại với những cách tiếp cận đơn giản hơn. Sự chuyển đổi này bao gồm việc từ bỏ các framework frontend phức tạp và hệ thống build để ưu tiên cho HTML, CSS và JavaScript cơ bản - giống như phát triển web vào cuối những năm 2000.
Cuộc thảo luận bắt đầu với trải nghiệm của một lập trình viên khi xây dựng một hệ thống xếp hạng đơn giản sử dụng các công nghệ cũ và đã được chứng minh. Thay vì các stack dựa trên React hiện đại, họ đã chọn framework Sinatra của Ruby , cơ sở dữ liệu SQLite và server-side rendering. Kết quả là một ứng dụng nhanh, nhẹ đã khơi lại niềm đam mê lập trình của họ.
Lợi ích về hiệu suất khi chọn sự đơn giản
Các trình duyệt hiện đại đã phát triển đáng kể, khiến nhiều hệ thống build phức tạp trở nên không cần thiết cho các ứng dụng cơ bản. Các lập trình viên đang nhận ra rằng server-side rendering đơn giản có thể cảm thấy tức thì khi backend đủ nhanh. Cách tiếp cận này loại bỏ overhead của các JavaScript framework trong khi vẫn mang lại trải nghiệm người dùng xuất sắc.
Sự khác biệt về hiệu suất rất rõ rệt khi so sánh với các trang web hiện đại. Các trang web đơn giản tải nhanh và phản hồi ngay lập tức, trong khi nhiều ứng dụng đương đại gặp khó khăn với các JavaScript bundle cồng kềnh có thể làm crash trình duyệt trên các thiết bị cũ.
So sánh Ngăn xếp Công nghệ
Phương pháp Đơn giản (thời kỳ 2007):
- Backend: Framework Ruby Sinatra
- Cơ sở dữ liệu: SQLite
- Frontend: Biểu mẫu HTML thuần túy và render phía server
- Triển khai: rsync lên VPS
- Tổng lưu lượng mạng: Dưới 200KB mỗi trang
Phương pháp Hiện đại (thập kỷ 2020):
- Backend: Node.js / React với hệ thống build phức tạp
- Cơ sở dữ liệu: Nhiều dịch vụ và API
- Frontend: Framework JavaScript với các dependency npm
- Triển khai: Kubernetes /containerization
- Lưu lượng mạng: Thường lên tới vài megabyte mỗi trang
Sự nhiệt tình của cộng đồng đối với các cách tiếp cận tối giản
Cộng đồng lập trình viên đã phản hồi nhiệt tình với cách tiếp cận trở về cơ bản này. Nhiều lập trình viên báo cáo rằng họ tái khám phá niềm vui của việc coding khi được giải phóng khỏi các toolchain phức tạp và quy trình build. Khả năng nhanh chóng lặp lại và thử nghiệm mà không phải vật lộn với các file cấu hình đã chứng minh là rất giải phóng.
Bạn có thể quản lý state khá dễ dàng với các biến và một hàm rerender. React và các framework tương tự cung cấp cho bạn các cập nhật DOM chi tiết để tối ưu hiệu suất, nhưng đối với một ứng dụng đơn giản thì điều đó không thực sự quan trọng.
Quan điểm này phản ánh một nhận thức rộng lớn hơn rằng nhiều ứng dụng không cần đến sự phức tạp mà các framework hiện đại mang lại. Việc submit form đơn giản, tương tác cơ bản và hiển thị dữ liệu đơn giản có thể được xử lý hiệu quả với các công nghệ vanilla.
Khi nào các framework hiện đại vẫn có ý nghĩa
Tuy nhiên, cuộc thảo luận cũng thừa nhận những hạn chế của cách tiếp cận đơn giản. Các ứng dụng phức tạp với tương tác người dùng mở rộng, tính năng cộng tác thời gian thực hoặc quản lý state phức tạp vẫn có thể hưởng lợi từ các framework hiện đại. Insight quan trọng là việc khớp độ phức tạp của công cụ với yêu cầu dự án thay vì mặc định sử dụng các công nghệ mới nhất.
Một số lập trình viên lưu ý rằng các framework trở nên có giá trị khi phối hợp các nhóm lớn làm việc trên cùng một codebase. Cấu trúc và quy ước mà chúng cung cấp giúp duy trì tính nhất quán giữa nhiều người đóng góp, ngay cả khi chúng không cần thiết cho các dự án solo.
Ý nghĩa rộng lớn hơn đối với startup và các dự án nhỏ
Xu hướng này có ý nghĩa đặc biệt đối với các startup và dự án nhỏ thường over-engineer các giải pháp ban đầu của họ. Nhiều ứng dụng thành công có thể được xây dựng nhanh hơn và bảo trì dễ dàng hơn bằng cách sử dụng các công nghệ đơn giản hơn. Việc giảm độ phức tạp cũng có nghĩa là chi phí hosting thấp hơn và quy trình deployment dễ dàng hơn.
Phong trào này đại diện cho nhiều hơn chỉ là nostalgia - đó là một phản ứng thực tế đối với sự phức tạp ngày càng tăng của các công cụ phát triển web. Khi máy tính trở nên mạnh mẽ hơn và kết nối internet nhanh hơn, các tối ưu hóa hiệu suất đã thúc đẩy việc áp dụng framework có thể ít quan trọng hơn so với những gì đã được giả định trước đây.
Sự hồi sinh của các cách tiếp cận phát triển web đơn giản cho thấy rằng ngành công nghiệp có thể đã sẵn sàng đặt câu hỏi liệu sự phức tạp có luôn đồng nghĩa với tiến bộ hay không. Đối với nhiều dự án, con đường phía trước thực sự có thể bao gồm việc nhìn lại để tái khám phá những nguyên tắc cơ bản đã làm cho phát triển web trở nên dễ tiếp cận và thú vị ngay từ đầu.
Tham khảo: The Dumbest Thing I Could Do