- ใช้ Ant Silver engine ที่พัฒนาขึ้นเองเพื่อรันแพ็กเกจ npm จริง โดยชูจุดเด่นเรื่องไบนารีเดี่ยวขนาดราว 8.6MB และความเร็วในการเริ่มต้นที่รวดเร็ว
- ไม่ใช่โครงสร้างที่ครอบ V8·JSC·SpiderMonkey และระบุว่า compat-table 100% พร้อมรองรับตาม WinterTC รวมถึงสนับสนุน Hono·Elysia·TypeScript·React·Rolldown·Wasm เป็นต้น
- ในการวัดคอลด์สตาร์ตที่โหลด Hono ลงทะเบียน 2 routes แล้วจบการทำงาน ได้เวลา 5.4ms ซึ่งสั้นกว่า Bun 12.8ms, Deno 24.8ms และ Node.js 31.1ms
- ติดตั้งแพ็กเกจได้เร็วกว่า npm สูงสุด 40 เท่า และรองรับการรัน TypeScript ได้โดยตรง รวมถึงการเสิร์ฟ
fetchexport หลักเป็นเซิร์ฟเวอร์ ทำให้ไม่ต้องมีขั้นตอน build เพิ่มหรือ framework adapter - มี VM isolation sandbox สำหรับโค้ดที่ไม่น่าเชื่อถือ และมีรีจิสทรีสาธารณะ ants.land ที่เข้ากันได้กับโปรโตคอล npm โดยใช้งานได้บน macOS·Linux ทั้ง arm64 และ x86_64 โดยไม่ต้องมี toolchain เพิ่มเติม
เอนจินของตัวเองและเวิร์กโฟลว์การพัฒนาที่รวดเร็ว
- Ant เป็น JavaScript runtime ประสิทธิภาพสูง ที่สร้างขึ้นตั้งแต่ต้น และแจกจ่ายในรูปแบบไบนารีเดี่ยวแบบพกพาขนาดประมาณ 8.6MB ที่รวม Ant Silver engine ไว้ภายใน
- ไม่ใช่ wrapper ที่ทำงานบน V8·JSC·SpiderMonkey
- ทำได้ 100% บน compat-table และแสดงสถานะเป็น WinterTC Conformant
- รันระบบนิเวศของ Hono·Elysia·TypeScript·React·Rolldown·WinterTC·Wasm ได้
-
ประสิทธิภาพคอลด์สตาร์ต
- โหลด Hono ลงทะเบียน 2 routes แล้วจบการทำงาน เพื่อวัดเฉพาะ ต้นทุนการ resolve โมดูลและการ initialize
- Ant: 5.4ms
- Bun: 12.8ms
- Deno: 24.8ms
- Node.js: 31.1ms
-
การติดตั้งแพ็กเกจ
- สามารถติดตั้งแพ็กเกจด้วยคำสั่ง
ant i honoและในตัวอย่าง การติดตั้งhono@latest1 แพ็กเกจเสร็จสิ้นใน 155ms - ชูจุดเด่นว่าติดตั้งได้เร็วกว่า npm สูงสุด 40 เท่า และไม่จำเป็นต้องตั้งค่าเครื่องมือจัดการแพ็กเกจแยกต่างหาก
- สามารถติดตั้งแพ็กเกจด้วยคำสั่ง
-
เซิร์ฟเวอร์และการรัน TypeScript
- ให้บริการ
fetchexport หลักของไฟล์เป็นเซิร์ฟเวอร์ จึงสามารถ รันเฟรมเวิร์กอย่าง Hono ได้โดยไม่ต้องใช้ adapter- เมื่อรันด้วย
ant server.jsตัวอย่างพื้นฐานจะรับคำขอที่http://localhost:3000
- เมื่อรันด้วย
- ไฟล์ TypeScript สามารถรันได้โดยตรงด้วย
ant app.ts- ไม่ต้องปรับ
tsconfigและไม่ต้องมี bundler, ไดเรกทอรีdistหรือขั้นตอนtsc && node dist/app.js
- ไม่ต้องปรับ
- ให้บริการ
การรันแบบแยกส่วนและระบบนิเวศแพ็กเกจ
-
แซนด์บ็อกซ์บน VM
ant:sandboxของSandboxไม่ได้เป็นแค่การตรวจสอบสิทธิ์เท่านั้น แต่รัน JavaScript ที่ไม่น่าเชื่อถือภายใน ขอบเขตการแยกด้วย VM- แต่ละแซนด์บ็อกซ์ใช้ KVM หรือ Hypervisor.framework VM ที่เป็นอิสระต่อกัน
- การเมานต์ระบบไฟล์จะคงเป็นแบบอ่านอย่างเดียว เว้นแต่จะให้สิทธิ์เขียนอย่างชัดเจน
- เครือข่ายถูกบล็อกทั้งหมดโดยค่าเริ่มต้น และจะส่งต่อเฉพาะพอร์ตที่กำหนดไว้
-
รีจิสทรีแพ็กเกจสาธารณะ
- ants.land คือ รีจิสทรีแพ็กเกจสาธารณะ สำหรับ Ant
- ใช้โปรโตคอล npm จึงเข้าถึงได้ไม่เฉพาะจาก Ant แต่รวมถึง npm·Yarn·pnpm·Bun ด้วย
- สามารถติดตั้งแพ็กเกจได้ทั้งแบบมีสโคปหรือชื่อทั่วไป และใช้งานผ่าน
esm.ants.landบนเบราว์เซอร์ได้เช่นกัน - ล็อกอินด้วย
ant land loginและเผยแพร่แพ็กเกจด้วยant land publish - ข้อมูลของรีจิสทรีมีคะแนน 0~100 ที่สะท้อนเอกสาร, ใบอนุญาต และความเข้ากันได้
- รองรับ arm64 และ x86_64 บน macOS และ Linux โดยไม่ต้องใช้ toolchain เพิ่มเติม
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
ผมเขียนโค้ดด้วย AI ทั้งวันทุกวัน แต่คิดว่า ประเด็นนี้ ที่ถูกหยิบยกขึ้นมาเมื่อเดือนมีนาคมที่ผ่านมาควรถูกพูดถึงให้ชัด
ต่อให้ภายหลังจะเขียนโค้ดใหม่แล้วก็ตาม การบอกว่า “ทำเองตั้งแต่ศูนย์” ก็ฟังขัดหูอยู่บ้าง เพราะ โค้ดเบส AGPL เดิมเป็นส่วนสำคัญของงานช่วงแรก
จากเธรดนั้น ดูเหมือนว่าหลังจากทิ้งเวอร์ชันเก่าไปแล้ว ผู้สร้างต้นฉบับก็ไม่ได้ติดใจมากนัก และโค้ดปัจจุบันมีรูปร่างและโครงสร้างต่างออกไป จึงดูเหมือนถูกเขียนใหม่จริง ๆ โดยรวมแล้วผมชอบงานนี้มาก ขอให้ทำต่อไป แต่ทุกคนควรระมัดระวัง
มันให้ความรู้สึกเหมือนเอาประวัติ Git ของ LLM ที่ดูเหมือนคัดโค้ดจากเอนจิน JavaScript อื่นมา แล้วให้ LLM อีกตัวช่วยเขียนเป็นบล็อกโพสต์ จนเข้าใจยากว่าเกิดอะไรขึ้น และ ยิ่งทำให้เชื่อถือโปรเจกต์ได้ยากขึ้น
ราวเดือนกุมภาพันธ์ เราแทบจะลบโค้ดเบสเดิมทิ้งและออกแบบระบบใหม่ตั้งแต่ศูนย์ให้เชื่อถือได้กว่ามาก ตอนนั้นเรารู้ว่าโค้ดแทบทั้งหมดเป็นผลลัพธ์จาก AI คุณภาพต่ำ แต่ไม่ใช่ลำดับความสำคัญสูงสุด และตอนนี้เราควบคุมไม่ให้โค้ดใดผ่านเข้ามาได้หากยังไม่ผ่านการตรวจทานและทดสอบ
มี Apache Ant อยู่แล้ว ทำไมถึงตั้งชื่อว่า Ant แทนที่จะเป็น “Antjs” หรือ “Ant.js” ก็ไม่เข้าใจ: https://ant.apache.org
กระบวนการสร้างเวอร์ชันแรกในหนึ่งเดือนอยู่ใน บทความแรก และกระบวนการต่อมาอีกไม่กี่เดือนอยู่ใน บทความที่สอง
ผมไม่รู้ว่าการสร้างรันไทม์และอีโคซิสเต็มใหม่ตั้งแต่ศูนย์จะคุ้มค่าในเชิงเศรษฐกิจหรือไม่ แต่ดูเหมือนว่าเราได้เข้าสู่ยุคที่ นักพัฒนาคนเดียว สามารถสร้างซอฟต์แวร์ที่ในอดีตต้องใช้ทั้งทีมได้แล้ว และนี่น่าจะเป็นแค่จุดเริ่มต้น
ผมอยากเห็นนักพัฒนาเดี่ยวสร้างซอฟต์แวร์ใหม่ที่แม้แต่ทีมในอดีตก็ยังสร้างไม่ได้ ผมเป็นมิตรกับ AI มาก แต่เริ่มเบื่อกับ การโปรโมตเกินจริง ที่ไม่จบไม่สิ้นแล้ว
เคยแซวว่า CLI
antของ Anthropic ไม่สนใจ Apacheantแล้วตอนนี้ยังมีantของ JavaScript โผล่มาอีกantของ Anthropic เลยสักคนผมไม่ได้รู้ลึกเรื่องอีโคซิสเต็มหรือรันไทม์ JavaScript มากนัก แต่ค่อนข้างแปลกใจที่โปรเจกต์นี้อ้างทั้งขนาดเล็กกว่า สตาร์ทเร็วกว่า มี sandboxing และประสิทธิภาพแข่งขันได้
อยากรู้ว่า อินไซต์หลักหรือทางเลือกเชิงออกแบบ ที่ทำให้ได้ข้อดีเหล่านี้เหนือสแต็ก JavaScript ที่เติบโตเต็มที่และปรับแต่งมาสูงแล้วคืออะไร หรือมีการเดิมพันทางเทคนิคครั้งใหญ่ตรงไหน
ถึงจะไม่ใช่ตัวที่เร็วที่สุด แต่คงยากที่จะนำรันไทม์ใหม่มาใช้เพียงเพราะ “เร็วกว่า X” ทางเลือกเชิงออกแบบของโปรเจกต์นี้ดูเหมือนเป็นผลจากการที่ Claude หรือ Codex คัดลอกโค้ดเบส Elk ไปเป็นส่วนใหญ่
ผมเข้าใจเรื่องรันไทม์กับเอนจิน และการหารายได้ผ่าน Colony แต่ไม่แน่ใจว่าจำเป็นต้องมี registry แยก, package manager แยก, Ant Desktop, sandbox และ treatjs ที่ยังไม่รู้แน่ชัดว่าเป็นอะไรกันแน่ด้วยหรือไม่
ถ้าเป็นรันไทม์ JavaScript ผมอยากให้ทำ เรื่องเดียวคือรัน JavaScript ให้ดี แต่สงสัยว่าทำไมทุกคนถึงมุ่งไปเป็นกล่องเครื่องมือแบบครบวงจร และโปรเจกต์นี้ก็ดูซับซ้อนตั้งแต่ตอนนี้แล้ว
แม้จะบอกว่า “ความเร็วใกล้เคียง V8” แต่ใน benchmark ของ zoo.js ดูเหมือนยังห่างไกลมาก: https://zoo.js.org/
ถ้าประสิทธิภาพไม่ได้ดีขึ้นอย่างมากหลังวันที่ 10 กุมภาพันธ์ 2026 คำพูดนี้ก็ไม่ถูกต้อง
ตอนนั้นส่วนใหญ่ยังทำงานแบบ interpreter และยังขาดการทำงานของ JIT หลายส่วน เร็ว ๆ นี้จะใส่ benchmark เข้าไปใน nightly build ด้วย
สิ่งแรกที่สะดุดตาคือ sandboxing ผมไม่เข้าใจว่าทำไม Node กับ npm ถึงไม่ให้สิ่งนี้มาเป็นค่าเริ่มต้น เพราะมันน่าจะช่วยลดเวิร์มและการโจมตีซัพพลายเชนได้มาก
ถ้ากำลังรันอยู่ในเครื่องเสมือนอยู่แล้วและต้องใช้ nested virtualization ก็ยังไม่แน่ใจด้วยซ้ำว่าจะรองรับไหม และดูไม่น่าจะเร็วหรือมีประสิทธิภาพนัก
อยากรู้ว่า ฟอนต์ serif ที่ใช้ในเว็บไซต์คืออะไร ดูเหมือนจะเปลี่ยนชื่อเป็น
ant_serifแล้วลบตัวระบุอื่น ๆ ออกหมด แต่หน้าตาดีทีเดียวมี benchmark สำหรับ cold start แล้ว แต่สงสัยว่าทำไมไม่มีข้อมูล benchmark ประสิทธิภาพตอนรัน เทียบกับ Node, Deno, Bun, QuickJS และอื่น ๆ