近日,Lynx團隊震撼宣布,其精心打造的跨平臺UI框架——Lynx正式向公眾開放源代碼。這一框架旨在賦能Web開發(fā)者,使他們能夠憑借既有技能,通過單一代碼庫,輕松構(gòu)建出既適用于移動端原生環(huán)境,又能在Web端流暢運行的界面。
Lynx框架專為豐富多變的交互場景而生,其身影已活躍于TikTok等知名應(yīng)用中。據(jù)官方闡述,Lynx集成了高性能的渲染引擎、功能全面的工具集、以性能為核心的雙線程UI編程模式,以及基于Rust的現(xiàn)代化工具鏈等亮點,展現(xiàn)了強大的技術(shù)實力。
Lynx深度融合了開發(fā)者們耳熟能詳?shù)腤eb開發(fā)模式,允許他們繼續(xù)沿用熟悉的標(biāo)記語言和CSS來打造界面。該框架原生支持CSS動畫、過渡效果、選擇器、變量,以及現(xiàn)代CSS視效功能,如漸變、裁剪和遮罩,為開發(fā)者提供了極大的便利。
Lynx在架構(gòu)設(shè)計上的獨到之處,在于其靜態(tài)強制劃分用戶腳本的運行環(huán)境。具體而言,用戶腳本被拆分為兩部分,分別運行在兩個獨立的運行時環(huán)境中。其中,主線程運行時由專為Lynx優(yōu)化的PrimJS Java引擎驅(qū)動,享有獨占的同步UI操作權(quán)限,負責(zé)處理啟動和高優(yōu)先級事件;而后臺運行時則作為用戶代碼的默認(rèn)執(zhí)行環(huán)境,確保主線程的低負載與非阻塞狀態(tài)。
這一創(chuàng)新架構(gòu)為Lynx帶來了兩大顯著優(yōu)勢:首幀直出(Instant First-frame Rendering,IFR)與主線程腳本(Main Thread script,MTS)。首幀直出通過短暫阻塞主線程,確保界面首幀一次性完整呈現(xiàn),從而避免空白界面,為用戶帶來即時響應(yīng)的流暢體驗。而主線程腳本則是一小段靜態(tài)調(diào)度的代碼,專門用于處理高優(yōu)先級事件和手勢行為,實現(xiàn)原生般的交互觸感。
在實際應(yīng)用中,Lynx團隊發(fā)現(xiàn),從Web遷移到Lynx的界面普遍能夠顯著縮短啟動時間,達到2至4倍的提升。同時,內(nèi)部性能測試顯示,在iOS平臺上,Lynx的表現(xiàn)與同類技術(shù)不相上下;而在安卓平臺上,Lynx則持續(xù)保持領(lǐng)先地位。
Lynx最初由字節(jié)跳動的工程團隊研發(fā),并將持續(xù)由其推動演進。作為Lynx的重要用戶,TikTok高度認(rèn)可其創(chuàng)新與潛力,并積極促進Lynx的開源發(fā)布。TikTok將在資金、技術(shù)優(yōu)化、社區(qū)推廣和生態(tài)建設(shè)等方面為Lynx提供全方位支持,共同推動其繁榮發(fā)展。
開源地址已公布,誠邀廣大開發(fā)者共同探索與貢獻。