有。只要你的學(xué)習(xí)的能力強(qiáng),有比較強(qiáng)的技術(shù),如果你是在讀大學(xué),一定要認(rèn)真學(xué)習(xí),需要有比較好的基礎(chǔ),在未來(lái)的很長(zhǎng)一段時(shí)間,移動(dòng)開(kāi)發(fā)都站的比較多的位置。因?yàn)楝F(xiàn)在是智能手機(jī)的時(shí)代。移動(dòng)開(kāi)發(fā)包含移動(dòng)端app,還有移動(dòng)的端的游戲等
在鶴山等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作按需開(kāi)發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),營(yíng)銷(xiāo)型網(wǎng)站,外貿(mào)網(wǎng)站制作,鶴山網(wǎng)站建設(shè)費(fèi)用合理。
開(kāi)源項(xiàng)目其實(shí)有一個(gè)成熟周期,這個(gè)周期大概是三年左右,自React框架在2013年發(fā)布并引爆了前端框架的大潮,這個(gè)屬于前端的周期就此開(kāi)始了。
之后在2015年5月開(kāi)源的React Native又開(kāi)啟了屬于Web移動(dòng)前端的周期,15-16年,18-19年,21-22年正好就是屬于移動(dòng)前端的三個(gè)爆發(fā)點(diǎn)。
三年前,在第一個(gè)成熟收獲期,我盤(pán)點(diǎn)了移動(dòng)開(kāi)發(fā)框架。在這第二個(gè)成熟收獲期,理所當(dāng)然要來(lái)盤(pán)點(diǎn)一波。
不過(guò),當(dāng)我點(diǎn)開(kāi)github項(xiàng)目的code-frequency時(shí),還是被這個(gè)準(zhǔn)到嚇人的周期猜想驚呆了,先給你們看一波,剩下的自行驗(yàn)證。
1、
2、
再來(lái)說(shuō)第二個(gè)比較有意思的發(fā)現(xiàn),停止維護(hù)的項(xiàng)目絕大多數(shù)是Vue框架項(xiàng)目。
盤(pán)點(diǎn)開(kāi)始的時(shí)候我還覺(jué)得React框架處于絕對(duì)劣勢(shì),到完成時(shí)我發(fā)現(xiàn)React無(wú)論在選擇面還是成熟度上都超過(guò)了Vue。
原因我這里就不分析了,反正大家都有自己的看法。
網(wǎng)頁(yè)類(lèi)框架就是前端組件框架,這一次雖然有大量項(xiàng)目停止維護(hù),但是也有很多項(xiàng)目堅(jiān)持了下來(lái),而且還涌現(xiàn)出了一批新項(xiàng)目。
大廠占了主導(dǎo),因?yàn)檫@些年大廠在移動(dòng)開(kāi)發(fā)上的需求,遠(yuǎn)高于其它方面。個(gè)人項(xiàng)目要堅(jiān)持確實(shí)不易。
本來(lái)是想要做一個(gè)驗(yàn)證項(xiàng)目,把所有框架都試用一遍并給出推薦度的。由于進(jìn)度太慢,還是下一次再發(fā)吧。
這次的重點(diǎn)是漸進(jìn)類(lèi)框架,就是所謂多端同構(gòu)框架(小程序框架)。這幾年國(guó)內(nèi)的重點(diǎn)的各種小程序平臺(tái),所以多端框架的需求很是旺盛。
不過(guò)大多數(shù)先行者都沒(méi)挺過(guò)來(lái)還是讓我很意外,只有Taro成功了,想想還是有很多讓人唏噓的東西。
在這里還是先預(yù)測(cè)一波吧,因?yàn)檫@一類(lèi)框架最變化最大,最終還是有很多框架要出局的。
漸進(jìn)類(lèi)框架是一個(gè)過(guò)渡性的產(chǎn)品,最終會(huì)變成橋接類(lèi)框架的一部分,所以,與橋接類(lèi)框架協(xié)同才是框架的出路。
這個(gè)賽道基本全是大廠了。
騰訊新一代跨端開(kāi)發(fā)框架Hippy
Hippy一看就是淘寶Weex的對(duì)標(biāo)項(xiàng)目,Kpi功能全面壓制。所以官方支持 React 和 Vue 兩種主流前端框架。在Weex2019年實(shí)質(zhì)停更后發(fā)布,要不要這么卷?
Hippy 2.x 架構(gòu)主要分成三層,UI(JS) 層 Hippy-React 和 Hippy-Vue 負(fù)責(zé)驅(qū)動(dòng) UI 指令生成;中間層 C++ HippyCore 負(fù)責(zé)抹平平臺(tái)差異性和提供高性能模塊;渲染層 Android 和 iOS 負(fù)責(zé)提供終端底層模塊、組件,并與布局引擎通信。
對(duì)Weex慘遭遺棄,我上次就說(shuō)過(guò):「ReactNative提供工具,Weex提供框架,將平臺(tái)差異化屏蔽(Write Once, Run Everywhere)。所以Weex則注定功能相對(duì)弱小,并且坑比較多。」Weex最終下馬也是必然的,淘寶又發(fā)布升級(jí)版北海,為了實(shí)現(xiàn)(Write Once, Run Everywhere),它采用自繪,而且是基于Flutter自繪。
所以Hippy3.x就一如既往的Kpi功能層層加碼,很有騰訊風(fēng)格。在未來(lái)的 3.x 中業(yè)務(wù)與渲染層中的具體實(shí)現(xiàn)可根據(jù)用戶實(shí)際場(chǎng)景進(jìn)行切換:業(yè)務(wù)層上不再局限于 JS 驅(qū)動(dòng),還可選擇(如:DSL/Dart/WASM 等)其它語(yǔ)言進(jìn)行驅(qū)動(dòng);在渲染層中,渲染引擎除了支持現(xiàn)有原生(Native)渲染之外,還可以選擇其他渲染 Renderer,如 Flutter(Voltron) 渲染。
「Kraken 北海」是一款高性能Web渲染引擎。底層基于 Flutter 進(jìn)行渲染。
Kraken 不限制上層開(kāi)發(fā)者使用的框架,無(wú)論你是使用 Vue 、Rax 還是 React 都可以開(kāi)發(fā) Kraken 應(yīng)用。
Kraken 的 runtime 通過(guò) JS Engine Binding 的方式提供了一系列 Web 標(biāo)準(zhǔn)的 API 接口,調(diào)用相應(yīng) API 會(huì)執(zhí)行相關(guān)邏輯并創(chuàng)建一系列需要發(fā)送給 Dart 層處理的指令。
Kraken 其實(shí)就是一個(gè)小程序平臺(tái),而且追求全平臺(tái)完全一致。我雖然認(rèn)為各平臺(tái)不一致是很自然的事情,但是也表示理解,畢竟別人吹牛有當(dāng)真的傳統(tǒng)(KFC表示認(rèn)同)。
Kraken 現(xiàn)在也是一個(gè)小號(hào)瀏覽器,所以它的主要工作就是摳標(biāo)準(zhǔn),畢竟它是一款基于 W3C 標(biāo)準(zhǔn)的高性能渲染引擎。
最后,我勸淘寶領(lǐng)導(dǎo)定Kpi要理智些,畢竟Hippy4我還蠻期待的。
滴滴出品的超輕量級(jí)動(dòng)態(tài)化跨端開(kāi)發(fā)框架,主打輕量和實(shí)用。
Hummer 以 JS 引擎為基石,目前已支持 JavaScriptCore、Hermers、QuickJS 等業(yè)內(nèi)知名 JS 引擎(這里本來(lái)還有個(gè)V8的,我刪除了,源碼里面沒(méi)有,Kpi需要)。再配合經(jīng)過(guò)調(diào)優(yōu)的 Yoga 布局引擎,抹平了兩端視圖布局差異(性能更佳的自研布局引擎開(kāi)發(fā)中)。順便提一下,Hippy采用V8(功能更強(qiáng))自研布局引擎(性能更佳)。
Hummer 的特點(diǎn)是拋棄了業(yè)界其他動(dòng)態(tài)化跨端框架普遍使用的DSL層和VDOM層,因此原生 Hummer 不具備前端開(kāi)發(fā)常用的響應(yīng)式編程的能力,但同時(shí)換來(lái)的是接近原生開(kāi)發(fā)的體驗(yàn)和性能。再以原生 Hummer 為基礎(chǔ),在此之上開(kāi)發(fā)了一套基于MVVM架構(gòu)的開(kāi)發(fā)框架 —— Tenon ,通過(guò) Tenon,可以把使用 Vue/React 編寫(xiě)的代碼,轉(zhuǎn)換成原生 Hummer 的代碼。
Hummer也是一個(gè)小程序平臺(tái),而且超輕量。如果想要無(wú)限提升自己APP的能力,可以考慮嵌入Hummer。
Web移動(dòng)前端框架正在迎來(lái)第三個(gè)高速發(fā)展期,各類(lèi)框架得到極大繁榮。
個(gè)人在具體項(xiàng)目的貢獻(xiàn)已經(jīng)微乎其微了,創(chuàng)新、架構(gòu)創(chuàng)新是唯一制勝的手段,這也是我看好React的根本原因。
最后,還是想做點(diǎn)微不足道的 探索 ,現(xiàn)在前端組件庫(kù)層出不窮,更換組件庫(kù)帶來(lái)的代價(jià)有點(diǎn)大。想創(chuàng)建一個(gè)框架,來(lái)實(shí)現(xiàn)上次說(shuō)的組件公約數(shù)和公倍數(shù),無(wú)縫切換組件庫(kù)。理論上支持所有組件庫(kù) ,也能為后來(lái)者提供彎道超車(chē)的機(jī)會(huì)。我想大廠可能沒(méi)有需求,也不會(huì)愿意發(fā)布這種框架,畢竟都是平臺(tái)部門(mén)說(shuō)了算。
這個(gè)庫(kù)就是useMobile,當(dāng)然分為useMobileReact和useMobileVue。下次先發(fā)布useMobileReact。等我發(fā)布后,再來(lái)填上面表中缺的推薦度。
原文地址:
dynamic_widget 是一個(gè)可以用json來(lái)描述flutter widget的動(dòng)態(tài)布局框架,json code和flutter widget code一一對(duì)應(yīng),如下圖:
dynamic_widget:
沒(méi)有。
咸魚(yú)flutter沒(méi)有換成h5,咸魚(yú)不僅有flutter的開(kāi)發(fā)應(yīng)用,還包括h5的開(kāi)發(fā)應(yīng)用,flutterflutter更偏向客戶端的研發(fā)體系,h5性能穩(wěn)定,因?yàn)槎哂胁煌膬?yōu)勢(shì),所以咸魚(yú)flutter沒(méi)有換成h5,而是兩者共用。
咸魚(yú)flutter是一個(gè)全新的移動(dòng)UI框架,它允許使用同一個(gè)代碼庫(kù)構(gòu)建高性能的Android和iOS應(yīng)用,在此基礎(chǔ)之上,以h5為數(shù)據(jù)分析的系統(tǒng),進(jìn)行大數(shù)據(jù)分析,從而二者共同促進(jìn)咸魚(yú)的使用率。
Flutter是一個(gè)移動(dòng)應(yīng)用程序的軟件開(kāi)發(fā)工具包(SDK),具有以下特征:
跨平臺(tái)應(yīng)用的框架,沒(méi)有使用WebView或者系統(tǒng)平臺(tái)自帶的控件,使用自身的高性能渲染引擎自繪
簡(jiǎn)化版的瀏覽器,最大限度在android和ios上統(tǒng)一UI,包括業(yè)務(wù)邏輯和用戶體驗(yàn)
開(kāi)發(fā)語(yǔ)言使用dart,結(jié)合C, C++, 和Skia(2D渲染引擎)構(gòu)建
支持hot reload,包含著完整的控件和工具鏈
一切皆控件,控件是每個(gè)Flutter應(yīng)用程序的基本構(gòu)建塊,與分離視圖、控制器、布局和其他屬性的框架不同,F(xiàn)lutter具有一致的統(tǒng)一對(duì)象模型:控件。一個(gè)控件可以定義:結(jié)構(gòu)元素(比如按鈕或菜單)、風(fēng)格元素(比如字體或顏色方案)、布局的方面(比如填充)、一些業(yè)務(wù)邏輯等
組合大于繼承,控件本身通常由許多小型、單用途的控件組成,結(jié)合起來(lái)產(chǎn)生強(qiáng)大的效果,類(lèi)的層次結(jié)構(gòu)是扁平的,以最大化可能的組合數(shù)量
強(qiáng)化版的WebView,框架僅提供一個(gè)View層,大部分功能要依賴原生
目前只能夠運(yùn)行大部分Dart代碼(不能引入dart:mirrors或dart:html庫(kù))
最近在做的一個(gè)項(xiàng)目,項(xiàng)目的前期采用Weex開(kāi)發(fā)。但是隨著交互復(fù)雜度的增加,Weex一處開(kāi)發(fā)多處多處運(yùn)行的特征并沒(méi)有很好的體現(xiàn),相反很多時(shí)候我們還是需要做IOS和Android的適配。如今火熱的Flutter相比Weex和Rn來(lái)說(shuō),給出了更好的跨平臺(tái)解決方案。所以我們?cè)O(shè)計(jì)了一套基于Weex實(shí)現(xiàn),底層跑在Flutter Engine上的框架。
底層的Runtime采用isolate engine,框架業(yè)務(wù)邏輯,Dom的解析邏輯和Render邏輯都跑在這里。
渲染引擎采用Flutter的Skia,徹底剝離了Android和IOS的差異性.
將Weex VirsualDom的解析都替換成Flutter Widget.
設(shè)計(jì)基于Weex2Dart的Brider,使JS和Dart可以相互調(diào)用
weex-demo的性能展示
release環(huán)境下采用AOT模式,性能會(huì)有質(zhì)的飛躍。
Android-Release版本只有10m大小
相比Weex和Rn具有更好的性能,同時(shí)具有更好的跨平臺(tái)性
相比Flutter,具有動(dòng)態(tài)部署的能力(Flutter Release采用AoT模式并沒(méi)有動(dòng)態(tài)部署的能力,即使Debug版本也只是開(kāi)發(fā)環(huán)境下才有動(dòng)態(tài)化能力并沒(méi)有可以實(shí)施項(xiàng)目的能力)
只需要會(huì)Weex開(kāi)發(fā)或則Rn開(kāi)發(fā)就可以,不需要額外學(xué)習(xí)Dart,已有的Weex項(xiàng)目可以無(wú)縫切換。
網(wǎng)頁(yè)名稱:flutter動(dòng)態(tài)話框架,Flutter 框架
分享URL:http://chinadenli.net/article40/dsdscho.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、網(wǎng)站內(nèi)鏈、微信小程序、小程序開(kāi)發(fā)、靜態(tài)網(wǎng)站、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)