- Alternatif React Native yang lebih cepat dan lebih mulus buatan TikTok (ByteDance)
- Lynx adalah keluarga teknologi yang membantu membuat UI native menggunakan teknologi web
- Memungkinkan satu codebase untuk mendukung beragam platform seperti mobile dan web
- Menyediakan pemrograman UI yang berfokus pada performa dan tooling berbasis Rust untuk aplikasi berskala besar seperti TikTok
- Diputuskan untuk di-open-source-kan demi melampaui keterbatasan pengembangan cross-platform yang ada
Menyediakan aplikasi native berskala besar dan berkecepatan tinggi
- Bagi pengguna aplikasi mobile, pengalaman yang tidak native dapat menimbulkan persepsi negatif
- Layar kosong, jeda animasi 0,1 detik, UI yang tidak konsisten, dan sebagainya menjadi faktor penurunan kepercayaan
- Membangun pengalaman yang sama sambil mendukung berbagai platform masih menjadi masalah yang sulit
- Lynx mendukung berbagai platform dari satu codebase sehingga dapat mengurangi waktu dan biaya pengembangan
- TikTok mengadopsi Lynx secara bertahap dan memperoleh hasil yang sukses
- Lynx digunakan di berbagai platform seperti TikTok Studio, Shop, dan LIVE
- Lynx juga dimanfaatkan pada acara besar (Disney100, Met Gala, dll.)
Memberikan inspirasi bagi komunitas web dan mendorong pertumbuhan
- Platform web awalnya dirancang berbasis dokumen, tetapi secara bertahap berkembang menjadi platform pengembangan aplikasi
- PhoneGap (Cordova) dan React Native adalah contoh perintis yang menghubungkan teknologi web dengan UI native
- Lynx mempertahankan kekuatan teknologi web sambil menghadirkan model yang dioptimalkan untuk pengembangan aplikasi melalui batasan dan ekstensi yang jelas
- Mematuhi teknologi web: mendukung markup dan CSS
- Ekstensi dan diferensiasi: menerapkan niat desain yang jelas dan berbeda dari web
Desain berbasis markup dan CSS dimungkinkan
- Lynx mempertahankan keakraban cara kerja pengembangan web
- Mendukung animasi CSS dan efek transisi
- Mendukung selector CSS dan variabel untuk pengaturan tema
- Mendukung efek visual CSS modern seperti clipping dan masking
Penggunaan main thread yang efisien
- Skrip pengguna diproses dengan membaginya ke dalam dua runtime
- Runtime main thread: berbasis PrimJS (mesin JavaScript) untuk rendering awal UI dan penanganan event prioritas
- Runtime background: menjalankan kode pengguna utama
- Menyediakan dua fungsi inti
- Instant First-Frame Rendering (IFR): langsung merender frame pertama → menghilangkan layar kosong
- Main-Thread Scripting (MTS): menangani event berprioritas tinggi dengan mulus
- UI berbasis Lynx memberikan performa eksekusi rata-rata 2–4 kali lebih cepat
Lynx menjadi open source
- Lynx dikembangkan oleh ByteDance dan digunakan secara luas di TikTok
- TikTok akan mendukung open source Lynx serta berkontribusi pada penguatan teknologi, aktivasi komunitas, dan pertumbuhan ekosistem
Mempopulerkan teknologi cross-platform
- Pengembangan cross-platform yang ada selama ini didominasi oleh beberapa pemain utama
- Lynx tidak menawarkan satu solusi tunggal, melainkan meta-infrastructure → memungkinkan berbagai pendekatan
- ReactLynx: mendukung komponen bergaya React dan UI deklaratif berbasis Lynx
- Tersedia Rspeedy (bundler berbasis Rust) → mendukung build cepat dan module federation
- Lynx tidak bergantung pada framework tertentu maupun backend rendering tertentu
- Mengambil inspirasi dari proyek seperti Chromium, Flutter, dan React Native
- Lynx dapat dijalankan di browser → dapat diperluas ke desktop, TV, IoT, dan lainnya
Awal yang baru
- Lynx sudah digunakan di production dan dirilis sebagai versi 3.x
- Melalui open source, proses pengembangannya akan dibuka secara transparan
- Komponen tambahan, graphic renderer, framework, dan lainnya akan dirilis kemudian
- Ingin bekerja sama dengan komunitas open source untuk melampaui batas pengembangan cross-platform
- Menyambut feedback dan kontribusi dari komunitas
3 komentar
Sepertinya penggunaan Lynx Explorer yang sudah dibangun sebelumnya hanya berlaku pada tahap pengembangan. Secara realistis, saya memahaminya bahwa proses membangun Lynx Explorer sendiri memerlukan effort.
Saya sangat tertarik dengan React-Native, jadi yang ini juga bikin penasaran.
Konten di atas diambil dari Lynx: Unlock Native for More, yaitu artikel perkenalan resmi.