2 คะแนน โดย GN⁺ 2024-06-22 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Ladybird เป็นโครงการโอเพนซอร์สที่มีเป้าหมายสร้างเว็บเบราว์เซอร์อิสระที่ไม่ได้พัฒนาบนพื้นฐานของ Chrome
  • เขียนด้วย C++ และใช้ไลเซนส์ 2-Clause BSD
  • เดิมเริ่มต้นในฐานะส่วนหนึ่งของโครงการ SerenityOS แต่ภายหลังนักพัฒนา Andreas Kling ได้แยกออกมาเป็นโครงการอิสระ

เบื้องหลังโครงการ

  • Andreas Kling เริ่มต้น SerenityOS ในปี 2018 และต่อมาได้วางมือจาก SerenityOS เพื่อมุ่งเน้นที่เบราว์เซอร์ Ladybird
  • SerenityOS เป็นโครงการที่ Kling เริ่มหลังจากจบโปรแกรมฟื้นฟู และเขามีประสบการณ์ทำงานกับเบราว์เซอร์ที่ใช้ WebKit ที่ Apple และ Nokia

ความคืบหน้าของโครงการ

  • Ladybird ยังอยู่ในช่วงพัฒนาเริ่มต้นมาก (pre-alpha)
  • ปัจจุบันสามารถรันได้บน Linux, macOS และระบบปฏิบัติการตระกูล UNIX อื่น ๆ
  • บน Windows สามารถรันผ่าน WSL2 ได้ แต่ยังไม่มีการรองรับ Windows แบบเนทีฟ
  • ขณะนี้โครงการยังไม่มีไบนารีให้ใช้งานบนแพลตฟอร์มใด ๆ และต้องคอมไพล์จากซอร์สเอง

ฟีเจอร์และประสิทธิภาพ

  • ฟีเจอร์พื้นฐาน: มีแถบ URL/ค้นหา, รีเฟรช, แท็บ, ซูมเนื้อหา, จับภาพหน้าจอ และปุ่มย้อนกลับ/เดินหน้า
  • ฟีเจอร์ที่ยังขาด: ไม่มีบุ๊กมาร์ก, ประวัติการใช้งาน, ส่วนขยาย, การจัดการรหัสผ่าน, การพิมพ์ และการบันทึกรูปภาพ
  • การรองรับ CSS: ในการทดสอบ CSS Selectors ระดับ 1-3 ได้ 100% และระดับ 4 ได้ 53%
  • การรองรับ JavaScript: ใช้งานได้ แต่ยังช้า
  • เครื่องมือนักพัฒนา: มีตัวตรวจสอบ DOM tree และ accessibility tree, ความสามารถสร้าง dump ได้หลากหลายรูปแบบ และฟังก์ชันปลอมแปลง User-Agent

แผนในอนาคต

  • การใช้ไลบรารีที่มีอยู่: มีแผนจะใช้ไลบรารีที่มีอยู่แทนไลบรารีที่พัฒนาขึ้นเองใน SerenityOS
  • การมีส่วนร่วมของนักพัฒนา: โครงการใช้เซิร์ฟเวอร์ Discord สำหรับหารือด้านการพัฒนา และผู้ดูแลจะถูกคัดเลือกผ่านการเชิญ

ความเห็นของ GN⁺

  1. ความท้าทายทางเทคนิค: Ladybird ตั้งเป้าจะเป็นเว็บเบราว์เซอร์อิสระ แต่ฟีเจอร์และประสิทธิภาพในปัจจุบันยังยากจะนำไปเทียบกับเบราว์เซอร์กระแสหลัก โดยเฉพาะด้านความปลอดภัยและประสิทธิภาพที่ยังต้องปรับปรุงอีกมาก
  2. ชุมชนนักพัฒนา: หากโครงการต้องการประสบความสำเร็จ ก็จำเป็นต้องมีชุมชนนักพัฒนาที่กระตือรือร้นและมีการสนับสนุนอย่างต่อเนื่อง ช่อง YouTube และเซิร์ฟเวอร์ Discord ของ Kling อาจเป็นจุดเริ่มต้นที่ดีสำหรับเรื่องนี้
  3. การแข่งขันกับเบราว์เซอร์เดิม: ดูเหมือนว่าจะต้องใช้เวลาอีกมากกว่าจะแข่งขันกับเบราว์เซอร์ที่มีอยู่แล้วอย่าง Firefox หรือ Chrome ได้ โดยเฉพาะในด้านการปฏิบัติตามมาตรฐานเว็บและการรองรับฟีเจอร์ที่หลากหลาย
  4. การเลือกเทคโนโลยี: Ladybird ที่เขียนด้วย C++ อาจมีข้อได้เปรียบด้านประสิทธิภาพ แต่ก็ควรพิจารณาการใช้ภาษาสมัยใหม่อย่าง Rust ด้วยเช่นกัน ซึ่งมีข้อดีมากในด้าน memory safety และประสิทธิภาพ
  5. ประสบการณ์ผู้ใช้: ปัจจุบัน Ladybird ยังไม่เหมาะกับผู้ใช้ทั่วไป การปรับปรุงประสบการณ์ผู้ใช้และเพิ่มฟีเจอร์ให้มากขึ้นเป็นเรื่องสำคัญ

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

 
GN⁺ 2024-06-22
ความเห็นจาก Hacker News
  • นักพัฒนา Firefox: แชร์บล็อกโพสต์เกี่ยวกับกระบวนการสร้างเว็บเบราว์เซอร์
  • Andreas Kling: เข้าใจการตัดสินใจถอยออกจาก Serenity OS และตอนนี้เบราว์เซอร์ Ladybird ก็ใช้งานได้ในชีวิตประจำวัน
  • ปัญหาการล็อกอิน Discord: Ladybird เรนเดอร์หน้าเว็บได้ดี แต่ยังขาดความเร็วและความเสถียร
  • ความคาดหวังต่อโปรเจ็กต์ใหม่: การคาดหวังว่าโค้ดที่เขียนขึ้นใหม่ทั้งหมดจะมาแก้ทุกอย่างได้ทันทีนั้นไม่สมจริง
  • ความเห็นเกี่ยวกับภาษา Rust: คอมเมนต์แนว "เขียนใหม่ด้วย Rust" ทำให้รู้สึกท้อใจ
  • การชวนเข้าร่วมโปรเจ็กต์: โปรเจ็กต์นี้น่าสนใจ และเราต้องการโปรเจ็กต์เบราว์เซอร์มากกว่านี้
  • เปรียบเทียบ Firefox กับ Ladybird: แม้จะไม่พอใจกับการตัดสินใจของ Firefox แต่ก็คาดว่า Ladybird จะเจอปัญหาคล้ายกัน
  • คำถามจากมือใหม่: ถามว่ามือใหม่จะสามารถมีส่วนร่วมกับโปรเจ็กต์นี้ได้หรือไม่
  • ความคาดหวังต่อเบราว์เซอร์จากชุมชน: รู้สึกคาดหวังกับเบราว์เซอร์ที่ชุมชนสร้างขึ้น
  • อวยพรให้ Ladybird และ Servo ประสบความสำเร็จ: แอบเอนเอียงไปทาง Servo ที่ใช้ Rust เล็กน้อย
  • คำถามเกี่ยวกับสถานะของ Servo: ถามว่า Servo เป็นแกนหลักของเบราว์เซอร์หรือไม่ และต้องทำงานอีกมากแค่ไหนกว่าจะสร้างเบราว์เซอร์ได้
  • ข้อเสนอเบราว์เซอร์แบบไฮบริด: เสนอเบราว์เซอร์ที่ผสาน Ladybird กับ Firefox
  • ความประทับใจต่อสคริปต์ build: สคริปต์ build ทำงานได้อย่างสมบูรณ์แบบ จึงมีความหวังว่าจะพัฒนาเป็นเบราว์เซอร์ที่แข่งขันได้