Lynx - वेब तकनीक-आधारित native app development tool
(lynxjs.org)- TikTok(ByteDance) द्वारा बनाया गया एक तेज़ और अधिक स्मूद React Native विकल्प
- Lynx एक तकनीकी family है जो वेब तकनीकों का उपयोग करके native UI बनाने में मदद करती है
- एक ही codebase से mobile, web आदि कई platforms को support किया जा सकता है
- TikTok जैसे बड़े apps में performance-केंद्रित UI programming और Rust-आधारित tooling प्रदान करता है
- मौजूदा cross-platform development की सीमाओं को पार करने के लिए इसे open source करने का निर्णय लिया गया
बड़े पैमाने पर, उच्च-गति वाले native apps प्रदान करना
- mobile app users के लिए non-native अनुभव नकारात्मक धारणा पैदा करता है
- blank screen, 0.1 सेकंड की animation delay, असंगत UI आदि भरोसा कम करने वाले कारण हैं
- कई platforms को support करते हुए एक जैसा अनुभव बनाना अभी भी एक कठिन समस्या है
- Lynx एक single codebase से कई platforms को support करता है, जिससे development time और cost कम हो सकती है
- TikTok ने Lynx को धीरे-धीरे अपनाकर सफल परिणाम हासिल किए
- TikTok Studio, Shop, LIVE जैसे कई platforms में Lynx का उपयोग हो रहा है
- बड़े events (Disney100, Met Gala आदि) में भी Lynx का उपयोग किया गया
वेब community को प्रेरणा देना और विकास को बढ़ावा देना
- web platform मूल रूप से document-आधारित रूप में डिज़ाइन किया गया था, लेकिन धीरे-धीरे app development platform के रूप में विकसित हुआ
- PhoneGap(Cordova) और React Native वेब तकनीकों और native UI को जोड़ने वाले शुरुआती उदाहरण हैं
- Lynx वेब तकनीकों की ताकत बनाए रखते हुए, स्पष्ट constraints और extensions के ज़रिए app development के लिए optimized model प्रदान करता है
- वेब तकनीकों के अनुरूप: markup और CSS support
- extension और भिन्नता: web से अलग स्पष्ट design intent लागू
markup और CSS आधारित design संभव
- Lynx web development तरीके की परिचितता बनाए रखता है
- CSS animation और transition effects support
- CSS selectors और variables support, जिससे theming संभव
- clipping, masking जैसे आधुनिक CSS visual effects support
main thread का कुशल उपयोग
- user scripts को दो runtimes में बाँटकर प्रोसेस किया जाता है
- main thread runtime: PrimJS(JavaScript engine) आधारित, UI की initial rendering और priority events को संभालता है
- background runtime: सामान्य user code को चलाता है
- दो मुख्य features प्रदान किए जाते हैं
- Instant First-Frame Rendering (IFR): पहला frame तुरंत render होता है → blank screen हटती है
- Main-Thread Scripting (MTS): high-priority events को स्मूद तरीके से संभालता है
- Lynx-आधारित UI औसतन 2~4 गुना तेज़ execution performance देता है
Lynx open source
- Lynx ByteDance द्वारा विकसित है और TikTok में व्यापक रूप से उपयोग हो रहा है
- TikTok Lynx open source को support करेगा और तकनीक को मज़बूत करने, community को सक्रिय करने और ecosystem के विकास में योगदान देगा
cross-platform तकनीक का प्रसार
- मौजूदा cross-platform development पर कुछ बड़े vendors का दबदबा रहा है
- Lynx एक single solution नहीं, बल्कि meta infrastructure प्रदान करता है → कई approaches की अनुमति देता है
- ReactLynx: Lynx-आधारित React-style componentization और declarative UI support
- Rspeedy(Rust-आधारित bundler) प्रदान किया जाता है → तेज़ build और module federation support
- Lynx किसी खास framework या rendering backend पर निर्भर नहीं है
- Chromium, Flutter, React Native जैसे projects से प्रेरणा ली गई है
- browser में Lynx चल सकता है → desktop, TV, IoT आदि तक विस्तार संभव
एक नई शुरुआत
- Lynx पहले से ही production में उपयोग हो रहा है और version 3.x के रूप में जारी किया गया है
- open source के ज़रिए पारदर्शी development process सार्वजनिक की जाएगी
- अतिरिक्त components, graphics renderer, framework आदि बाद में जारी किए जाएंगे
- open source community के साथ मिलकर cross-platform development की सीमाओं को पार करने का लक्ष्य है
- community feedback और contributions का स्वागत है
3 टिप्पणियां
मुझे लगता है कि पहले से बिल्ट Lynx Explorer का इस्तेमाल सिर्फ़ development stage में ही होगा। व्यावहारिक रूप से समझें तो Lynx Explorer को build करने की प्रक्रिया में भी effort लगता है।
मुझे React-Native में काफ़ी दिलचस्पी है, तो यह भी दिलचस्प लग रहा है।
उपरोक्त सामग्री आधिकारिक परिचय लेख Lynx: Unlock Native for More से ली गई है।