3 คะแนน โดย GN⁺ 2023-09-09 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Bun 1.0 คือชุดเครื่องมือแบบครบวงจรสำหรับการพัฒนา JavaScript และ TypeScript โดยมีความสามารถในการรันโค้ด บิลด์ ทดสอบ และดีบัก
  • Bun มีเป้าหมายเพื่อทำให้การพัฒนา JavaScript ง่ายขึ้นและเร็วขึ้น ด้วยการแทนที่หลายเครื่องมือด้วยโซลูชันแบบรวมศูนย์เดียว
  • Bun มาแทนที่ Node.js พร้อมทางเลือกที่เร็วกว่า npx ถึง 5 เท่า มีโหมด watch ในตัว และรองรับการอ่านไฟล์ .env โดยค่าเริ่มต้น
  • Bun สามารถรันไฟล์ .js, .ts, .cjs, .mjs, .jsx, .tsx ได้ และช่วยตัดความจำเป็นในการใช้ทรานส์ไพเลอร์อย่าง tsc, babel, ts-node, tsx
  • Bun เป็น JavaScript bundler ประสิทธิภาพสูงระดับแนวหน้า และมี plugin API ที่เข้ากันได้กับ esbuild จึงใช้แทน esbuild, webpack, parcel, rollup ได้
  • Bun เป็น package manager ที่เข้ากันได้กับ npm โดยอ่าน package.json และเขียนลง node_modules จึงใช้แทน npm, yarn, pnpm, lerna ได้
  • Bun เป็น test runner ที่เข้ากันได้กับ Jest รองรับ snapshot testing, mocking และ code coverage จึงใช้แทน jest, ts-jest, babel-jest, vitest ได้
  • Bun เป็น JavaScript runtime ความเร็วสูงที่สร้างบนเอนจิน WebKit ของ Apple โดยมีเป้าหมายเพื่อทำให้การพัฒนาซอฟต์แวร์เร็วขึ้นและสนุกยิ่งขึ้น
  • Bun รองรับทั้งระบบโมดูล ESM และ CommonJS พร้อมการรองรับ API มาตรฐานเว็บที่ใช้งานได้ในเบราว์เซอร์แบบ built-in
  • Bun รองรับ hot reloading ทำให้สามารถโหลดแอปพลิเคชันใหม่ได้เมื่อไฟล์มีการเปลี่ยนแปลง โดยไม่ต้องปิดแอปก่อน
  • Bun ปรับแต่งได้ โดยสามารถกำหนดปลั๊กอินเพื่อดักจับการ import และทำตรรกะการโหลดแบบกำหนดเองได้
  • Bun มี API ของ standard library ที่ปรับแต่งให้เหมาะกับความต้องการทั่วไปของนักพัฒนา และรองรับ SQLite ผ่าน API native code ที่เร็วกว่า
  • Bun มาพร้อม package manager ที่เร็วกว่า npm, yarn และ pnpm อย่างมาก
  • Bun ทำหน้าที่เป็น test runner ที่มีโมดูลทดสอบในตัวซึ่งเข้ากันได้กับ Jest อย่างสมบูรณ์
  • Bun เป็น JavaScript และ TypeScript bundler และ minifier ที่เข้ากันได้กับปลั๊กอินของ esbuild และเพิ่ม JavaScript macros สำหรับการรันฟังก์ชันในขั้นตอน bundle time
  • ตอนนี้ Bun มี native build สำหรับ Windows แบบ experimental แล้ว และ build สำหรับ macOS และ Linux ก็พร้อมใช้งานในระดับ production แล้ว
  • ทีม Bun กำลังพัฒนาวิธีใหม่ในการ deploy JavaScript และ TypeScript สู่ production และกำลังเปิดรับสมัครวิศวกรระบบระดับ low-level

1 ความคิดเห็น

 
GN⁺ 2023-09-09
ความคิดเห็นจาก Hacker News
  • Bun v1.0.0 เป็นรีลีสใหม่ที่รองรับทั้ง CommonJS และ ES modules ทำให้ไม่ต้องกังวลเรื่องนามสกุลไฟล์หรือการใส่ "type": "module" ใน package.json
  • บางคนมองว่า ecosystem ของ Node.js พังไปแล้ว และตัวเลือกที่ใช้งานได้จริงและเป็นมิตรกับนักพัฒนาของ Bun ถูกมองว่าอาจเป็นทางออกได้
  • ผู้ใช้บางรายแสดงความกังวลต่อการที่ Bun ใช้คำว่า “ใช้แทนได้” สำหรับรีลีส 1.0 ทั้งที่ยังไม่ได้ implement ทุกอย่างของ node:
  • มีการขอให้ระบุให้ชัดเจนในส่วนความเข้ากันได้กับ Node.js ว่าโมดูลใดบ้างที่ Bun 1.0 ยังไม่รองรับ
  • มีข้อเสนอให้ย้ายแชตของชุมชนไปยังแพลตฟอร์มอื่นนอกเหนือจาก Discord เนื่องจากความกังวลเรื่องการเข้าถึง/ความเป็นส่วนตัว/ข้อจำกัดแบบปิด
  • Bun ดูมีคุณค่าในฐานะซอฟต์แวร์ที่เรียบง่ายกว่าและมาแบบ all-in-one (แต่ยังขยายต่อได้) และถูกนำไปเปรียบเทียบกับเครื่องมือ Rome ที่มีเป้าหมายคล้ายกัน
  • มีคำถามเกี่ยวกับแผนการสร้างรายได้ของ Bun โดย Bun ได้รับการสนับสนุนจาก VC และผู้ใช้กำลังพิจารณาความเป็นไปได้ที่ Bun จะยังคงได้รับการพัฒนาอย่างต่อเนื่องในอนาคต
  • Bun ดูเหมือนเป็นทางออกที่เป็นไปได้สำหรับความซับซ้อนของชุดเครื่องมือรอบ JavaScript โดยมาแทนความยุ่งเหยิงที่ซ้อนทับกันของเครื่องมือบนฐาน node
  • หาก Bun สามารถรันและ bundle แอป TypeScript React ได้ทันทีตั้งแต่แกะกล่อง ก็มีคำถามว่าการใช้ Vite.js บน Bun ยังมีข้อดีอะไรอยู่
  • ผู้ใช้สนใจเปรียบเทียบ Bun กับ Deno ในฐานะผู้สืบทอด Node ที่เป็นไปได้ และตั้งคำถามถึงคำกล่าวอ้างด้านประสิทธิภาพและความแตกต่างทางปรัชญาระหว่างสองโปรเจกต์
  • การออก Bun 1.0 ล่าช้าเพราะการทดสอบล้มเหลวในการสตรีมบอดีของ fetch() ซึ่งภายหลังพบว่าเกิดจากการดึงพร็อพเพอร์ตี้จากอ็อบเจ็กต์ใน JavaScriptCore bindings