小程序開(kāi)發(fā)框架對(duì)比(小程序基本框架)
今天給各位分享小程序開(kāi)發(fā)框架對(duì)比的知識(shí),其中也會(huì)對(duì)小程序基本框架進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧!
本文目錄一覽:
- 1、移動(dòng)APP開(kāi)發(fā)框架盤點(diǎn)2:Web移動(dòng)前端框架大全
- 2、嵌入已有的 Web 頁(yè)面的「Web」小程序和使用微信小程序框架開(kāi)發(fā)的「原生」小程序相比,有哪些區(qū)別呢?
- 3、小程序開(kāi)發(fā)用什么框架
- 4、微信小程序開(kāi)發(fā)和APP開(kāi)發(fā)的區(qū)別?
移動(dòng)APP開(kāi)發(fā)框架盤點(diǎn)2:Web移動(dòng)前端框架大全
開(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è)成熟收獲期,我盤點(diǎn)了移動(dòng)開(kāi)發(fā)框架。在這第二個(gè)成熟收獲期,理所當(dāng)然要來(lái)盤點(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)目。
盤點(diǎn)開(kāi)始的時(shí)候我還覺(jué)得React框架處于絕對(duì)劣勢(shì),到完成時(shí)我發(fā)現(xiàn)React無(wú)論在選擇面還是成熟度上都超過(guò)了Vue。
原因我這里就不分析了,反正大家都有自己的看法。
網(wǎng)頁(yè)類框架就是前端組件框架,這一次雖然有大量項(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)類框架,就是所謂多端同構(gòu)框架(小程序框架)。這幾年國(guó)內(nèi)的重點(diǎn)的各種小程序平臺(tái),所以多端框架的需求很是旺盛。
不過(guò)大多數(shù)先行者都沒(méi)挺過(guò)來(lái)還是讓我很意外,只有Taro成功了,想想還是有很多讓人唏噓的東西。
在這里還是先預(yù)測(cè)一波吧,因?yàn)檫@一類框架最變化最大,最終還是有很多框架要出局的。
漸進(jìn)類框架是一個(gè)過(guò)渡性的產(chǎn)品,最終會(huì)變成橋接類框架的一部分,所以,與橋接類框架協(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 北?!故且豢罡咝阅躓eb渲染引擎。底層基于 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 編寫的代碼,轉(zhuǎn)換成原生 Hummer 的代碼。
Hummer也是一個(gè)小程序平臺(tái),而且超輕量。如果想要無(wú)限提升自己APP的能力,可以考慮嵌入Hummer。
Web移動(dòng)前端框架正在迎來(lái)第三個(gè)高速發(fā)展期,各類框架得到極大繁榮。
個(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)者提供彎道超車的機(jī)會(huì)。我想大廠可能沒(méi)有需求,也不會(huì)愿意發(fā)布這種框架,畢竟都是平臺(tái)部門說(shuō)了算。
這個(gè)庫(kù)就是useMobile,當(dāng)然分為useMobileReact和useMobileVue。下次先發(fā)布useMobileReact。等我發(fā)布后,再來(lái)填上面表中缺的推薦度。
原文地址:
嵌入已有的 Web 頁(yè)面的「Web」小程序和使用微信小程序框架開(kāi)發(fā)的「原生」小程序相比,有哪些區(qū)別呢?
在這之前,如果有人問(wèn)我,在微信中做一個(gè)產(chǎn)品,是用小程序還是 Web 頁(yè)面 (嚴(yán)謹(jǐn),既不是 HTML5 更不是 H5…) 的時(shí)候,我會(huì)這么說(shuō):
產(chǎn)品上,Web 上能做的,小程序中大部分都能做。小程序上能做的,Web 上不一定能做。
營(yíng)銷上,Web 能用到的入口,除了朋友圈以外,小程序都可以用。小程序能用到的若干入口,Web 不能使用。
關(guān)于后一點(diǎn),朋友圈分享現(xiàn)在普遍會(huì)用海報(bào)來(lái)做,在這點(diǎn)上 Web 和小程序的能力其實(shí)是一樣的,都是只能幫你保存圖片到相冊(cè),再請(qǐng)用戶手動(dòng)發(fā)送到朋友圈。而小程序獨(dú)有的發(fā)現(xiàn) - 小程序、搜索框快捷方式等對(duì)用戶回訪特別重要的入口,Web 頁(yè)面是不能使用的。
那么,昨天的發(fā)布意味著什么?簡(jiǎn)單地說(shuō),小程序的開(kāi)發(fā)成本有了很大的下降。
微信小程序剛剛上線的時(shí)候,由于小程序使用類似 HTML、CSS 和 JavaScript 等 Web 語(yǔ)言的方式進(jìn)行開(kāi)發(fā),讓一些媒體誤以為小程序就是 Web 開(kāi)發(fā),歡呼將「迎來(lái) Web 開(kāi)發(fā)的春天」。我自己的第一份工作就是 Web 開(kāi)發(fā)工程師,Web 開(kāi)發(fā)入門確實(shí)比較容易;可是盡管小程序使用了 Web 語(yǔ)言,那只是語(yǔ)法上的一致,整個(gè)開(kāi)發(fā)模式完全不同,更接近于原生 App 的開(kāi)發(fā)而不是 Web。打個(gè)比方,對(duì)在看這篇文章的大多數(shù)人來(lái)說(shuō),讀中文要比讀英文更容易,但假如你看不懂英文版的《量子力學(xué)導(dǎo)論》,翻譯成中文版你也不一定能看懂。開(kāi)發(fā)小程序,需要有專門的、獨(dú)立于 Web 團(tuán)隊(duì)之外的團(tuán)隊(duì),按小程序的規(guī)范重新設(shè)計(jì)、重新開(kāi)發(fā),不能將已有的產(chǎn)品直接遷移過(guò)來(lái)。
可以理解微信當(dāng)初做這個(gè)決定,是希望開(kāi)發(fā)者按照微信的要求,為微信的用戶重新去思考、設(shè)計(jì)一套全新的用戶體驗(yàn),而不是將已有的 Web 頁(yè)面搬進(jìn)來(lái)。歷史上,包括 Microsoft 的 Windows Phone 平臺(tái)、Google 的 Chrome Packaged App 都冒過(guò)類似的險(xiǎn),而其實(shí) Apple 也做過(guò)類似的決定——Steve Jobs 2010 年 4 月親筆寫過(guò)一篇文章,解釋為何 iPhone 不支持 Flash (Thoughts on Flash),其中最重要的原因是,Apple 不希望第三方開(kāi)發(fā)者將已有的產(chǎn)品直接搬過(guò)來(lái),而是希望開(kāi)發(fā)者能直接在 iOS (當(dāng)年還叫 iPhone OS) 進(jìn)行開(kāi)發(fā),為 iPhone 的用戶提供最好的體驗(yàn)。這些決定賭的是,新平臺(tái) (小程序或 iOS) 帶來(lái)的商業(yè)上的好處,最終會(huì)讓開(kāi)發(fā)者們?cè)敢飧冻鲞@個(gè)成本。
那時(shí)候的 iPhone 還很弱小,但后來(lái)的歷史證明 Steve Jobs 賭對(duì)了——Adobe 公司今年 7 月宣布,將在 2020 年最終停止 Flash 的更新和分發(fā)。
微信,則在昨天支持了開(kāi)發(fā)者直接嵌入已有網(wǎng)頁(yè)。
所以,如果你已經(jīng)有一個(gè)網(wǎng)站,可以直接在小程序中套個(gè)殼,把網(wǎng)站中的 Web 頁(yè)面搖身一變成一個(gè)小程序。至于這和直接分發(fā) Web 頁(yè)面有什么區(qū)別——
產(chǎn)品上,Web 上能做的,小程序中大部分都能做。小程序上能做的,Web 上不一定能做。
營(yíng)銷上,Web 能用到的入口,除了朋友圈以外,小程序都可以用。小程序能用到的若干入口,Web 不能使用。
細(xì)心的你可能已經(jīng)注意到了,上面這兩條并沒(méi)有任何變化…?對(duì),在小程序的用法上其實(shí)沒(méi)有任何變化,只是開(kāi)發(fā)成本下降了。
那么,在今天之后,使用微信小程序框架開(kāi)發(fā)的「原生」小程序,和嵌入已有的 Web 頁(yè)面的「Web」小程序,在用戶感受上會(huì)有什么區(qū)別呢?
「原生」小程序,整個(gè)小程序是提前下載的,不會(huì)有 Web 頁(yè)面打開(kāi)時(shí)的頁(yè)面加載感。我們過(guò)去的可用性研究表明,這是用戶對(duì)一個(gè)界面是「Web」還是「原生」的最主要判斷標(biāo)準(zhǔn)。對(duì)于偏工具型的小程序,「原生」的感受應(yīng)該會(huì)更好。
「原生」小程序?qū)w驗(yàn)的控制更完整,自己要做的事情也更多。例如 Web 頁(yè)面中用戶可以選擇頁(yè)面上的文字復(fù)制,而在「原生」小程序界面中,這是需要單獨(dú)添加的功能。
「原生」小程序提供了一些專屬的控件和 APIs(接口),如展示群信息、發(fā)送推送等,這些只有使用小程序框架開(kāi)發(fā)才能使用。
所以,如果需要和微信生態(tài)整合得更緊密,可以使用「原生」方式開(kāi)發(fā);如果追求快速遷移已有 Web 產(chǎn)品,嵌入 Web 頁(yè)面更快。
小程序開(kāi)發(fā)用什么框架
小程序的開(kāi)發(fā)都是通過(guò)各自的開(kāi)發(fā)工具進(jìn)行開(kāi)發(fā),有它獨(dú)有的語(yǔ)法規(guī)則。沒(méi)有什么框架,不過(guò)可以使用ui框架來(lái)改變頁(yè)面樣式 例如:Mintui Wux WeApp iView WeApp
微信小程序開(kāi)發(fā)和APP開(kāi)發(fā)的區(qū)別?
1、開(kāi)發(fā)技術(shù)的區(qū)別 APP:APP開(kāi)發(fā)模式有三種分別是原生APP、WebAPP以及混合APP,它的操作系統(tǒng)分別是Android和ios。開(kāi)發(fā)技術(shù)難度較高。 小程序:微信小程序就是基于微信里面的開(kāi)發(fā)框架,開(kāi)發(fā)技術(shù)難度也是很低的?!军c(diǎn)擊查看APP開(kāi)發(fā)的真正報(bào)價(jià)】
2、下載和安裝的區(qū)別 APP是需要在商店進(jìn)行下載的,下載完畢之后還需要將其安裝在智能手機(jī)內(nèi)才可以使用。會(huì)占用手機(jī)內(nèi)存。 小程序不需要下載,它只需要在微信里面直接搜索就能用了,不會(huì)占用內(nèi)存。
3、開(kāi)發(fā)成本和周期的區(qū)別 APP:因?yàn)锳PP軟件開(kāi)發(fā)相對(duì)來(lái)說(shuō)內(nèi)容和功能是比較復(fù)雜的這就會(huì)導(dǎo)致APP的開(kāi)發(fā)成本高、開(kāi)發(fā)周期長(zhǎng)。 小程序:它是比較簡(jiǎn)潔的,只具備比較核心的功能,那么成本投入就少,周期也會(huì)縮短的。
4、使用的區(qū)別 APP:在應(yīng)用商店或者瀏覽器內(nèi)搜索下載到手機(jī)上,會(huì)占用手機(jī)內(nèi)存,但是在手機(jī)桌面上可以直接進(jìn)入。 小程序:在微信里面直接搜索小程序或者掃碼進(jìn)入,直接使用,很方便。
想要了解更多有關(guān)APP開(kāi)發(fā)的相關(guān)信息,推薦咨詢豬八戒網(wǎng)。豬八戒網(wǎng)有千萬(wàn)服務(wù)商為企業(yè)、公共機(jī)構(gòu)和個(gè)人提供定制化的解決方案,將創(chuàng)意、智慧、技能轉(zhuǎn)化為商業(yè)價(jià)值和社會(huì)價(jià)值。2011年豬八戒網(wǎng)獲得IDG投資并被評(píng)選為中國(guó)2011年度“最佳商業(yè)模式十強(qiáng)”企業(yè);專業(yè)性值的信賴。
小程序開(kāi)發(fā)框架對(duì)比的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于小程序基本框架、小程序開(kāi)發(fā)框架對(duì)比的信息別忘了在本站進(jìn)行查找喔。