1 điểm bởi GN⁺ 4 giờ trước | 1 bình luận | Chia sẻ qua WhatsApp
  • Chạy các gói npm thực tế bằng Ant Silver engine tự phát triển, nhấn mạnh một binary đơn lẻ khoảng 8,6MB và tốc độ khởi động nhanh
  • Không phải cấu trúc bọc quanh V8·JSC·SpiderMonkey; hiển thị compat-table 100% và tuân thủ WinterTC, đồng thời hỗ trợ Hono·Elysia·TypeScript·React·Rolldown·Wasm, v.v.
  • Trong phép đo cold start khi nạp Hono, đăng ký 2 route rồi thoát, Ant ghi nhận 5,4ms, ngắn hơn Bun 12,8ms, Deno 24,8ms và Node.js 31,1ms
  • Cài đặt gói nhanh hơn npm tới 40 lần; có thể chạy trực tiếp TypeScript và phục vụ export fetch mặc định, nên không cần build riêng hay adapter framework
  • Cung cấp sandbox cách ly VM cho mã không đáng tin cậy và registry công khai ants.land tương thích giao thức npm; có thể dùng trên arm64 và x86_64 của macOS·Linux mà không cần toolchain riêng

Engine riêng và luồng phát triển nhanh

  • Ant là runtime JavaScript hiệu năng cao được xây dựng từ đầu, phân phối dưới dạng binary đơn lẻ di động khoảng 8,6MB, bao gồm Ant Silver engine
    • Không phải wrapper dựa trên V8·JSC·SpiderMonkey
    • Đạt 100% trên compat-table và được hiển thị là WinterTC Conformant
    • Chạy các hệ sinh thái Hono·Elysia·TypeScript·React·Rolldown·WinterTC·Wasm
  • Hiệu năng cold start

    • Nạp Hono, đăng ký 2 route rồi thoát để chỉ đo chi phí phân giải và khởi tạo module
    • Ant: 5,4ms
    • Bun: 12,8ms
    • Deno: 24,8ms
    • Node.js: 31,1ms
  • Cài đặt gói

    • Có thể cài gói bằng lệnh ant i hono; trong ví dụ, việc cài 1 gói hono@latest hoàn tất trong 155ms
    • Nhấn mạnh tốc độ cài đặt nhanh hơn npm tới 40 lần và không cần thiết lập công cụ quản lý gói riêng
  • Chạy server và TypeScript

    • Vì cung cấp export fetch mặc định của tệp dưới dạng server, các framework như Hono có thể chạy mà không cần adapter
      • Khi chạy bằng ant server.js, trong ví dụ mặc định nó lắng nghe tại http://localhost:3000
    • Tệp TypeScript có thể chạy trực tiếp bằng ant app.ts
      • Không cần chỉnh tsconfig, bundler, thư mục dist, hay bước tsc && node dist/app.js

Thực thi cách ly và hệ sinh thái gói

  • Sandbox dựa trên VM

    • Sandbox của ant:sandbox chạy JavaScript không đáng tin cậy bên trong ranh giới cách ly VM, vượt ra ngoài việc kiểm tra quyền đơn thuần
    • Mỗi sandbox sử dụng một VM KVM hoặc Hypervisor.framework độc lập
    • Mount filesystem được giữ ở chế độ chỉ đọc nếu không được cấp quyền ghi một cách tường minh
    • Mạng mặc định bị chặn toàn bộ và chỉ chuyển tiếp các cổng được chỉ định
  • Registry gói công khai

    • ants.landregistry gói công khai dành cho Ant
    • Sử dụng giao thức npm nên có thể truy cập không chỉ từ Ant mà cả npm·Yarn·pnpm·Bun
    • Gói được cài bằng scope hoặc tên thông thường, và cũng có thể dùng trong trình duyệt thông qua esm.ants.land
    • Đăng nhập bằng ant land login và phát hành gói bằng ant land publish
    • Thông tin registry bao gồm điểm 0~100 phản ánh tài liệu·giấy phép·khả năng tương thích
    • Hỗ trợ arm64 và x86_64 trên macOS và Linux, không cần toolchain riêng

1 bình luận

 
Ý kiến trên Hacker News
  • Tôi code với AI cả ngày mỗi ngày, nhưng tôi nghĩ vấn đề này được nêu ra từ tháng 3 vừa rồi vẫn đáng để nhắc lại
    Dù sau đó mã đã được viết lại, việc codebase AGPL cũ chiếm phần đáng kể trong công việc ban đầu khiến cách nói “tự làm từ đầu” hơi khó chịu
    Theo thread đó thì sau khi bỏ phiên bản cũ, các tác giả gốc dường như cũng không quá bận tâm, và mã hiện tại có hình dạng lẫn cấu trúc khác đi nên có vẻ đúng là đã được viết lại. Tôi thực sự thích tổng thể công việc này nên cứ tiếp tục, nhưng mọi người cần cẩn trọng

    • Nhưng bài viết này không giống như được viết bởi người đã tự triển khai một JavaScript engine
      Nó tạo cảm giác như lịch sử commit Git do một LLM tạo ra, có vẻ đã lấy mã từ các JavaScript engine khác, rồi lại nhờ một LLM khác viết thành bài blog, nên vừa khó hiểu chuyện gì đã xảy ra, vừa càng khó tin tưởng dự án hơn
    • Vấn đề đó nói về mã vào tháng 12/2025, khi dự án hoàn toàn khác bây giờ
      Khoảng tháng 2, codebase cũ gần như đã bị xóa và một hệ thống đáng tin cậy hơn nhiều được thiết kế lại từ đầu. Khi đó tôi biết mã cũ gần như toàn bộ là sản phẩm AI chất lượng thấp, nhưng đó chưa phải ưu tiên lớn nhất, còn bây giờ thì không có dòng mã nào chưa qua rà soát và kiểm thử được phép lọt vào
  • Đã có Apache Ant rồi, nên tôi thắc mắc vì sao lại đặt tên là Ant thay vì “Antjs” hay “Ant.js”: https://ant.apache.org

    • Ngay trong hệ sinh thái JavaScript cũng đã có Ant Design rất lớn chiếm tên này rồi: https://ant.design/
    • Có lẽ chỉ khi muốn tạo ấn tượng ban đầu tệ với những người đã code vài chục năm thì mới chọn cái tên Ant
    • Tôi là người dùng và cộng tác viên đầu tiên bên ngoài Sun Microsystems khi James bàn giao Apache Ant, nhưng tôi hoàn toàn không bận tâm chuyện người khác dùng cùng cái tên
    • Ban đầu tôi tưởng đây là framework của Ant Group bên Alibaba. Vì Ant Design cũng xuất phát từ đó
  • Quá trình làm ra phiên bản đầu tiên chỉ trong một tháng nằm ở bài đầu tiên, còn quá trình tiếp nối vài tháng sau được viết trong bài thứ hai
    Tôi không biết việc xây từ đầu một runtime và cả hệ sinh thái mới có hợp lý về mặt kinh tế hay không, nhưng có vẻ chúng ta đã bước vào giai đoạn mà phần mềm từng cần cả một team giờ đây có thể do một nhà phát triển làm ra, và đây mới chỉ là khởi đầu

    • Có ghi rõ rằng Ant Silver, phần engine, là tự làm
    • Nếu chỉ là LLM phun ra mã mà nó học được từ dữ liệu huấn luyện thì cũng không ấn tượng lắm
      Tôi muốn thấy các dev cá nhân tạo ra phần mềm mới mà trước đây ngay cả team cũng chưa làm được. Tôi rất thiện cảm với AI nhưng đã quá mệt với kiểu thổi phồng quảng bá liên miên
  • Tôi từng đùa rằng CLI ant của Anthropic chẳng thèm để ý tới Apache ant, giờ thì lại có thêm ant của JavaScript

    • Tôi cứ tưởng chỉ mình tôi còn nhớ Apache Ant. Tên gọi thì đúng là đang cạn dần, nhưng Ant từng là một công cụ nền tảng rất có ảnh hưởng
    • Tôi chưa từng thấy ai dùng CLI ant của Anthropic cả
  • Tôi không quá rành hệ sinh thái hay runtime JavaScript, nhưng cũng hơi ngạc nhiên khi nó cùng lúc tuyên bố kích thước nhỏ hơn, khởi động nhanh hơn, sandboxing và hiệu năng cạnh tranh
    Tôi tò mò đâu là nhận định cốt lõi hay lựa chọn thiết kế đã mang lại những lợi thế đó so với các stack JavaScript trưởng thành và tối ưu hóa cao hiện nay, hay cú đánh kỹ thuật lớn nằm ở đâu

    • Như đã được nói ở chỗ khác trong thread, dự án này có vẻ là Elk khởi đầu năm 2019 được LLM viết lại: https://github.com/cesanta/elk
    • Deno thực tế đã có gần như mọi tính năng thấy ở đây, lại là một dự án trưởng thành và nghiêm túc, được viết từ trước thời LLM và có đội ngũ vững chắc đứng sau
      Nó có thể không nhanh nhất, nhưng chỉ vì “nhanh hơn X” thì rất khó để chấp nhận đưa vào một runtime mới. Các lựa chọn thiết kế của dự án này trông giống như kết quả việc Claude hoặc Codex sao chép phần lớn codebase Elk
  • Tôi hiểu chuyện runtime, engine và kiếm tiền qua Colony, nhưng tôi không chắc có cần cả registry riêng, package manager riêng, Ant Desktop, sandbox, rồi cả treatjs không rõ là gì hay không
    Với một JavaScript runtime, tôi chỉ mong nó làm thật tốt một việc là chạy JavaScript, nên tôi thắc mắc vì sao ai cũng hướng tới một hộp công cụ tích hợp, và dự án này đã trông khá phức tạp rồi

  • Nói là “tốc độ gần V8” nhưng trong benchmark zoo.js thì có vẻ còn rất xa: https://zoo.js.org/
    Nếu hiệu năng không tăng mạnh kể từ ngày 10/02/2026 thì cách diễn đạt này không đúng

    • Từ tháng 2 trở đi, engine thực chất đã được viết lại gần như hoàn toàn nên hiệu năng cải thiện rất nhiều
      Khi đó nó chủ yếu chạy như một interpreter và còn thiếu nhiều phép toán JIT, và sắp tới cũng sẽ đưa benchmark vào các bản nightly build
  • Điều đầu tiên đập vào mắt tôi là sandboxing. Tôi không hiểu vì sao Node và npm không cung cấp mặc định chuyện này, vì nó sẽ giúp giảm mạnh worm và các cuộc tấn công chuỗi cung ứng

    • Theo phần mô tả ở cuối trang, VM trong “VM isolated sandbox” không phải là máy ảo JavaScript mà là hypervisor
      Nếu đã đang chạy bên trong một máy ảo mà còn cần nested virtualization thì chưa chắc đã được hỗ trợ, và tốc độ hay hiệu quả cũng khó mà tốt
    • Deno đã có sẵn tính năng đó rồi. Tôi không liên quan gì, chỉ là người dùng hài lòng với nó
  • Tôi tò mò font serif dùng trên website là gì. Có vẻ họ đổi tên thành ant_serif và xóa mọi định danh khác, nhưng nhìn khá đẹp

    • Điều này trông như kiểu lặp đi lặp lại của tác giả. Tức là ăn cắp để dùng
  • Có benchmark cold start, nhưng tôi thắc mắc vì sao không có tài liệu so sánh benchmark hiệu năng thực thi với Node, Deno, Bun, QuickJS, v.v.