1 คะแนน โดย GN⁺ 2025-08-03 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • Ladybird มีการรวม 319 pull requests จากผู้ร่วมสมทบ 47 ราย ตลอดเดือนกรกฎาคม
  • จำนวนการทดสอบที่ผ่านใน Web Platform Tests เพิ่มขึ้นเป็น 1,831,856 รายการ
  • แก้ไขปัญหาการผ่าน Google reCAPTCHA และปรับปรุงความเข้ากันได้ของ Ladybird
  • เพิ่มฟีเจอร์และความปลอดภัยสมัยใหม่บนพื้นฐานมาตรฐานเว็บ เช่น HTTP/3, การรองรับอัตรารีเฟรชสูง, Trusted Types
  • เพิ่มความเข้ากันได้และประสิทธิภาพกับเบราว์เซอร์ล่าสุดด้วยการขยายคุณสมบัติ CSS และปรับปรุงการเข้ารหัสสตริงภายใน

ความสำเร็จหลักของโครงการ Ladybird ในเดือนกรกฎาคม

Ladybird เป็นโครงการที่ดำเนินการขึ้นด้วยการสนับสนุนจากองค์กรและบุคคลที่มุ่งมั่นในการสนับสนุนเว็บเปิด
เดือนนี้ได้รับการสนับสนุนจากผู้สนับสนุนใหม่จำนวนมาก ทำให้ทีมพัฒนาได้รับกำลังใจอย่างมาก
องค์กรหรือบุคคลใดที่สนใจเป็นผู้สนับสนุนสามารถติดต่อได้ที่ contact@ladybird.org

Web Platform Tests (WPT)

  • ในเดือนกรกฎาคม มีการผ่านการทดสอบใหม่เพิ่มขึ้นอีก 13,090 รายการ ใน Web Platform Tests ส่งผลให้จำนวนรวมการทดสอบที่ผ่านแล้วเป็น 1,831,856 รายการ
  • ทำให้ ความเข้ากันได้ของเว็บ และระดับการปฏิบัติตามมาตรฐานดีขึ้นอย่างมีนัยสำคัญ

การผ่าน Google reCAPTCHA

  • ในการใช้งาน postMessage เคยมีปัญหาเดิมคือไม่สามารถสร้างใหม่ได้เมื่อใช้ประเภทการจัดลำดับ (serialization type) ครั้งแรก
  • ข้อผิดพลาดนี้ถูกแก้ไขแล้ว ทำให้ Google reCAPTCHA ทำงานได้ตามปกติ
  • อย่างไรก็ตาม การปรับปรุงนี้ปัจจุบันยังใช้ได้เฉพาะในโดเมน https://www.google.com/ เนื่องจากปัญหานโยบายเดียวกัน

การรองรับอัตรารีเฟรชสูง

  • ตรวจจับอัตรารีเฟรชของหน้าจอที่ใช้งานอยู่แบบอัตโนมัติ และปรับความถี่ในการเรนเดอร์เว็บคอนเทนต์
  • ก่อนหน้านี้ถูกล็อกไว้ที่สูงสุด 60fps แต่เมื่อฮาร์ดแวร์รองรับ จะเรนเดอร์ได้สูงสุด 120Hz
  • ส่งผลให้การเลื่อน การเคลื่อนไหว และการเปลี่ยนผ่านมีความลื่นไหลมากขึ้น
โฆษณา

การรองรับ HTTP/3

  • ด้วยการรองรับ curl 8.14.0, OpenSSL และ ngtcp2 ทำให้ Ladybird สามารถใช้งาน HTTP/3 ได้
  • เมื่อเซิร์ฟเวอร์ประกาศ HTTP/3 ผ่าน header Alt-Svc โครงการจะทำการเจรจาอัตโนมัติเพื่อเชื่อมต่อ
  • ทีม Ladybird พบและรายงานข้อบกพร่องที่เกี่ยวข้องกับ Alt-Svc ของ curl โดยปัญหานี้ถูกแก้ไขใน curl 8.15.0

การนำ Trusted Types มาใช้

  • Trusted Types เป็นฟีเจอร์ความปลอดภัยสำคัญที่ช่วยป้องกันการโจมตีแบบ Cross-Site Scripting (XSS)
  • ในครั้งแรกที่นำมาใช้งานใน Ladybird ช่วยให้รองรับการรับรู้นโยบายและการเขียน DOM แบบปลอดภัยตามชนิดข้อมูล
  • การทำงานเพื่อขยายการรองรับมาตรฐานและเพิ่มความตรงตามสเปกจะยังคงดำเนินต่อไป

การปรับปรุง SVG foreignObject

  • ปรับปรุงตรรกะการจัดการ foreignObject อย่างมากเพื่อเพิ่มความเข้ากันได้ระหว่าง SVG และ HTML
  • การจัดวาง, การตีความสไตล์ และการเรนเดอร์ใกล้เคียงข้อกำหนดมากขึ้น

การขยาย CSS

  • เพิ่มการรองรับ content: url(...) ทำให้สามารถฝังภาพในคอนเทนต์ CSS ได้
  • เพิ่ม pseudo class ใหม่สองตัวคือ (:state(foo), :unchecked) เพื่อเพิ่มความเข้ากันได้ในการสไตล์เว็บคอมโพเนนต์และฟอร์ม
  • ปรับการทำงานของกลุ่มคุณสมบัติเชิงตรรกะให้เหมาะสมขึ้น ทำให้การจำลองผลลัพธ์ CSS และประสิทธิภาพดีขึ้น
โฆษณา

การปรับแก้ substitution function

  • เขียนใหม่การใช้งาน var() และ attr() ให้ตรงตามคำนิยามล่าสุดของ substitution function ตามสเปก CSS
  • เป็นการวางรากฐานสำหรับการรองรับฟังก์ชันการแทนที่รูปแบบอื่น ๆ เช่น if() และ env() ในอนาคต

การ parse <syntax> ของ CSS

  • รองรับการกำหนดรูปแบบที่คาดหวังของค่าคุณสมบัติโดยใช้ <syntax>
  • ตัวอย่างเช่น เมื่อเขียน color: attr(data-color type(<color>)); ข้อมูลแอตทริบิวต์จะได้รับการตีความเป็นค่าสี CSS
  • ทำให้พฤติกรรมของ CSS Houdini และ custom properties มีความละเอียดมากขึ้น

ความคืบหน้า @property

  • ขยายการใช้งาน @property เดิมให้รองรับการจัดการค่าเริ่มต้นและการรองรับ CSS.registerProperty()
  • ก้าวเข้าใกล้ความเข้ากันได้กับ CSS Houdini มากขึ้น

การเข้ารหัส UTF-16 ของเว็บ

  • เนื่องจากเว็บและสตริง JavaScript ใช้ UTF-16 เป็นการเข้ารหัสเริ่มต้น
  • Ladybird กำลังย้ายจากโค้ดภายในเดิมแบบ UTF-8 มาเป็นชนิด UTF-16 เนทีฟ
  • เพิ่มความแม่นยำในการประมวลผล Unicode และลดความเสี่ยงข้อผิดพลาดที่เกี่ยวข้องกับการเข้ารหัส

รายชื่อผู้สมทบในเดือนกรกฎาคม

  • แสดงความขอบคุณแก่ผู้พัฒนาจำนวนมากที่ได้ร่วมเขียนโค้ดให้กับโครงการ Ladybird ตลอดเดือนกรกฎาคม
  • กิจกรรมของชุมชนโอเพนซอร์สยังคงคึกคักอย่างต่อเนื่อง

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

 
GN⁺ 2025-08-03
ความเห็นจาก Hacker News
  • พวกคุณเจ๋งมากจริง ๆ ใครจะไปคิดว่าในยุคนี้จะมีเอนจินตัวใหม่เกิดขึ้นได้ และยิ่งไปกว่านั้นคือทีมเล็ก ๆ ทำได้สำเร็จโดยไม่ต้องพึ่งเงินลงทุนมหาศาลจากบริษัทยักษ์ใหญ่ นี่เป็นหนึ่งในภาพที่เจ๋งที่สุดที่ผมเคยเห็นในชีวิตเลย
    • ใครก็ตามที่เคยทำงานในทีมซอฟต์แวร์องค์กรน่าจะรู้ว่าสิ่งแบบนี้เป็นไปได้มาก ประวัติศาสตร์ของวงการคอมพิวติ้งเต็มไปด้วยตัวอย่างที่ทีมเล็ก 2–10 คนสร้างนวัตกรรมได้เร็วกว่าทีมใหญ่ในองค์กรที่มีงบไม่อั้น สาเหตุหลักที่เรื่องแบบนี้เกิดขึ้นบ่อยก็คือกฎของพาร์กินสัน—งานจะขยายตัวไปตามเวลาและทรัพยากรที่มีให้ และองค์กรใหญ่นั้นแทบจะมีทรัพยากรไม่จำกัด
  • ถ้าอยากเริ่มมีส่วนร่วม แนะนำให้ดูคู่มือด้านล่าง
    https://github.com/LadybirdBrowser/ladybird/tree/master/Documentation/GettingStartedContributing.md
    ผลการทดสอบ Web Platform Test ล่าสุดอยู่ที่นี่
    https://wpt.fyi/results/?run_id=6292901677236224
    และยังมี Discord สำหรับถามคำถามได้ด้วย
    https://discord.gg/c8JEZkDvtY
    คุณสามารถลองบิลด์เองแล้วทดสอบกับเว็บไซต์ต่าง ๆ จากนั้นแก้จุดที่ยังทำงานไม่ดีเมื่อเทียบกับ Firefox หรือ Chrome แล้วส่ง PR ได้เลย
    วิธีบิลด์ Ladybird ดูได้ที่
    https://github.com/LadybirdBrowser/ladybird/blob/master/Documentation/BuildInstructionsLadybird.md
    • เคยคิดจะลองมีส่วนร่วมอยู่เหมือนกัน แต่น่าเสียดายที่โค้ด C++ ยากเกินไปจนผมตามไม่ทัน
  • รู้สึกว่าแปลกที่จำกัดไว้ที่ 120Hz เพื่อรองรับจอรีเฟรชเรตสูง เพราะจอรีเฟรชเรตสูงส่วนใหญ่เป็น 144Hz และบางรุ่นก็สูงกว่านั้น ถ้ารันแอนิเมชัน 120fps บนจอ 144Hz เฟรมจะซ้ำกัน ทำให้ประโยชน์ที่ควรได้หายไปจริง ๆ
    • ตอนแรกผมนึกว่าอาจคำนึงถึงมือถือ แต่ดูเหมือนว่า Ladybird ยังไม่รองรับมือถือ ข้อความเขียนว่า “ตอนนี้ requestAnimationFrame สามารถเรนเดอร์ได้สูงสุด 120Hz” ซึ่งน่าจะเป็นการเปลี่ยนจาก 60 เป็น 120 เพราะประเด็นด้านประสิทธิภาพ และหวังว่าภายหน้าจะขยายไปถึง 144 หรือ 240 ได้
    • อีกความเป็นไปได้คือ นักพัฒนาที่ทำฟีเจอร์นี้อาจมีแค่จอ 120Hz
    • คิดว่าข้อความในจดหมายข่าวน่าจะเขียนคลาดเคลื่อนนิดหน่อย เพราะถ้าดูโค้ดจริง มันตั้งค่าตามรีเฟรชเรตของหน้าจอที่ใช้งานอยู่
  • บน Twitter, Andreas บอกว่าคีย์โน้ต Ladybird Browser ที่เขาพูดในงาน FUTO conference เป็นแหล่งข้อมูลที่ดีที่สุดสำหรับทำความรู้จักโปรเจกต์นี้
    https://www.youtube.com/watch?v=9YM7pDMLvr4
    • ผมบังเอิญไปเจอวิดีโอนี้บน YouTube เมื่อไม่กี่เดือนก่อน เป็นการพูดที่ดีมาก ทั้งสนุกและตามได้ง่ายแม้จะไม่ใช่นักพัฒนาเบราว์เซอร์ Andreas พูดเก่งมากจริง ๆ
  • โปรเจกต์นี้สำคัญมาก มันมีความหมายในแง่ที่ช่วยไม่ให้อนาคตของเว็บถูกควบคุมโดยบริษัทยักษ์ใหญ่ทั้งหมด และชื่อเสียงของ Andreas ที่เป็นคนใจดีและถ่อมตัวก็มีส่วนด้วย
    • เห็นด้วยว่า Andreas เป็นคนจริงใจและถ่อมตัวมาก วิดีโออัปเดตรายเดือนของเขาดูแล้วสบายใจมาก
    • มันทำให้ผมคิดว่า ถ้าโปรเจกต์นี้จะลดอิทธิพลของบริษัทใหญ่ได้จริง ก็ต้องมีส่วนแบ่งตลาดมากกว่า Firefox เพราะ Firefox เองก็ไม่ได้ถูกสร้างโดยบริษัทเช่นกัน
    • สงสัยว่าพวกเขาได้นำโมเดล AI อย่าง LLM มาใช้เพื่อเร่งความเร็วการพัฒนาหรือไม่ เพราะถ้าย้อนกลับไป 15 ปีก่อน การสร้างเบราว์เซอร์ใหม่ถือเป็นการตัดสินใจที่กล้ามาก แต่ตอนนี้กลับรู้สึกว่ามันสมเหตุสมผลเสียมากกว่า
  • เป็นเรื่องที่ดีมากที่ได้เห็นผู้คนจำนวนมากมารวมตัวกันสร้างโปรเจกต์ด้วยความหลงใหลและความเชื่อ หวังอย่างจริงใจว่า Ladybird จะเติบโตจนใช้งานเป็นเบราว์เซอร์หลักได้
    • ใช้เวลาบิลด์แค่ 15–20 นาทีเท่านั้น เลยมีคนแนะนำให้ลองคอมไพล์เอง ทดสอบกับเว็บไซต์ต่าง ๆ เทียบกับ Firefox และ Chrome แล้วหาสิ่งที่ยังไม่ทำงานก่อนแก้และส่ง PR
      https://github.com/LadybirdBrowser/ladybird/blob/master/Documentation/BuildInstructionsLadybird.md
  • สงสัยว่า Ladybird จะมีโอกาสได้เป็นสมาชิก steering group ของ WHAT-WG ในสักวันไหม คิดว่าถ้ามีเสียงที่เป็นอิสระมากขึ้นในนั้นก็น่าจะดี
    • แต่ก็รู้สึกว่าทีม Ladybird น่าจะโฟกัสกับการพัฒนาฟีเจอร์มากกว่าจะไปสนใจการเมืองของบริษัทยักษ์ใหญ่
  • หวังว่าโปรเจกต์นี้จะตั้งหลักในตลาดได้จริง ๆ ผมใช้ Firefox มานาน แต่พอเห็นสถานการณ์ของ Mozilla แย่ลงเรื่อย ๆ ก็รู้สึกว่าโปรเจกต์แบบนี้อาจเป็นความหวังเดียวที่จะช่วยพวกเราจากสงครามโคลนของ Chrome
  • ถ้าใช้ลินุกซ์ดิสโทรที่อิง Arch ก็สามารถติดตั้ง Ladybird ได้ง่าย ๆ เพราะมีอยู่ใน AUR ตอนนี้ผมกำลังคอมไพล์มันอยู่
  • อยากรู้ว่าประสบการณ์ใช้งาน Ladybird ตอนนี้เป็นอย่างไรบ้าง ผมย้ายมาจาก FF เลยต้องการแค่ ublock กับส่วนขยาย YouTube ไม่กี่ตัว
    • ตอนนี้ยังอยู่ในขั้น pre-alpha ดังนั้นแทบจะไม่ทำงานได้ดีบนเว็บไซต์สมัยใหม่เกือบทั้งหมดเลย (ผมคอมไพล์เองแล้วลองทดสอบมา) ยังไม่พร้อมสำหรับการใช้งานจริง โดยกำหนดการปล่อยเวอร์ชันเป้าหมายอย่างเป็นทางการคือปี 2028
      https://x.com/ladybirdbrowser/status/1895767072639951341