AI đập đi xây lại Next.js

Tôi vừa theo nghiên cứu thông tin của Cloudflare với dự án Vinext, và thấy rằng chúng ta đang bước sang một chương mới. AI giờ đây không chỉ dừng lại ở việc code mấy cái app hay website đơn giản, nó đang trực tiếp đập đi xây lại cả một framework. Bài này chia sẻ góc nhìn của tôi về việc AI giờ bá đạo như thế nào, còn chi tiết sâu về kĩ thuật, những điểm nổi bật của Vinext và các thông số tôi nghĩ bạn nên đọc trực tiếp bài dưới đây.

How we rebuilt Next.js with AI in one week
One engineer used AI to rebuild Next.js on Vite in a week. vinext builds up to 4x faster, produces 57% smaller bundles, and deploys to Cloudflare Workers with a single command.

Bạn có thể nghiên cứu tại đây.

GitHub - cloudflare/vinext: Vite plugin that reimplements the Next.js API surface — deploy anywhere
Vite plugin that reimplements the Next.js API surface — deploy anywhere - cloudflare/vinext
One engineer used AI to rebuild Next.js on Vite in a week. vinext builds up to 4x faster, produces 57% smaller bundles, and deploys to Cloudflare Workers with a single command.
The Cloudflare Blog — Steve Faulkner.

Đi sâu vào kỹ thuật, Next.js được xây dựng dựa trên môi trường thực thi là Node.js, cho phép nó truy cập sâu vào các native modules như fs để truy cập hệ thống tệp, path để xử lý đường dẫn, hay module crypto để mã hóa. Tuy nhiên, khi đưa lên hạ tầng Edge của Cloudflare, nó lại trở thành rào cản vì V8 Isolates chỉ hỗ trợ các chuẩn Web APIs tinh gọn để đảm bảo tốc độ phản hồi nhanh. Trước đây, các giải pháp chạy Next.js trên Cloudflare thường phải sử dụng một lớp giả lập Node.js (polyfills), điều này vô tình tạo ra một gánh nặng tài nguyên, khiến kích thước gói tin bị phình to và thời gian khởi động (Cold Start) bị kéo dài đáng kể.

Cloudflare đã thay đổi cuộc chơi bằng cách dùng AI để viết ra Vinext theo ngữ cảnh (contextual rewriting). AI thực hiện các nhiệm vụ phức tạp: chuyển đổi toàn bộ hệ thống streams và buffers sang chuẩn Web Streams và Uint8Array, đồng thời viết lại các module bằng Web Crypto API. Đặc biệt, khi kết hợp với Rolldown (bundler dựa trên Rust sắp có trong Vite 8), tốc độ build production của Vinext nhanh hơn tới 4 lần và dung lượng client bundle giảm đến 57%. Điều này giúp loại bỏ hoàn toàn các lớp trung gian, cho phép Next.js chạy Native trên Workers.

Một điểm đột phá mà tôi thấy cực kỳ thông minh là Traffic-aware Pre-Rendering (TPR). Thông thường, Next.js sẽ phải render hàng ngàn trang tĩnh lúc build (SSG), làm thời gian build kéo dài. Vinext dùng AI và dữ liệu traffic thực tế từ Cloudflare để chỉ pre-render những trang thực sự có người xem (ví dụ: 200 trang chiếm 90% traffic). Những trang còn lại sẽ được render theo yêu cầu và cache lại sau.

Cách tiếp cận này cho thấy Cloudflare đang thực hiện một chiến lược: thay vì chờ đợi sự hỗ trợ từ tác giả framework, họ dùng AI để làm lại framework đó sao cho phù hợp nhất với hạ tầng của mình, trực tiếp cạnh tranh với lợi thế độc quyền của Vercel ở mảng deployment.

Đối với cộng đồng lập trình viên, sự xuất hiện của Vinext là một lời cảnh tỉnh về việc cập nhật kỹ năng trong thời đại mới. Việc dự án này được hoàn thiện chỉ bởi một kỹ sư và AI trong vòng đúng 1 tuần (với chi phí token chỉ $1,100) là minh chứng cho thấy AI đã đủ sức đảm nhận vai trò kiến trúc sư hệ thống. Điều này đòi hỏi lập trình viên phải chủ động chuyển tư duy từ việc viết code đơn thuần sang việc thiết kế kiến trúc. Khi AI đã giải phóng chúng ta khỏi code chay, giá trị cốt lõi của người làm kỹ thuật sẽ nằm ở khả năng giám sát, kiểm định và tư duy sáng tạo trong việc thiết kế những giải pháp đột phá. Khả năng hiểu rõ cách V8 Isolate hay cách Edge Runtime tối ưu hóa sẽ trở nên quan trọng hơn việc thuộc lòng các API của framework.

Sức mạnh của AI trong thời kỳ này không chỉ giúp con người làm việc nhanh hơn, mà là giúp chúng ta thực hiện được những điều trước đây vốn được coi là không khả thi do giới hạn về nguồn lực và thời gian. Vinext là một lời khẳng định rằng ranh giới giữa các nền tảng công nghệ đang dần bị xóa nhòa, mang lại sự tự do tối đa cho dev. Tương lai của phần mềm sẽ không còn bị giới hạn bởi framework, mà sẽ được định nghĩa bởi sự sáng tạo của con người.