趨勢一:更加移動(dòng)優(yōu)先

白山網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)于2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。
響應(yīng)式設(shè)計(jì)顯然是目前Web前端開發(fā)領(lǐng)域的主要趨勢之一,并且這一趨勢在未來還將持續(xù)一段時(shí)間。雖然現(xiàn)在的響應(yīng)式設(shè)計(jì)大部分還是以PC版優(yōu)先,然而如果有一天我們把PC版放到比移動(dòng)版次要的位置上,也沒有什么好奇怪的。因?yàn)椋壳霸S多Web前端開發(fā)者已經(jīng)開始轉(zhuǎn)向以移動(dòng)優(yōu)先方案來做他們的響應(yīng)式設(shè)計(jì)和開發(fā),這就象征著一個(gè)重大轉(zhuǎn)變,值得我們跟進(jìn)的。
趨勢二:更多使用快速原型開發(fā)工具
眾多Web前端開發(fā)者從2016年開始嘗試使用快速原型開發(fā)工具,而在2018年將是這種技術(shù)真正爆發(fā)的一年。“UXpin、Webflow、Invision以及其它許多快速原型開發(fā)工具,讓設(shè)計(jì)師不用寫一行代碼,就能為網(wǎng)站和服務(wù)快速創(chuàng)建低保真和高保真原型,便于設(shè)計(jì)師衡量它們的可用性和美觀性。” Web設(shè)計(jì)師Jamie Leeson says如是說,“許多工具也允許你在瀏覽器中設(shè)計(jì)原型并從工具里真正啟動(dòng)網(wǎng)站自身。”
不管未來前端發(fā)展方向如何,可以肯定的是未來前端人才需求依舊很大。想學(xué)前端開發(fā)專業(yè)的機(jī)構(gòu)也很多,你可以去線下試聽課程了解一下,例如北大青鳥、南京中博軟件學(xué)院、南京課工場等等都有試聽課程的!
有。只要你的學(xué)習(xí)的能力強(qiáng),有比較強(qiáng)的技術(shù),如果你是在讀大學(xué),一定要認(rèn)真學(xué)習(xí),需要有比較好的基礎(chǔ),在未來的很長一段時(shí)間,移動(dòng)開發(fā)都站的比較多的位置。因?yàn)楝F(xiàn)在是智能手機(jī)的時(shí)代。移動(dòng)開發(fā)包含移動(dòng)端app,還有移動(dòng)的端的游戲等
隨著我們對web前端編程開發(fā)技術(shù)的掌握,越來越多的框架語言和架構(gòu)方式被我們所熟知。
下面美蘭北大青鳥就一起來了解一下,web前端開發(fā)的一些常見框架結(jié)構(gòu)。
1.全包型這類框架大的特點(diǎn)就是從底層的渲染引擎、布局引擎,到中層的DSL,再到上層的框架全部由自己開發(fā),代表框架是Qt和Flutter。
這類框架優(yōu)點(diǎn)非常明顯:性能(的上限)高;各平臺渲染結(jié)果一致。
缺點(diǎn)也非常明顯:需要完全重新學(xué)習(xí)DSL(QML/Dart),以及難以適配中國特色的端:小程序。
這類框架是原始也是純正的的多端開發(fā)框架,由于底層到上層每個(gè)環(huán)節(jié)都掌握在自己手里,也能大可能地去保證開發(fā)和跨端體驗(yàn)一致。
但它們的框架研發(fā)成本巨大,渲染引擎、布局引擎、DSL、上層框架每個(gè)部分都需要大量人力開發(fā)維護(hù)。
2.Web技術(shù)型這類框架把Web技術(shù)(JavaScript,CSS)帶到移動(dòng)開發(fā)中,自研布局引擎處理CSS,使用JavaScript寫業(yè)務(wù)邏輯,使用流行的前端框架作為DSL,各端分別使用各自的原生組件渲染。
代表框架是ReactNative和Weex,這樣做的優(yōu)點(diǎn)有:開發(fā)迅速;復(fù)用前端生態(tài);易于學(xué)習(xí)上手,不管前端后端移動(dòng)端,多多少少都會一點(diǎn)JS、CSS。
缺點(diǎn)有:1.交互復(fù)雜時(shí)難以寫出高性能的代碼,這類框架的設(shè)計(jì)就必然導(dǎo)致JS和Native之間需要通信,類似于手勢操作這樣頻繁地觸發(fā)通信就很可能使得UI無法在16ms內(nèi)及時(shí)繪制。
ReactNative有一些聲明式的組件可以避免這個(gè)問題,但聲明式的寫法很難滿足復(fù)雜交互的需求。
2.由于沒有渲染引擎,使用各端的原生組件渲染,相同代碼渲染的一致性沒有一種高。
3.JavaScript編譯型這類框架就是我們這篇文章的主角們:Taro、WePY、uni-app、mpvue、chameleon,它們的原理也都大同小異:先以JavaScript作為基礎(chǔ)選定一個(gè)DSL框架,以這個(gè)DSL框架為標(biāo)準(zhǔn)在各端分別編譯為不同的代碼,各端分別有一個(gè)運(yùn)行時(shí)框架或兼容組件庫保證代碼正確運(yùn)行。
開源項(xiàng)目其實(shí)有一個(gè)成熟周期,這個(gè)周期大概是三年左右,自React框架在2013年發(fā)布并引爆了前端框架的大潮,這個(gè)屬于前端的周期就此開始了。
之后在2015年5月開源的React Native又開啟了屬于Web移動(dòng)前端的周期,15-16年,18-19年,21-22年正好就是屬于移動(dòng)前端的三個(gè)爆發(fā)點(diǎn)。
三年前,在第一個(gè)成熟收獲期,我盤點(diǎn)了移動(dòng)開發(fā)框架。在這第二個(gè)成熟收獲期,理所當(dāng)然要來盤點(diǎn)一波。
不過,當(dāng)我點(diǎn)開github項(xiàng)目的code-frequency時(shí),還是被這個(gè)準(zhǔn)到嚇人的周期猜想驚呆了,先給你們看一波,剩下的自行驗(yàn)證。
1、
2、
再來說第二個(gè)比較有意思的發(fā)現(xiàn),停止維護(hù)的項(xiàng)目絕大多數(shù)是Vue框架項(xiàng)目。
盤點(diǎn)開始的時(shí)候我還覺得React框架處于絕對劣勢,到完成時(shí)我發(fā)現(xiàn)React無論在選擇面還是成熟度上都超過了Vue。
原因我這里就不分析了,反正大家都有自己的看法。
網(wǎng)頁類框架就是前端組件框架,這一次雖然有大量項(xiàng)目停止維護(hù),但是也有很多項(xiàng)目堅(jiān)持了下來,而且還涌現(xiàn)出了一批新項(xiàng)目。
大廠占了主導(dǎo),因?yàn)檫@些年大廠在移動(dòng)開發(fā)上的需求,遠(yuǎn)高于其它方面。個(gè)人項(xiàng)目要堅(jiān)持確實(shí)不易。
本來是想要做一個(gè)驗(yàn)證項(xiàng)目,把所有框架都試用一遍并給出推薦度的。由于進(jìn)度太慢,還是下一次再發(fā)吧。
這次的重點(diǎn)是漸進(jìn)類框架,就是所謂多端同構(gòu)框架(小程序框架)。這幾年國內(nèi)的重點(diǎn)的各種小程序平臺,所以多端框架的需求很是旺盛。
不過大多數(shù)先行者都沒挺過來還是讓我很意外,只有Taro成功了,想想還是有很多讓人唏噓的東西。
在這里還是先預(yù)測一波吧,因?yàn)檫@一類框架最變化最大,最終還是有很多框架要出局的。
漸進(jìn)類框架是一個(gè)過渡性的產(chǎn)品,最終會變成橋接類框架的一部分,所以,與橋接類框架協(xié)同才是框架的出路。
這個(gè)賽道基本全是大廠了。
騰訊新一代跨端開發(fā)框架Hippy
Hippy一看就是淘寶Weex的對標(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é)抹平平臺差異性和提供高性能模塊;渲染層 Android 和 iOS 負(fù)責(zé)提供終端底層模塊、組件,并與布局引擎通信。
對Weex慘遭遺棄,我上次就說過:「ReactNative提供工具,Weex提供框架,將平臺差異化屏蔽(Write Once, Run Everywhere)。所以Weex則注定功能相對弱小,并且坑比較多。」Weex最終下馬也是必然的,淘寶又發(fā)布升級版北海,為了實(shí)現(xiàn)(Write Once, Run Everywhere),它采用自繪,而且是基于Flutter自繪。
所以Hippy3.x就一如既往的Kpi功能層層加碼,很有騰訊風(fēng)格。在未來的 3.x 中業(yè)務(wù)與渲染層中的具體實(shí)現(xiàn)可根據(jù)用戶實(shí)際場景進(jìn)行切換:業(yè)務(wù)層上不再局限于 JS 驅(qū)動(dòng),還可選擇(如:DSL/Dart/WASM 等)其它語言進(jìn)行驅(qū)動(dòng);在渲染層中,渲染引擎除了支持現(xiàn)有原生(Native)渲染之外,還可以選擇其他渲染 Renderer,如 Flutter(Voltron) 渲染。
「Kraken 北海」是一款高性能Web渲染引擎。底層基于 Flutter 進(jìn)行渲染。
Kraken 不限制上層開發(fā)者使用的框架,無論你是使用 Vue 、Rax 還是 React 都可以開發(fā) Kraken 應(yīng)用。
Kraken 的 runtime 通過 JS Engine Binding 的方式提供了一系列 Web 標(biāo)準(zhǔn)的 API 接口,調(diào)用相應(yīng) API 會執(zhí)行相關(guān)邏輯并創(chuàng)建一系列需要發(fā)送給 Dart 層處理的指令。
Kraken 其實(shí)就是一個(gè)小程序平臺,而且追求全平臺完全一致。我雖然認(rèn)為各平臺不一致是很自然的事情,但是也表示理解,畢竟別人吹牛有當(dāng)真的傳統(tǒng)(KFC表示認(rèn)同)。
Kraken 現(xiàn)在也是一個(gè)小號瀏覽器,所以它的主要工作就是摳標(biāo)準(zhǔn),畢竟它是一款基于 W3C 標(biāo)準(zhǔn)的高性能渲染引擎。
最后,我勸淘寶領(lǐng)導(dǎo)定Kpi要理智些,畢竟Hippy4我還蠻期待的。
滴滴出品的超輕量級動(dòng)態(tài)化跨端開發(fā)框架,主打輕量和實(shí)用。
Hummer 以 JS 引擎為基石,目前已支持 JavaScriptCore、Hermers、QuickJS 等業(yè)內(nèi)知名 JS 引擎(這里本來還有個(gè)V8的,我刪除了,源碼里面沒有,Kpi需要)。再配合經(jīng)過調(diào)優(yōu)的 Yoga 布局引擎,抹平了兩端視圖布局差異(性能更佳的自研布局引擎開發(fā)中)。順便提一下,Hippy采用V8(功能更強(qiáng))自研布局引擎(性能更佳)。
Hummer 的特點(diǎn)是拋棄了業(yè)界其他動(dòng)態(tài)化跨端框架普遍使用的DSL層和VDOM層,因此原生 Hummer 不具備前端開發(fā)常用的響應(yīng)式編程的能力,但同時(shí)換來的是接近原生開發(fā)的體驗(yàn)和性能。再以原生 Hummer 為基礎(chǔ),在此之上開發(fā)了一套基于MVVM架構(gòu)的開發(fā)框架 —— Tenon ,通過 Tenon,可以把使用 Vue/React 編寫的代碼,轉(zhuǎn)換成原生 Hummer 的代碼。
Hummer也是一個(gè)小程序平臺,而且超輕量。如果想要無限提升自己APP的能力,可以考慮嵌入Hummer。
Web移動(dòng)前端框架正在迎來第三個(gè)高速發(fā)展期,各類框架得到極大繁榮。
個(gè)人在具體項(xiàng)目的貢獻(xiàn)已經(jīng)微乎其微了,創(chuàng)新、架構(gòu)創(chuàng)新是唯一制勝的手段,這也是我看好React的根本原因。
最后,還是想做點(diǎn)微不足道的 探索 ,現(xiàn)在前端組件庫層出不窮,更換組件庫帶來的代價(jià)有點(diǎn)大。想創(chuàng)建一個(gè)框架,來實(shí)現(xiàn)上次說的組件公約數(shù)和公倍數(shù),無縫切換組件庫。理論上支持所有組件庫 ,也能為后來者提供彎道超車的機(jī)會。我想大廠可能沒有需求,也不會愿意發(fā)布這種框架,畢竟都是平臺部門說了算。
這個(gè)庫就是useMobile,當(dāng)然分為useMobileReact和useMobileVue。下次先發(fā)布useMobileReact。等我發(fā)布后,再來填上面表中缺的推薦度。
原文地址:
本文標(biāo)題:包含flutterdsl的詞條
當(dāng)前地址:http://chinadenli.net/article33/dsehoss.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、域名注冊、網(wǎng)站導(dǎo)航、品牌網(wǎng)站建設(shè)、網(wǎng)站排名、微信公眾號
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)