摘要:跨平臺(tái)開發(fā)是目前開發(fā)較熱門的方向,在這方面取得了很大的成功,同時(shí)也獲得了非常多的關(guān)注。最近發(fā)現(xiàn)了跨平臺(tái)的一個(gè)新框架,從官方簡(jiǎn)介來(lái)看這個(gè)框架還處于狀態(tài),目前還沒有完整的文檔,只有體驗(yàn)。希望能有更多的跨平臺(tái)開發(fā)框架出現(xiàn),推動(dòng)技術(shù)的發(fā)展。
跨平臺(tái)開發(fā)是目前開發(fā)較熱門的方向,React Native 在這方面取得了很大的成功,同時(shí) Flutter 也獲得了非常多的關(guān)注。React Native 采用 Web 框架開發(fā)并使用 Native UI 進(jìn)行渲染,很大程度上降低了 Native 開發(fā)的門檻并且提高迭代的效率,但是也不可避免地存在一些不足之處。
本人作為 RN 的長(zhǎng)期開發(fā)體驗(yàn)者,深知在有些技術(shù)在現(xiàn)有的 RN 這類框架上沒法得到很好的解決。比如首屏的速度,復(fù)雜的跟手動(dòng)畫,和原生 Android 和 iOS 上的體驗(yàn)確實(shí)有一定的差距的。當(dāng)然這些小小的毛病不能阻礙跨平臺(tái)開發(fā)技術(shù)的發(fā)展。本人也在持續(xù)的關(guān)注 Flutter,這個(gè)框架解決了RN上性能的問題,但是也增加了學(xué)習(xí)成本。
Lynx最近發(fā)現(xiàn)了跨平臺(tái)的一個(gè)新框架 Lynx ,從官方簡(jiǎn)介來(lái)看這個(gè)框架還處于 alpha 狀態(tài),目前還沒有完整的文檔,只有體驗(yàn) demo 。不過在體驗(yàn)了這個(gè)框架提供的 demo之后,感覺還是可以持續(xù)關(guān)注下去的。Lynx 官方宣稱擁有和 Native 一致的首屏速度和交互體驗(yàn),體驗(yàn) demo之后發(fā)現(xiàn)首屏速度和交互的確很優(yōu)秀。
體驗(yàn)正好在之前編譯 RN 和 Flutter 已經(jīng)下載好了 Android SDK 和 NDK ,按照 How To Build 進(jìn)行編譯還是比較方便的。
最終效果和官方給出的動(dòng)圖是一致的,就是整體的 demo 還是比較少的,略簡(jiǎn)單。頁(yè)面開發(fā)流程暫時(shí)還沒嘗試,只能先看看效果。
在 Lynx 的介紹里面看到了和其他現(xiàn)有的跨平臺(tái)框架相比的一些不一樣的特性,根據(jù)自己的體驗(yàn)和官方介紹簡(jiǎn)單說(shuō)一下:
頁(yè)面首屏展示,看到給出的 demo 就可以知道,這個(gè)和原生的 Android 和 iOS 頁(yè)面一樣,都可以做到直出的,基本沒有任何白屏的狀況。這一點(diǎn)相比于 RN 確實(shí)是一個(gè)不錯(cuò)的點(diǎn)。
交互動(dòng)畫,就是跟手動(dòng)畫,在 RN 上要去實(shí)現(xiàn)這類動(dòng)畫確實(shí)是比較難(本身因?yàn)橹虚g還要過一層 JSBridge 的原因),要么自己拓展 Native 的模塊。而在 demo 上的交互動(dòng)畫非常順暢,并沒有出現(xiàn)任何的卡頓,在效果上甚至比 Flutter 幀率更高。
JSBinding 機(jī)制,根據(jù)官方的說(shuō)法有更高效的 JSBridge,但是體驗(yàn)上暫時(shí)沒感覺出來(lái),稍后去研究一下代碼
動(dòng)態(tài)發(fā)布測(cè)試,這個(gè)是所有跨平臺(tái)框架必須有的,不算什么新鮮事。這個(gè)看文檔的介紹需要結(jié)合腳手架 lynx-cli 。
頁(yè)面直接展示和滿幀的交互動(dòng)畫的實(shí)現(xiàn)原理是什么呢?官方給出了一個(gè)簡(jiǎn)單的工作流程圖和介紹。理解了這個(gè)就基本知道這個(gè)問題的答案了,頁(yè)面展示快的原因是因?yàn)閷⑹灼恋恼故咀兂闪伺虐嫖募瑥亩赃^了 JS 的執(zhí)行生成首屏元素的步驟,而交互動(dòng)畫的實(shí)現(xiàn)也是通過了中間的交互動(dòng)畫引擎在接收到事件后直接響應(yīng),從而略過了 JS 的中間步驟。
體驗(yàn)完Lynx,覺得這個(gè)框架還是值得后續(xù)觀望,看下能做到什么程度。
最后Lynx 框架現(xiàn)在還是在 alpha 階段,暫時(shí)還不能直接用來(lái)開發(fā)要上線的應(yīng)用,功能也尚不完備,但是可以關(guān)注它的發(fā)展,畢竟這個(gè)技術(shù)在實(shí)現(xiàn)上和 RN 有所區(qū)別,也希望能有新的想法,在滿足先在的需求的情況下突破現(xiàn)有的局限。
嘗試 demo 之后,準(zhǔn)備去看看代碼,一探內(nèi)部實(shí)現(xiàn)。Lynx 的倉(cāng)庫(kù)也給出了可以使用的 API 列表,后續(xù)會(huì)根據(jù) API 進(jìn)行簡(jiǎn)單實(shí)踐。希望能有更多的跨平臺(tái)開發(fā)框架出現(xiàn),推動(dòng)技術(shù)的發(fā)展。
附上 Lynx 倉(cāng)庫(kù)地址:https://github.com/hxxft/lynx...
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/93941.html
摘要:服務(wù)器定時(shí)任務(wù)服務(wù)器定時(shí)任務(wù)需要你是獨(dú)立的服務(wù)器,或者是,總之就是對(duì)系統(tǒng)的配置有足夠的權(quán)限,虛擬空間就不要折騰這個(gè)方法了,因?yàn)槟銢]有權(quán)限。 文章轉(zhuǎn)載自:?jiǎn)栒f(shuō)網(wǎng) ? 詳解PHP設(shè)置定時(shí)任務(wù)的實(shí)現(xiàn)方法地址:http://www.uedsc.com/php-timing-task.html 定時(shí)運(yùn)行任務(wù)對(duì)于一個(gè)網(wǎng)站來(lái)說(shuō),是一個(gè)比較重要的任務(wù),比如定時(shí)發(fā)布文檔,定時(shí)清理垃圾信息等,現(xiàn)在的網(wǎng)站大...
摘要:為系統(tǒng)增加的第一行代碼不會(huì)影響該腳本在下的運(yùn)行,因此您也可以用該方法編寫跨平臺(tái)的腳本程序。指定會(huì)話頁(yè)面在客戶端中的有限期分鐘缺省下為分鐘。最原始的博主沒有找到,只能在此聲明,特為轉(zhuǎn)載。 這幾天需要用PHP寫一個(gè)定時(shí)抓取網(wǎng)頁(yè)的服務(wù)器應(yīng)用. 在網(wǎng)上搜了一下解決辦法, 發(fā)現(xiàn)OSchina的 一個(gè)問題的解答很精彩(值得一看,謝謝大牛們的精彩回答O(∩_∩)O~), 提出幾種解決辦法.現(xiàn)總結(jié)如下...
問題 1. - 釘釘開發(fā)需要哪些資質(zhì),需要申請(qǐng)哪些賬號(hào)、走哪些流程(像微信小程序的話,一大堆申請(qǐng)、一大堆企業(yè)認(rèn)證)——這些需要提前準(zhǔn)備了解清楚 怎么開發(fā)? 有哪些功能? 目前市場(chǎng)上有哪些別人的框架 收集學(xué)習(xí)材料 有哪些功能有,但是存在限制(例如小程序的打開 app 功能) 有哪些功能自身存在限制性(如小程序的地圖) 開發(fā)邊界是什么?有哪些需求是做不到的 有哪些功能是需要特殊資質(zhì)的(如...
摘要:我們繼續(xù)沿用了原來(lái)就有的,借此把融入整個(gè)微前端框架,而已經(jīng)改造的則不需要我們的開發(fā)團(tuán)隊(duì),分框架組和各個(gè)業(yè)務(wù)組。項(xiàng)目該項(xiàng)目是整個(gè)微前端項(xiàng)目的入口。本坑實(shí)踐它很大的理由也是用自己的方法初探微前端實(shí)踐方法的可行性。 在寫這篇文章的一個(gè)多月前,本坑還不知道微前端是什么,大概從字面上的含義是比較小的前端項(xiàng)目。 本坑開始實(shí)踐它,是由于工作要求。改造一個(gè)運(yùn)行多年,前端用jsp寫的服務(wù)平臺(tái)項(xiàng)目(以下簡(jiǎn)...
閱讀 2795·2023-04-26 01:47
閱讀 3601·2023-04-25 23:45
閱讀 2481·2021-10-13 09:39
閱讀 617·2021-10-09 09:44
閱讀 1807·2021-09-22 15:59
閱讀 2786·2021-09-13 10:33
閱讀 1733·2021-09-03 10:30
閱讀 667·2019-08-30 15:53