21 điểm bởi xguru 2025-03-11 | 3 bình luận | Chia sẻ qua WhatsApp
  • Giải pháp thay thế React Native nhanh hơn và mượt hơn do TikTok (ByteDance) tạo ra
  • Lynx là một họ công nghệ giúp tạo ra UI native bằng công nghệ web
    • Có thể hỗ trợ nhiều nền tảng như di động và web từ một codebase duy nhất
  • Cung cấp lập trình UI tập trung vào hiệu năng và bộ công cụ dựa trên Rust cho các ứng dụng quy mô lớn như TikTok
    • Đã quyết định mã nguồn mở để vượt qua các giới hạn của phát triển đa nền tảng hiện có

Cung cấp ứng dụng native quy mô lớn, tốc độ cao

  • Với người dùng ứng dụng di động, trải nghiệm không-native dễ dẫn đến ấn tượng tiêu cực
    • Màn hình trống, độ trễ hoạt ảnh 0,1 giây, UI thiếu nhất quán... đều làm giảm mức độ tin cậy
  • Việc xây dựng cùng một trải nghiệm trong khi vẫn hỗ trợ nhiều nền tảng vẫn là một bài toán khó
  • Lynx hỗ trợ nhiều nền tảng từ một codebase duy nhất, giúp giảm thời gian và chi phí phát triển
  • TikTok đã triển khai Lynx theo từng giai đoạn và đạt được kết quả thành công
    • Lynx được sử dụng trên nhiều nền tảng như TikTok Studio, Shop, LIVE
    • Lynx cũng được dùng trong các sự kiện lớn (Disney100, Met Gala, v.v.)

Truyền cảm hứng cho cộng đồng web và thúc đẩy tăng trưởng

  • Nền tảng web ban đầu được thiết kế theo hướng tài liệu, nhưng dần phát triển thành một nền tảng xây dựng ứng dụng
  • PhoneGap (Cordova) và React Native là những ví dụ tiên phong kết nối công nghệ web với UI native
  • Lynx giữ lại các điểm mạnh của công nghệ web, đồng thời cung cấp một mô hình được tối ưu cho phát triển ứng dụng thông qua các ràng buộc và mở rộng rõ ràng
    • Tuân thủ công nghệ web: hỗ trợ markup và CSS
    • Mở rộng và khác biệt hóa: áp dụng chủ đích thiết kế rõ ràng khác với web

Có thể thiết kế dựa trên markup và CSS

  • Lynx giữ lại sự quen thuộc của cách phát triển web
    • Hỗ trợ hoạt ảnh CSS và hiệu ứng chuyển tiếp
    • Hỗ trợ selector và biến CSS để thiết lập theme
    • Hỗ trợ các hiệu ứng hình ảnh CSS hiện đại như clipping, masking

Sử dụng hiệu quả main thread

  • Xử lý script người dùng bằng cách tách thành hai runtime
    • Runtime main thread: dựa trên PrimJS (JavaScript engine), đảm nhiệm render UI ban đầu và xử lý các sự kiện ưu tiên cao
    • Runtime nền: thực thi mã người dùng thông thường
  • Cung cấp hai tính năng cốt lõi
    1. Instant First-Frame Rendering (IFR): render ngay khung hình đầu tiên → loại bỏ màn hình trống
    2. Main-Thread Scripting (MTS): xử lý mượt mà các sự kiện có độ ưu tiên cao
  • UI xây dựng trên Lynx cho hiệu năng thực thi trung bình nhanh hơn 2–4 lần

Lynx được mã nguồn mở

  • Lynx do ByteDance phát triển và đang được sử dụng rộng rãi trong TikTok
  • TikTok sẽ hỗ trợ mã nguồn mở Lynx, tăng cường công nghệ, thúc đẩy cộng đồng và đóng góp vào sự phát triển của hệ sinh thái

Phổ cập công nghệ đa nền tảng

  • Phát triển đa nền tảng hiện nay chủ yếu do một số nhà cung cấp lớn dẫn dắt
  • Lynx không cung cấp một giải pháp đơn lẻ mà là một hạ tầng meta → cho phép nhiều cách tiếp cận khác nhau
  • ReactLynx: hỗ trợ thành phần hóa theo phong cách React và UI khai báo dựa trên Lynx
  • Cung cấp Rspeedy (bundler dựa trên Rust) → hỗ trợ build nhanh và module federation
  • Lynx không phụ thuộc vào framework hay backend render cụ thể nào
    • Lấy cảm hứng từ các dự án như Chromium, Flutter, React Native
    • Có thể chạy Lynx trong trình duyệt → mở rộng sang desktop, TV, IoT, v.v.

Một khởi đầu mới

  • Lynx đã được sử dụng trong production và được công bố ở phiên bản 3.x
  • Quá trình phát triển minh bạch sẽ được công khai thông qua mã nguồn mở
  • Các component, graphic renderer, framework bổ sung... sẽ được công bố sau
  • Mong muốn hợp tác với cộng đồng mã nguồn mở để vượt qua các giới hạn của phát triển đa nền tảng
  • Hoan nghênh phản hồi và đóng góp từ cộng đồng

3 bình luận

 
halfenif 2025-03-12

Có vẻ việc dùng Lynx Explorer được build sẵn chỉ phù hợp ở giai đoạn phát triển. Thực tế hơn thì tôi hiểu là sẽ cần bỏ công sức vào quá trình build Lynx Explorer.

 
caniel 2025-03-11

Mình rất quan tâm đến React-Native, nên cũng tò mò về anh chàng này.

 
xguru 2025-03-11

Nội dung trên được trích từ bài giới thiệu chính thức Lynx: Unlock Native for More.