VoidZero gia nhập Cloudflare
(blog.cloudflare.com)- VoidZero là công ty đứng sau Vite, Vitest, Rolldown, Oxc và Vite+, và giờ toàn bộ đội ngũ VoidZero sẽ gia nhập Cloudflare
- Tuy vậy, các dự án đang được phát triển sẽ tiếp tục được duy trì theo hướng mã nguồn mở, trung lập với nhà cung cấp và do cộng đồng dẫn dắt
- Vite là nền tảng cho nhiều framework JavaScript như Vue, SvelteKit, Nuxt, Astro, Solid, Qwik, Angular, React Router và TanStack Start; Cloudflare đã rót 1 triệu USD vào quỹ hệ sinh thái Vite
- Environment API cho phép chạy mã máy chủ trong quá trình phát triển trên runtime thay vì Node.js, còn Cloudflare Vite plugin cung cấp cục bộ mô hình runtime giống Workers bằng
workerd - AI agent lặp lại việc tạo dự án, chạy máy chủ phát triển, đọc lỗi, kiểm thử, lint, format và triển khai bản xem trước, khiến tầm quan trọng của build nhanh, test nhanh, lỗi có cấu trúc và CLI nhất quán ngày càng tăng
- Công cụ Cloudflare sẽ không kéo Vite về phía Cloudflare, mà đưa các công cụ ứng dụng của Cloudflare lên trên Vite; về dài hạn sẽ tiến tới CLI
cf, các primitive trung lập nhà cung cấp cho full-stack và agent, cùng việc mã nguồn mở nền tảng Void
Việc gia nhập và các nguyên tắc được giữ nguyên
- VoidZero là công ty tạo ra Vite, Vitest, Rolldown, Oxc và Vite+, và với thay đổi này toàn bộ đội ngũ VoidZero sẽ gia nhập Cloudflare
- Vite, Vitest, Rolldown, Oxc và Vite+ sẽ tiếp tục duy trì theo mô hình mã nguồn mở, trung lập với nhà cung cấp và do cộng đồng dẫn dắt
- Vite sẽ tiếp tục giữ giấy phép MIT và mô hình phát triển công khai, đồng thời duy trì nguyên tắc rằng các ứng dụng xây bằng Vite phải có thể chạy ở bất cứ đâu
- Evan You và đội ngũ VoidZero sẽ tiếp tục dẫn dắt Vite, Vitest, Rolldown, Oxc và Vite+, còn Cloudflare sẽ đầu tư kỹ sư và nguồn lực cho các dự án này
- Tương tự khi Astro gia nhập Cloudflare, Astro cũng vẫn giữ tính chất mã nguồn mở và có thể triển khai ở bất cứ đâu, đồng thời tiếp tục lộ trình hiện có
Hệ sinh thái Vite và quỹ 1 triệu USD
- Vite được dùng làm nền tảng cho Vue, SvelteKit, Nuxt, Astro, Solid, Qwik, Angular, React Router và TanStack Start; Next.js cũng sẽ có triển khai dựa trên Vite trong vinext
- Cloudflare coi việc duy trì niềm tin đã tạo nên mức độ chấp nhận của Vite là mục tiêu ưu tiên hàng đầu, và tin rằng niềm tin đó phải được chứng minh bằng cách hỗ trợ dự án và cách thức phát triển
- Cloudflare sẽ rót 1 triệu USD vào quỹ hệ sinh thái Vite do đội ngũ cốt lõi của Vite vận hành để hỗ trợ maintainer và contributor
- Vite là một dự án lớn hơn cả VoidZero hay Cloudflare, và những người đã đóng góp vào việc xây dựng Vite cần tiếp tục tham gia vào chặng đường tiếp theo
Điểm giao thoa kỹ thuật giữa Vite và Cloudflare
- Sự hợp tác giữa Vite và Cloudflare bắt đầu từ Vite Environment API vào năm 2024; API này cho phép chạy mã máy chủ trong quá trình phát triển ở môi trường không phải Node.js
- Khi chạy
vite devvới Cloudflare Vite plugin, mã máy chủ sẽ chạy bên trong workerd, runtime mã nguồn mở vận hành Workers production - Durable Objects, D1, KV, R2, Workflows, Workers AI, Agents, Service Bindings và Workers RPC sẽ chạy cục bộ với mô hình runtime giống như production
- Environment API không ép buộc một máy chủ phát triển riêng cho Cloudflare, mà cho phép cấu trúc gồm cơ chế chung trong Vite và các triển khai theo từng nhà cung cấp
- Vite hiện đạt khoảng 129 triệu lượt tải mỗi tuần, còn
@cloudflare/vite-pluginđạt khoảng 14 triệu lượt tải mỗi tuần
Vòng lặp phát triển đang thay đổi vì AI
- Agent sử dụng máy chủ phát triển, bundler, linter, formatter và CLI để tạo dự án, chạy máy chủ phát triển, đọc lỗi, viết kiểm thử, rồi lặp lại lint, format và triển khai bản xem trước
- Nhiều ứng dụng do AI tạo ra bắt đầu từ ứng dụng Vite vì nó nhanh, được hiểu rộng rãi và tương thích tốt với dữ liệu huấn luyện cũng như hệ sinh thái rộng lớn
- Trong phát triển dựa trên agent, do số lần lặp còn nhiều hơn con người, build nhanh, test nhanh, lint và format nhanh, lỗi rõ ràng có cấu trúc và CLI nhất quán trở nên quan trọng hơn
- Vitest, Rolldown, Oxc, Oxlint và Oxfmt được thiết kế là các công cụ nhanh trong từng hạng mục, còn Vite+ gộp chúng vào một CLI, một mô hình cấu hình và ít thành phần hơn
- Bảng điều khiển Cloudflare được xây bằng Vite, Oxlint đang giúp tiết kiệm cho mã nguồn Cloudflare lượng thời gian kỹ thuật tính bằng nhiều ngày, còn framework harness cho agent của đội Astro là Flue cũng đang chuyển sang dựa trên Vite
Full-stack Vite và Cloudflare CLI
- Ứng dụng hiện đại phải xử lý route render phía máy chủ, API, tác vụ nền, queue, cơ sở dữ liệu, object storage, tính năng thời gian thực, xác thực, cũng như các khả năng dành cho agent và AI, nên vai trò của công cụ build không thể chỉ dừng ở việc tạo bundle
- Vite đang mở rộng theo hướng hiểu được nhiều phần hơn của ứng dụng trong khi vẫn giữ tốc độ, sự đơn giản và tính di động
- Nền tảng triển khai cho Vite là Void từng là nơi thử nghiệm xem framework ứng dụng hiện đại nên đảm nhận những gì, trải nghiệm triển khai nên như thế nào và có thể tích hợp toàn bộ vòng đời ứng dụng vào một toolchain đến mức nào
- Một phần bài học sẽ đi vào chính Vite dưới dạng các abstraction và hook trung lập nhà cung cấp cho backend, API, agent và triển khai, còn Cloudflare sẽ cung cấp triển khai hạng nhất cho các hook đó trên Workers và Developer Platform
- Các thay đổi trong chính Vite sẽ tiếp tục tuân theo quy trình đóng góp công khai như trước, và các tính năng thêm vào Vite không được dành riêng cho Cloudflare mà phải hoạt động ở mọi nơi Vite chạy được
- Cloudflare chọn hướng không đưa Vite về phía Cloudflare, mà đưa các công cụ ứng dụng của Cloudflare lên trên Vite
- Bản technical preview của CLI hợp nhất mới
cfđã được phát hành, và nền tảng cho trải nghiệm CLI dành cho ứng dụng sẽ là Vite cf devsẽ là siêu tập củavite dev, bổ sung runtime và bindings của Cloudflare trên cùng tốc độ, cùng hot module replacement và cùng mô hình plugincf buildhướng tới việc hiểu trực tiếp các dự án Vite mà không cần quy trình adapter, còncf deploynhằm giúp triển khai ứng dụng Vite lên Cloudflare dễ dàng hơn
Bước tiếp theo
- Trong ngắn hạn, Vite, Vitest, Rolldown, Oxc và Vite+ sẽ tiếp tục được phát hành, còn đội ngũ VoidZero sẽ tiếp tục đóng góp và dẫn dắt
- Cloudflare Vite plugin sẽ tiếp tục được cải tiến, và hướng tiếp cận Environment API để chạy mã máy chủ cục bộ trên đúng runtime sẽ tiếp tục được nâng cấp, bao gồm cả các runtime không thuộc Cloudflare
- Về dài hạn, Cloudflare CLI sẽ chuyển sang trải nghiệm được xây trực tiếp trên Vite, còn Vite sẽ có các primitive trung lập nhà cung cấp cho ứng dụng full-stack và agent
- Theo thời gian, kế hoạch là sẽ mã nguồn mở Void platform để những người khác có thể xây nền tảng riêng của họ trên Vite và Cloudflare
- Nếu muốn thử Vite trên Cloudflare ngay bây giờ, chỉ cần chạy
npm create vite@latestvànpx wrangler deploy
1 bình luận
Ý kiến trên Hacker News
Có bài đăng ngày 3 tháng 2 năm 2014, “Vue.js: JavaScript MVVM made simple (vuejs.org)”: https://news.ycombinator.com/item?id=7169288
Có vẻ Evan You học chuyên ngành lịch sử nghệ thuật và nghệ thuật studio, và đã phải học JavaScript để có thể nhanh chóng trình bày công việc tại Parsons School
Khi ở Google Creative Lab 5, anh ấy được truyền cảm hứng muốn cải thiện trải nghiệm AngularJS nên đã tạo ra Vue, và phần còn lại là lịch sử ai cũng biết
Không rõ cuối cùng thương vụ Cloudflare mua lại này sẽ có ý nghĩa gì, nhưng thật sự biết ơn framework và các công cụ tuyệt vời mà Evan cùng đội ngũ đã xây dựng suốt nhiều năm
Gần đây tôi cũng bắt đầu nghịch Cloudflare Pages và Workers, mà quá trình dựng app cơ bản vốn đã rất ít đau đớn, nên lần hợp tác này có vẻ sẽ khiến cuộc sống của tôi dễ dàng hơn
Rất đáng để nghe
Tôi tự hỏi liệu mô hình kinh doanh của các dự án kiểu này rốt cuộc có phải là 1. tạo ra công cụ cho lập trình viên thật phổ biến 2. gọi vốn 3. tuyển những nhân tài xuất sắc rồi 4. cầu nguyện cho một thương vụ acqui-hire để biện minh cho khoản đầu tư ban đầu hay không
Cũng tò mò các nhà đầu tư ban đầu cảm thấy thế nào về con đường acqui-hire này. Có lẽ hoặc là mức tiền đủ tốt để họ đồng ý, hoặc là họ thấy con đường tới doanh thu gần như bất khả thi hay không tồn tại
Nói một cách trung lập, các đối tác quỹ đầu tư mạo hiểm xem chúng như những phần trong cùng một danh mục đầu tư, nên nếu một đội không tự vận hành tốt thì có thể được nhập vào nơi khác có mục tiêu hoặc thị trường phần nào tương tự
Nói thẳng hơn, cuối cùng chuyện này cũng là về việc bạn quen ai và làm sao để mọi người đều có thể kể một câu chuyện thoái vốn thành công
Trong trường hợp này, sản phẩm cốt lõi dùng giấy phép MIT, nên cả đội có thể nghỉ vào thứ Sáu rồi sáng thứ Hai tiếp tục chính xác công việc đó dưới một tổ chức mới
Trong thời đại AI, một số thương vụ trong lĩnh vực này có vẻ nhằm vào nhân tài và sản phẩm
Trường hợp này cũng có vẻ như vậy. Vite là một sản phẩm tuyệt vời, và họ đã xây dựng được một đội ngũ rất giỏi
Bạn có thể sẽ ngạc nhiên nếu biết các công ty sẵn sàng trả mức premium lớn đến mức nào cho nhân tài
Cuối cùng công cụ либо xuống cấp, либо trở nên quá đắt, hoặc biến mất hẳn, và tôi đã quá mệt với việc phải refactor rồi di chuyển chỉ vì chủ sở hữu mới đưa ra quyết định tồi
Những thông báo mua lại kiểu này lúc nào cũng khiến tôi lo lắng. Người ta thường nói kiểu “không có gì thay đổi và lộ trình vẫn giữ nguyên”, nhưng chỉ cần tính toán cơ bản thôi cũng thấy kinh doanh không vận hành như vậy
Mặt khác, ở chỗ làm tôi buộc phải dùng Cloudflare, và với tổ chức quy mô vừa nơi tôi đang làm thì đó là một trải nghiệm khá tệ. Người ta hay phàn nàn rằng đó là một “trải nghiệm người dùng mang tính đối kháng”
Tôi cứ nghĩ sẽ tốt hơn nếu họ dùng tiền để cạnh tranh với Vercel ở trải nghiệm người dùng/nhà phát triển thay vì đi mua lại các dự án mã nguồn mở
Đáng buồn là tôi đã nghe cụm “trải nghiệm người dùng mang tính đối kháng” nhiều lần, và chúng tôi đang nỗ lực cải thiện điều đó. Nếu được, tôi rất muốn nghe thêm về những vấn đề bạn đang gặp phải
Giữ được độc lập thì lúc nào cũng tốt, nhưng đồng thời cũng có thể có những “ngôi nhà mới” tệ hơn nhiều, nên tôi nghiêng về phía cứ chờ xem và hy vọng mọi việc suôn sẻ
Tôi thích Vite. Miễn là tôi không quên là nó đang tồn tại trong dự án của mình. Nó đã biến gần như mọi thứ từng khiến người ta cảm thấy ngu ngốc trở thành không cần cấu hình
Nhưng tôi không vui với tin này
Tin về Astro hồi đầu năm nay cũng vậy
Đây rõ ràng là điều tốt cho những người đã tạo ra dự án, nhưng có gì đó ở các vụ mua lại kiểu này khiến tôi bất an
Chỉ là những gì đến sau đó hơi buồn. Cả hai chúng ta đều đã thấy chuyện này lặp đi lặp lại quá nhiều lần, và đã học cách lướt qua câu quen thuộc rằng “không có gì thay đổi và mọi thứ sẽ mãi tốt đẹp”
Vài năm trước tôi đã chuyển một dự án khá phức tạp, một monorepo có Rust WebAssembly bindings, từ Webpack sang Vite, và thời gian build khi phát triển lẫn build thực tế đã giảm từ vài phút xuống còn vài giây. Từ đó về sau tôi không thèm nhìn lại Webpack nữa
Tôi không biết nên có cảm xúc thế nào về tin này. Đặc biệt là khi chuyển từ Vite 7 sang Vite 8, dự án của tôi đã bị vỡ theo một cách không được tài liệu hóa, nhưng tôi vẫn lạc quan một cách thận trọng
Dù sao thì cũng chúc mừng Evan
Thêm một câu chuyện thú vị là Fred “fks” đã tạo ra Astro sau khi Snowpack không giành được traction
Việc “có thể đơn giản là quên mất nó tồn tại” là một chiến thắng lớn đối với tôi. Webpack có thể đã tốt hơn Grunt/Gulp, nhưng nó cực kỳ phức tạp
Tôi cũng hơi bất an. Không phải lúc nào cũng vậy, nhưng những nơi bị hấp thụ vào doanh nghiệp thường là nơi các dự án hay ho đến để chết
May mà trong thế giới mã nguồn mở vẫn có đủ những câu chuyện như Terraform→OpenTofu, Redis→Valkey
Từ góc nhìn của Cloudflare, lý do chuyện này đáng giá là vì nó có thể khiến AI đề xuất Cloudflare nhiều hơn
Các agent đã đang tìm đến Vite rồi. Một khi đã tìm đến Vite thì việc mặc định chọn Cloudflare tiếp theo là rất tự nhiên. Tương tự như cách họ hướng người dùng dùng Next.js sang thiết lập của Vercel
Đây có thể là một thương vụ mua lại trị giá 20 triệu USD, nhưng cũng có thể tạo ra hàng tỷ USD nhờ mức tăng SEO cho agent
Nhưng tôi đồng ý với lập luận nền tảng. Khi việc dùng mô hình ngôn ngữ lớn tăng lên, khả năng nó giúp giành thị phần trong mảng lưu trữ ứng dụng web là khá lớn
Lovable dùng Cloudflare nên có lẽ họ đang triển khai lên Cloudflare Workers
Nếu chỉ nhìn thuần túy từ góc độ giai đoạn build, các công cụ như Vite hay Bun có vẻ đã đạt được gần như mọi thứ có thể đạt được một cách đáng kể rồi
Nếu tôi là người tạo ra những công cụ như vậy thì chắc tôi cũng sẽ chuyển sang bước tiếp theo. Chúc may mắn, và cảm ơn vì tất cả trong thời gian qua
Hoặc họ có thể đầu tư vào việc đóng gói các phần tử HTML tùy chỉnh, thay vì giả định rằng bạn sẽ dùng một trong vài thư viện “component” không cần thiết, hoặc giả định rằng bạn sẽ không dùng component nào cả
Có rất nhiều hướng để các công cụ này phát triển, nhưng họ không có ý chí đi theo những hướng đó. Có lẽ vì đã có thứ gì đó “đủ tốt”, nên họ cũng chẳng tìm kiếm thứ “có thể tốt hơn” nữa
Cộng thêm vào đó là xu hướng tầng lớp quản lý trong các tổ chức phát triển cho rằng lập trình viên không nên đụng vào codebase nữa, và công việc thực tế nên do mô hình ngôn ngữ lớn làm. Vì vậy họ đang tạo ra đủ thứ đáng ngờ để làm hài lòng “agent”
Điều này không nhất thiết làm cuộc sống của lập trình viên khó hơn, nhưng xu hướng thì có vẻ như vậy. Bởi vì bắt mô hình ngôn ngữ lớn làm theo các phép nối chuỗi chính xác từng ký tự, đau đớn và khó hiểu, dễ hơn nhiều so với việc để nó khám phá thứ gì đó như một con người bẩn thỉu
Kết quả thực tế là các công cụ ngày càng kém thân thiện với con người hơn và thân thiện với robot hơn
Nên tôi không đồng ý. Vẫn còn những thứ có thể đạt được một cách đáng kể vì con người, và họ có vẻ không mấy quan tâm sâu sắc đến điều đó
Nếu Vite, Bun và uv chỉ là những dự án để “build nhanh hơn” thì đúng là có thể có quy luật lợi suất giảm dần. Nhưng việc Cloudflare, Anthropic và OpenAI đi mua lại cho thấy tầng này không hề kém quan trọng đi, mà đang trở nên mang tính chiến lược hơn
Các công cụ này nằm trên chuỗi cung ứng phần mềm. Chúng trải dài qua việc phân giải dependency, cấu trúc dự án, kiểm thử, build, runtime, đường dẫn triển khai, và ngày càng cả vòng lặp thực thi của các agent AI
Chúng định nghĩa con đường cơ bản để tạo ra phần mềm, và cũng là nơi mã do AI sinh ra được kiểm chứng khi va chạm với các dependency thực tế, quy trình build, kiểm thử và các ràng buộc triển khai
Vì vậy tôi không nghĩ là mọi việc có ý nghĩa đều đã làm xong. Giá trị đang dịch chuyển từ tốc độ build thuần túy sang quyền kiểm soát tầng workflow nơi phần mềm được lắp ráp
Cảm ơn vì đã làm rõ điểm quan trọng nhất ngay từ đầu rằng “Vite, Vitest, Rolldown, Oxc và Vite+ là mã nguồn mở, không bị khóa vào một nhà cung cấp cụ thể, và sẽ tiếp tục do cộng đồng dẫn dắt. Điều này không thay đổi”
Chỉ là tôi đã bị bỏng quá nhiều lần trong quá khứ nên giờ rất hoài nghi với các vụ mua lại. Phải để thời gian trả lời xem lời đó có được giữ hay không, nhưng ít nhất nó đã được ghi lại rõ ràng trong hồ sơ chính thức
Tôi cũng muốn biết liệu điều này có được đưa vào đâu đó trong hợp đồng mua lại hay tài liệu liên quan không
Vì thế tôi sẽ hiểu lời hứa đó theo kiểu “trong một thời gian thì nó vẫn sẽ là mã nguồn mở và vân vân”
Tôi thích Vite, nhưng lúc nào cũng thấy hơi tiếc vì không rõ nó có thể kiếm tiền bằng cách nào. Ngay cả toàn bộ VoidZero cũng có cảm giác hơi liều lĩnh.
Đó luôn là một trong những lý do khiến tôi ngần ngại làm ra những công cụ tuyệt vời. Dù sao cũng phải tìm cách kiếm sống.
Vì vậy, thật vui khi đội ngũ đã tạo ra nó nay có thể nhận được phần thưởng xứng đáng và đạt được tính bền vững.
Bạn phải bán cho nhóm người không muốn trả tiền cho công cụ và giá trị. Cuối cùng lại phải cạnh tranh với chính phiên bản miễn phí của mình, thứ mà chỉ cần vài phiên làm việc với tác nhân AI là có thể chỉnh sửa để đạt mức tương đương về tính năng.
Nếu nhìn theo góc độ ghi chép lại lịch sử thì là thế này
NPM → Microsoft
Vite → Cloudflare
Bun → Anthropic
Turbopack → Vercel
Remix → Shopify, chuyện này tôi gần như còn chẳng nhớ nổi
Biome, trước đây là Rome → độc lập nhưng được Depot hỗ trợ rất nhiều
SWC → độc lập
esBuild → độc lập
Tôi dùng RsBuild/RsPack do ByteDance hậu thuẫn
Svelte → Vercel
Astro → Cloudflare
Giấc mơ từ trước đến nay luôn là một framework hạng nhất cho Cloudflare Workers
Ở giai đoạn rất sớm, đúng theo nghĩa đen, nếu nhìn vào các bài blog và kho GitHub thì họ chỉ làm những bản demo nho nhỏ.
Sau đó suốt một thời gian dài họ tự nhận là đã trở thành “full-stack” nhờ có khả năng server-side rendering, nhưng khi đó mọi thứ quá tệ và cũng không tích hợp tốt với bộ công cụ của nền tảng Workers.
Điều này còn bị trộn lẫn kỳ quặc với thông điệp Pages, vốn không phải là full-stack theo cái nghĩa mà các nhà phát triển mong muốn.
Ngay cả việc làm cho nó chạy được trong môi trường phát triển cũng rất khó, và
wrangler devthời đó rất hạn chế. Nhân tiện, wrangler hiện tại thì rất tốt.Có thể nói Vercel đã giành mất bữa trưa của Cloudflare trong mảng này. Không phải điều gì đáng xấu hổ, chỉ là họ không thật sự nhắm trúng đối tượng nhà phát triển.
Rồi sau đó adapter xuất hiện một cách rất âm thầm và thực tế đã thay đổi cuộc chơi. Codebase cuối cùng cũng bắt đầu cho cảm giác có thể port sang Workers, và hỗ trợ nền tảng CF gần như đầy đủ cũng đến theo.
Giờ chúng ta đang sống trong kỷ nguyên AI, Cloudflare đã mua Astro, từng định tung ra một bản sao WordPress, và có vẻ như đã làm Next.js bằng vibe coding.
Tất cả những dòng chảy này đều là chuyện lớn và đã được chờ đợi từ rất lâu. Việc có dấu hiệu Workers sẽ còn được cải thiện thêm nữa thực sự rất mới mẻ.
Hơn nữa, Evan là một nhân vật huyền thoại đã liên tục mang đến những công cụ mà mọi người yêu thích, nên điều này lại càng tuyệt hơn.