8 คะแนน โดย GN⁺ 16 일 전 | 2 ความคิดเห็น | แชร์ทาง WhatsApp
  • เอนจินเว็บ Servo ที่พัฒนาด้วย Rust เปิดเผยเป็น crate v0.1.0 บน crates.io มอบ ทางเลือกน้ำหนักเบาและประสิทธิภาพสูงสำหรับการฝังเทคโนโลยีเว็บ ลงในแอปพลิเคชัน
  • รีลีสครั้งนี้ทำให้สามารถ ผสาน Servo เข้าโดยตรงในรูปแบบไลบรารี ได้ และเบราว์เซอร์เดโม servoshell จะ ไม่ถูกแจกจ่ายแยก
  • หลังจาก GitHub รีลีสครั้งแรกในเดือนตุลาคม 2025 ได้มีการเผยแพร่ 5 ครั้งจนกระบวนการรีลีสเข้าสู่ช่วงเสถียร
  • เวอร์ชันปัจจุบัน ยังไม่ใช่รุ่นทางการ 1.0, และกำลังทยอยเพิ่มเวอร์ชันตามความเสถียรของ API และการตอบโจทย์ความต้องการของผู้ใช้
  • มี เวอร์ชัน LTS ให้ใช้งานควบคู่กัน เพื่อให้สภาพแวดล้อมการฝังระยะยาวยังได้รับการอัปเดตด้านความปลอดภัยและการรองรับการย้ายระบบ

รีลีส Servo 0.1.0 และการเผยแพร่บน crates.io

  • ทีม Servo เปิดตัว servo crate เวอร์ชัน v0.1.0 และเป็นครั้งแรกที่เผยแพร่ผ่าน crates.io
    • รีลีสครั้งนี้ทำให้สามารถ ฝัง Servo ในแอปพลิเคชันในรูปแบบไลบรารี ได้
    • เบราว์เซอร์เดโม servoshell จะไม่ถูกเผยแพร่บน crates.io
  • หลังจาก GitHub รีลีสครั้งแรกในเดือนตุลาคม 2025 ได้ผ่านการเผยแพร่ 5 ครั้ง ทำให้ กระบวนการรีลีสเข้าสู่ช่วงเสถียร
    • ปัจจุบันคอขวดที่ใหญ่ที่สุดคือ บล็อกโพสต์ที่ต้องเขียนทุกเดือน และครั้งนี้จึงเดินหน้ารีลีสโดยไม่รอสิ่งนั้น
    • อัปเดตรายเดือนจะเผยแพร่แยกในภายหลัง
  • เวอร์ชันนี้ ยังไม่ใช่เวอร์ชันทางการ 1.0 และกำลังมีการหารือกันถึงความหมายของ 1.0
    • การเพิ่มเวอร์ชันสะท้อนถึง ความมั่นใจที่เพิ่มขึ้นต่อเสถียรภาพของ embedding API และความสามารถในการตอบสนองความต้องการของผู้ใช้
  • ครั้งนี้ Servo ยังมี เวอร์ชันที่รองรับระยะยาว (LTS) ให้ด้วย
    • เนื่องจากรีลีสรายเดือนอาจมี การเปลี่ยนแปลงที่ทำให้เข้ากันไม่ได้ ผู้ฝังใช้งานบางรายอาจเลือกอัปเกรดครั้งใหญ่ทุกครึ่งปี
    • เวอร์ชัน LTS จะมี การอัปเดตความปลอดภัยและคู่มือการย้ายระบบ โดยมีรายละเอียดอยู่ใน ส่วน LTS ของ Servo Book

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

 
click 16 일 전

rust ถือกำเนิดขึ้นมาเพื่อสร้าง servo แต่ตัว servo เองกลับยังอยู่แค่ v0.1.0 ในขณะที่ rust ประสบความสำเร็จอย่างมากไปแล้ว
ดูเหมือนว่าเอนจินเบราว์เซอร์จะยากขนาดนั้นจริง ๆ

 
GN⁺ 16 일 전
ความคิดเห็นจาก Hacker News
  • สรุปข้อสังเกตไว้บางอย่าง
    เอกสารบน docs.rs ยังอยู่ระหว่างการ build แต่เอกสารของเวอร์ชัน RC ล่าสุดดูได้แล้ว
    ตัวอย่างการฝัง Servo ของโปรเจกต์ Slint แสดงวิธีใช้ embedding API ได้ดี และน่าจะปรับใช้กับ GUI framework อื่นที่อิง wgpu ได้ง่าย
    Stylo และ WebRender ก็เผยแพร่อยู่บน crates.io และนำไปใช้เดี่ยว ๆ ได้อย่างมีประโยชน์
    จากนี้ไปมีแผนอัปเดตตาม รอบการออกเวอร์ชันรายเดือน

    • Slint เป็นโปรเจกต์ที่เจ๋งมาก แค่สำหรับกรณีใช้งานของผมยังเสียดายที่ แทรกวิดเจ็ตแบบไดนามิก จากโค้ดไม่ได้
  • ผมลองสร้าง "servo-shot" ซึ่งเป็นเครื่องมือ CLI สำหรับเรนเดอร์หน้าเว็บเป็นภาพโดยใช้ crate นี้
    หลัง cargo build ก็รันได้ด้วยคำสั่ง ./target/debug/servo-shot https://news.ycombinator.com/
    ดูภาพที่สร้างได้ ที่นี่

    • พอดูซอร์สแล้วเหมือน LLM เองก็ชอบ สไตล์ Rust ที่เรียบง่ายและระดับสูง เหมือนกัน คือใช้ value type อย่าง String, ใช้ smart pointer แบบ reference-counted และ clone ได้ตามสบาย เลยไม่ต้องไปสู้กับ borrow checker มากนัก สำหรับคนที่มาจาก Python, TypeScript หรือ Java วิธีนี้ทำงานได้มีประสิทธิภาพกว่ามาก
    • เป็นตัวอย่างที่ดีมาก แต่อยากรู้ว่าพวก การจัดการคุกกี้ ต้องปรับอะไรเพิ่มไหม ไม่แน่ใจว่าแค่ส่ง cookiejar pointer เข้าไปจะพอหรือเปล่า
    • มีประโยชน์มาก น่าจะหยิบไปใช้ได้ทันที อยากรู้ว่า Servo ทำด้วย Rust 100% และไม่มี dependency ฝั่งระบบภายนอกเลยหรือไม่ (เช่นใช้แค่ rustls ก็พอไหม) แล้วรองรับ การเรนเดอร์ JavaScript หรือ WebGL หรือเปล่า โดยเฉพาะแอป 3D อย่าง ThreeJS นี่ตรงกับกรณีใช้งานของผมมาก
  • benchmark ที่แท้จริงของความสามารถด้านการเขียนโค้ดของ AI คือ มันสร้าง โครงสร้างพื้นฐานที่ปลอดภัยและทันสมัย ซึ่งทุกคนต้องการแต่ไม่มีใครยอมจ่ายเงินให้ ได้เร็วแค่ไหน
    ถ้า Anthropic อยากโปรโมต Mythos ก็น่าจะเผยแพร่อะไรอย่าง บันทึกการมีส่วนร่วมกับ Servo ออกมา แบบนั้นจะเชื่อมโยงกับเป้าหมายด้านความปลอดภัยของโครงสร้างพื้นฐานได้จริง
    ให้สิทธิ์เข้าถึงโมเดลแบบไม่จำกัดกับผู้มีส่วนร่วมหลักของ Servo หรือ Rust แล้วดูว่ามันพัฒนาไปแค่ไหนในแต่ละ release น่าจะมีความหมายกว่า

    • เราไม่ต้องการ infrastructure ที่ vibe-coded
    • แต่ Servo มี นโยบายห้ามการมีส่วนร่วมจาก AI ดังนั้นอาจไม่เหมาะกับการทดลองแบบนี้
    • ปัญหาที่แท้จริงของโครงสร้างพื้นฐานแบบนี้ไม่ใช่การพัฒนาเริ่มต้น แต่คือ ความต่อเนื่องของการบำรุงรักษา LLM เก่งเรื่องทำต้นแบบเร็ว แต่ยังอ่อนเรื่องดูแลโปรเจกต์ขนาดใหญ่เก่าแก่ในระยะยาว
    • ใช้การทำซ้ำ Chromium เป็น benchmark ดีไหม หรือจะลองทำซ้ำ Rust เองก็น่าสนใจ ถ้ามีภาษาที่อยู่ใกล้เคียง Rust มากขึ้นอีกก็น่าจะเป็นประโยชน์ต่อมนุษยชาติไม่น้อย
    • สุดท้ายสิ่งสำคัญคือ การสนับสนุนเงินทุนให้โปรเจกต์สำคัญ โดยเฉพาะเมื่อบริษัทใหญ่ ๆ กำลังได้ประโยชน์จากมันอยู่ยิ่งควรทำ
  • ถ้าใครใช้เบราว์เซอร์เพื่อสร้าง PDF ก็น่าจะลองดู Typst ของ Rust
    มันใช้เป็น CLI ได้ไม่ว่าคุณจะใช้ภาษาอะไร และแม้จะต้องใช้เวลาทำความคุ้นเคยกับไวยากรณ์แบบ DSL อยู่บ้าง แต่ทุกวันนี้มี AI ก็ช่วยให้เรียนรู้ได้เร็วขึ้น

    • วันนี้ผมลองเอาไปใช้กับ ระบบอัตโนมัติสำหรับรายงาน แล้ว Claude Code ก็ช่วยได้ดีทีเดียว บางครั้งต้องคอยบอกเรื่องเอกสาร Typst โดยตรงบ้าง แต่โดยรวมโอเค
    • เห็นคนพูดถึงมันบ่อยว่าเป็นตัวแทน LaTeX คราวนี้คงต้องลองดูจริงจังแล้ว
    • ไม่นานมานี้ผม deploy ระบบสร้างจดหมาย PDF อัตโนมัติ ด้วย Typst ในฐานะคนที่คุ้นกับ (La)TeX มาก่อน ผมทึ่งกับความเร็วของมัน มันเร็วพอแม้จะอยู่ในรอบเวลา HTTP request ไวยากรณ์ก็เรียนรู้ง่าย ถึงจะยังละเอียดไม่เท่า TeX แต่ก็ใช้งานจริงได้สบาย แค่ดูเหมือนว่ายังไม่มีของมาทดแทนความสามารถด้านกราฟิกแบบ TikZ
  • ผมสงสัยว่ามีตารางให้ดูรายการ RFC ที่ Servo implement แล้ว แบบเดียวกับ caniuse.com ไหม หน้า “experimental features” มีอยู่ แต่รายละเอียดไม่มากพอ

    • arewebrowseryet.com ทำหน้าที่คล้ายกัน
    • doc.servo.org/apis.html เป็นเอกสารที่สร้างอัตโนมัติจาก WebUDL interface แม้จะไม่สมบูรณ์แต่ก็พอใช้อ้างอิงได้
    • web platform tests ก็เป็นข้อมูลที่ใกล้เคียงที่สุด
    • บล็อกของ Servo มีสรุปการเปลี่ยนแปลงรายเดือน
  • ผมสงสัยว่า Servo ทำอะไรได้แบบเป็นรูปธรรมบ้าง ถ้าพูดว่า “เทคโนโลยีเว็บ” หมายถึงสามารถ ฝังเว็บเบราว์เซอร์ เข้าไปในแอปเดสก์ท็อปได้หรือเปล่า?

    • มันคือ เอนจินเบราว์เซอร์ทางเลือก แบบเดียวกับ Ladybird
    • ใช่ Servo คือ เอนจินเว็บวิวที่ฝังได้ คล้าย Chromium Embedded Framework (CEF)
      Electron = Node.js + CEF
      Tauri = Rust + webview
      Tauri มี experimental branch ที่ลองใช้ Servo เป็นเว็บวิวภายใน ตอนนี้ยังพึ่งพา system webview อยู่ (Edge บน Windows, Safari บน macOS, webkit-gtk บน Linux)
  • พอเห็นประโยคที่ว่า “ยังไม่ใช่ 1.0 และกำลังถกความหมายกันอยู่” ก็สงสัยว่าเวอร์ชันของ crate จะไปถึง 1.0 ได้จริงไหม

    • ปัญหาสำคัญของการจัดการเวอร์ชันใน Rust คือ ความหมายของเวอร์ชัน 0.x โดย 0.3.5 จะเข้ากันได้กับ 0.3.6 แต่ไม่เข้ากันกับ 0.4.0 หรือ 1.0.0 กล่าวคือเมื่อ major ยังเป็น 0, minor จะทำหน้าที่เหมือน major แทน ทำให้หลายโปรเจกต์ค้างอยู่ที่ 0.x นี่เป็นปัญหาที่เกิดจาก Cargo ไม่ทำตาม semver ในส่วนนี้ สำหรับผมมันเป็นหนึ่งในเรื่องที่น่าหงุดหงิดที่สุด แต่ชุมชน Rust ส่วนใหญ่ไม่ได้มองว่าเป็นปัญหา
    • ไลบรารี Rust จำนวนมากใช้ 0-based versioning ลิงก์นั้นอธิบายได้ดีกว่า
    • ถ้าอยากย้ายแอปของ Microsoft มาใช้ Servo ล่ะ? ง่ายมาก — แค่เพิ่มการใช้ RAM เริ่มต้นเป็น 5GB เดี๋ยวก็มีคนรับไปใช้เอง (พูดติดตลก)
  • ผมหาข้อมูลว่า มีการรวมเข้ากับ Tauri ไหม แล้วก็เจอ tauri-runtime-verso แต่ยังไม่รู้ว่าเมื่อเทียบกับ Electron แล้วขนาดหรือประสิทธิภาพเป็นอย่างไร น่าจะมีประโยชน์เวลาจะปล่อยแอปของผมลง Linux/flathub

  • สงสัยว่า crate นี้ เอาไปใช้อะไรได้บ้าง

  • ถ้า Servo พร้อมเมื่อไร ผมตั้งใจจะเอาไปรวมกับ qutebrowser ที่ผมรัก