21 คะแนน โดย xguru 2025-03-11 | 3 ความคิดเห็น | แชร์ทาง WhatsApp
  • ทางเลือกแทน React Native ที่เร็วและลื่นไหลยิ่งกว่า ซึ่งสร้างโดย TikTok (ByteDance)
  • Lynx คือกลุ่มเทคโนโลยีที่ช่วยให้สร้าง Native UI ได้ด้วย เทคโนโลยีเว็บ
    • รองรับแพลตฟอร์มที่หลากหลาย เช่น มือถือและเว็บ ได้จากโค้ดเบสเดียว
  • มอบการเขียนโปรแกรม UI ที่เน้นประสิทธิภาพและเครื่องมือแบบ Rust-based สำหรับแอประดับใหญ่ เช่น TikTok
    • ตัดสินใจ โอเพนซอร์ส เพื่อก้าวข้ามข้อจำกัดของการพัฒนาข้ามแพลตฟอร์มแบบเดิม

ส่งมอบแอปเนทีฟขนาดใหญ่ที่รวดเร็ว

  • สำหรับผู้ใช้แอปมือถือ ประสบการณ์ที่ไม่เป็นเนทีฟมักนำไปสู่การรับรู้เชิงลบ
    • หน้าจอว่าง ความหน่วงของแอนิเมชันเพียง 0.1 วินาที หรือ UI ที่ไม่สม่ำเสมอ ล้วนทำให้ความน่าเชื่อถือลดลง
  • การสร้างประสบการณ์แบบเดียวกันบนหลายแพลตฟอร์มยังคงเป็นโจทย์ที่ยาก
  • Lynx รองรับหลายแพลตฟอร์มจากโค้ดเบสเดียว ช่วยลดทั้งเวลาและต้นทุนในการพัฒนา
  • TikTok ค่อย ๆ นำ Lynx มาใช้และได้ผลลัพธ์ที่ประสบความสำเร็จ
    • ใช้ Lynx บนแพลตฟอร์มหลากหลาย เช่น TikTok Studio, Shop และ LIVE
    • ใช้ Lynx ในอีเวนต์ขนาดใหญ่ด้วย เช่น Disney100 และ Met Gala

สร้างแรงบันดาลใจให้ชุมชนเว็บและกระตุ้นการเติบโต

  • เดิมทีแพลตฟอร์มเว็บถูกออกแบบมาสำหรับเอกสาร แต่ค่อย ๆ พัฒนาไปเป็นแพลตฟอร์มสำหรับสร้างแอป
  • PhoneGap (Cordova) และ React Native เป็นตัวอย่างบุกเบิกที่เชื่อมเทคโนโลยีเว็บเข้ากับ Native UI
  • Lynx รักษาจุดแข็งของเทคโนโลยีเว็บไว้ พร้อมเพิ่มข้อจำกัดและส่วนขยายที่ชัดเจน เพื่อสร้างโมเดลที่เหมาะกับการพัฒนาแอปมากขึ้น
    • สอดคล้องกับเทคโนโลยีเว็บ: รองรับมาร์กอัปและ CSS
    • ส่วนขยายและความแตกต่าง: ใช้เจตนาการออกแบบที่ชัดเจนซึ่งแตกต่างจากเว็บ

ออกแบบได้บนพื้นฐานของมาร์กอัปและ CSS

  • Lynx ยังคงความคุ้นเคยของแนวทางการพัฒนาแบบเว็บ
    • รองรับ CSS animation และ transition
    • รองรับ CSS selector และตัวแปร เพื่อกำหนดธีม
    • รองรับเอฟเฟกต์ภาพ CSS สมัยใหม่ เช่น clipping และ masking

ใช้งานเมนเธรดอย่างมีประสิทธิภาพ

  • ประมวลผลสคริปต์ของผู้ใช้โดยแยกออกเป็น 2 รันไทม์
    • Main Thread Runtime: ทำงานบน PrimJS (JavaScript engine) เพื่อเรนเดอร์ UI ครั้งแรกและจัดการอีเวนต์ลำดับความสำคัญสูง
    • Background Runtime: รันโค้ดผู้ใช้ทั่วไป
  • มีความสามารถหลัก 2 อย่าง
    1. Instant First-Frame Rendering (IFR): เรนเดอร์เฟรมแรกได้ทันที → กำจัดหน้าจอว่าง
    2. Main-Thread Scripting (MTS): จัดการอีเวนต์ความสำคัญสูงได้อย่างลื่นไหล
  • UI ที่สร้างด้วย Lynx ให้ประสิทธิภาพการทำงานเร็วขึ้นโดยเฉลี่ย 2~4 เท่า

Lynx โอเพนซอร์สแล้ว

  • Lynx พัฒนาโดย ByteDance และถูกใช้งานอย่างกว้างขวางใน TikTok
  • TikTok จะสนับสนุนโอเพนซอร์สของ Lynx และมีส่วนช่วยเสริมความแข็งแกร่งด้านเทคโนโลยี กระตุ้นชุมชน และขยายระบบนิเวศ

ทำให้เทคโนโลยีข้ามแพลตฟอร์มเข้าถึงได้กว้างขึ้น

  • การพัฒนาข้ามแพลตฟอร์มแบบเดิมถูกขับเคลื่อนโดยผู้เล่นรายใหญ่เพียงบางส่วน
  • Lynx ไม่ได้มอบแค่โซลูชันเดียว แต่เป็นเมตาอินฟราสตรักเจอร์ที่เปิดให้ใช้แนวทางได้หลากหลาย
  • ReactLynx: รองรับคอมโพเนนต์สไตล์ React และ Declarative UI บน Lynx
  • มี Rspeedy (บันเดลเลอร์ที่พัฒนาด้วย Rust) → รองรับการบิลด์ที่รวดเร็วและ module federation
  • Lynx ไม่ผูกติดกับเฟรมเวิร์กหรือเรนเดอริงแบ็กเอนด์ใดโดยเฉพาะ
    • ได้แรงบันดาลใจจากโปรเจกต์อย่าง Chromium, Flutter และ React Native
    • สามารถรัน Lynx บนเบราว์เซอร์ได้ → ขยายไปสู่เดสก์ท็อป ทีวี และ IoT ได้

จุดเริ่มต้นใหม่

  • Lynx ถูกใช้งานจริงในโปรดักชันแล้ว และเปิดตัวในเวอร์ชัน 3.x
  • จะเปิดเผยกระบวนการพัฒนาอย่างโปร่งใสผ่านโอเพนซอร์ส
  • คอมโพเนนต์เพิ่มเติม กราฟิกเรนเดอเรอร์ และเฟรมเวิร์กต่าง ๆ จะทยอยเปิดเผยในอนาคต
  • ตั้งใจทำงานร่วมกับชุมชนโอเพนซอร์สเพื่อก้าวข้ามข้อจำกัดของการพัฒนาข้ามแพลตฟอร์ม
  • ยินดีรับฟังฟีดแบ็กและการมีส่วนร่วมจากชุมชน

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

 
halfenif 2025-03-12

ดูเหมือนว่าการใช้ Lynx Explorer ที่ถูกบิลด์ไว้ล่วงหน้าจะเหมาะแค่ในขั้นตอนพัฒนาเท่านั้น และในทางปฏิบัติก็เข้าใจได้ว่าการบิลด์ Lynx Explorer เองต้องใช้ effort พอสมควร

 
caniel 2025-03-11

ผมสนใจ React-Native มากอยู่แล้ว ตัวนี้ก็น่าสนใจเหมือนกันนะครับ

 
xguru 2025-03-11

เนื้อหาข้างต้นนำมาจากบทความแนะนำอย่างเป็นทางการ Lynx: Unlock Native for More