在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

盤(pán)點(diǎn)六大常見(jiàn)的移動(dòng)APP開(kāi)發(fā)框架

如意 ? 來(lái)源:今日頭條 ? 作者:APP開(kāi)發(fā)貝如科技 ? 2020-09-05 09:25 ? 次閱讀

移動(dòng)APP開(kāi)發(fā)框架盤(pán)點(diǎn)

盤(pán)點(diǎn)六大常見(jiàn)的移動(dòng)APP開(kāi)發(fā)框架

總體概述

現(xiàn)在比較流行的移動(dòng)APP開(kāi)發(fā)框架有以下六種:網(wǎng)頁(yè)、混合、不僅、原生、橋接、自繪。前三種體驗(yàn)與Web的體驗(yàn)相似,后三種與原生APP的體驗(yàn)相似。這六種框架形式,都有自己適用的范圍。無(wú)所謂好壞,適用就是好。

網(wǎng)頁(yè)應(yīng)用適用于傳統(tǒng)網(wǎng)站APP化,比如淘寶、京東,有大量WEB頁(yè)面嵌入到APP中。

混合應(yīng)用適用于小成本應(yīng)用開(kāi)發(fā),全部代碼都基于Web,好處是開(kāi)發(fā)快速、成本低。

漸進(jìn)應(yīng)用適用于高機(jī)會(huì)成本的場(chǎng)合,邊下載邊使用,能快速獲取,快速體驗(yàn)。

原生應(yīng)用適用于大型和高體驗(yàn)要求的應(yīng)用,能做出讓人滿意的體驗(yàn)效果。

橋接應(yīng)用適用于高速迭代的創(chuàng)意類(lèi)應(yīng)用,讓體驗(yàn)與成本都處于可接受的范圍。

自繪應(yīng)用適用于游戲和有特殊效果的應(yīng)用,最大的好處是沒(méi)有平臺(tái)約束和表達(dá)瓶頸。

一、網(wǎng)頁(yè)WebApp

WebApp與傳統(tǒng)Web的主要區(qū)別,在于前端框架,特別是V-DOM框架的應(yīng)用。此類(lèi)前端框架使得WebApp與NativeApp在機(jī)理上已經(jīng)沒(méi)有任何區(qū)別了。在眾多的前端框架中, React、Vue和Angular是最有競(jìng)爭(zhēng)力的選擇。

React

V-Dom技術(shù)的開(kāi)創(chuàng)者,主流框架中的NO.1。React的貢獻(xiàn)都是開(kāi)創(chuàng)性的,在它基礎(chǔ)上,也有很多兼容框架,比如Anu,Nerv。用以解決React在性能或IE兼容性上的問(wèn)題。

主流技術(shù)方案:

React + Redux + ReactRouter + Material-UI/AntD/Semantic-UI

Vue

由國(guó)人創(chuàng)建,在中國(guó)擁有大量使用者,也有很多配套的開(kāi)源項(xiàng)目。它的主要特點(diǎn)是學(xué)習(xí)成本低,容易上手。

主流技術(shù)方案:

Vue + Vuex + Vue-Router + Vuetify/Quasar/vux/ Mint-UI

Angular

大而全型的框架,為大型項(xiàng)目所推崇,深度整合Typescript和Rxjs。

主流技術(shù)方案:

Angular + Typescript

二、原生NativeApp

由于操作系統(tǒng)的限制,原生應(yīng)用只有那么幾種。對(duì)于原生應(yīng)用,架構(gòu)是基礎(chǔ),框架是核心,加上海量的UI組件。

IOS

iOS開(kāi)發(fā)已經(jīng)從OC全面轉(zhuǎn)向Swift,最新的架構(gòu)VIPER基本上可以視為MMVPP。

主流技術(shù)方案:

VIPER + RxSwift + Moya + Alamofire + SwiftyJSON/ObjectMapper

Android

Android開(kāi)發(fā)語(yǔ)言從Java更換為Kotlin。編譯時(shí)依賴注入框架Dagger也成為不二法寶。

主流技術(shù)方案:

MVP + Dagger + RxKotlin + Retrofit + OkHttp + Kotson(Gson)

三、混合HybridApp

HybridApp的關(guān)鍵不在本身,而在WebApp。好的WebApp改為HybridApp很容易。所以混合應(yīng)用框架實(shí)際是指WebApp的基礎(chǔ)設(shè)施庫(kù),有Cordova(PhoneGap)就足夠了。

Cordova

PhoneGap開(kāi)源而來(lái)。

四、橋接BridgeApp

橋接應(yīng)用的特點(diǎn)在于使用原生界面,但應(yīng)用邏輯使用腳本語(yǔ)言編寫(xiě),通用橋接來(lái)控制原生界面。這樣達(dá)到使用腳本編寫(xiě)原生應(yīng)用的目的,甚至可以網(wǎng)頁(yè)與原生應(yīng)用使用同一套代碼,節(jié)省大量開(kāi)發(fā)成本。但是操作手感比網(wǎng)頁(yè)應(yīng)用強(qiáng)不少。

ReactNative與Weex代表了兩種不同的思路。ReactNative提供工具,將平臺(tái)差異化開(kāi)放出來(lái)(Learn Once, Write Anywhere);而Weex提供框架,將平臺(tái)差異化屏蔽(Write Once, Run Everywhere)。所以ReactNative最大的痛點(diǎn)是使用難度大,必須熟悉所有平臺(tái);Weex則注定功能相對(duì)弱小,并且坑比較多。

React Native

React的大熱,實(shí)際始于ReactNative的發(fā)布。

Weex

小眾的框架,能不能壯大,關(guān)鍵在于學(xué)習(xí)者是否能有效率地編寫(xiě)應(yīng)用。所以很多人認(rèn)為文檔是決定一個(gè)開(kāi)源框架生死的關(guān)鍵。其實(shí)有幾個(gè)使用框架的開(kāi)源應(yīng)用,比文檔還要關(guān)鍵。因?yàn)檫@些應(yīng)用活著,間接地證明了框架還有生存的價(jià)值和能力,也能成為更好的文檔教材。Weex號(hào)稱(chēng)有一堆知名的應(yīng)用,但開(kāi)源項(xiàng)目就乏善可陳了。

Xamarin(C#

Xamarin在IOS與Android中的實(shí)現(xiàn)方式不一致,在IOS中是AOT直接編譯,在Android中是使用橋接技術(shù)。

RubyMotion(Ruby)

動(dòng)態(tài)語(yǔ)言編寫(xiě)移動(dòng)應(yīng)用,對(duì)語(yǔ)言社區(qū)而言是能力問(wèn)題,必須要證明語(yǔ)言的優(yōu)越性和無(wú)所不能。但除開(kāi)狂熱愛(ài)好者,正確的做法是使用最有效率的平臺(tái)和語(yǔ)言。Ruby的長(zhǎng)處在于Web后端,所以編寫(xiě)APP并無(wú)多少繼承性,編寫(xiě)效率也由于太過(guò)小眾而存在掉坑的風(fēng)險(xiǎn)。有免費(fèi)版本,但只支持最新的操作系統(tǒng)版本。

Titanium

這個(gè)框架的核心就是使用JavaScript開(kāi)發(fā)應(yīng)用,與Web開(kāi)發(fā)的在形式上區(qū)別很大。所以從根本上,這就是一種腳本語(yǔ)言框架,和RubyMotion如出一轍。

五、自繪OwndrawApp

自繪一直以來(lái)都是游戲界面的勢(shì)力范圍,事實(shí)上除開(kāi)Flutter,其它的框架都是偏游戲開(kāi)發(fā)的。所以Flutter的橫空出世,吸引了很大的關(guān)注,畢竟這是真正跨平臺(tái)的唯一可行方案。

Flutter(Dart)

除了使用Dart語(yǔ)言有些爭(zhēng)議外,F(xiàn)lutter是真正值得關(guān)注的跨平臺(tái)方案,沒(méi)有之一。最近它的目標(biāo)平臺(tái)除開(kāi)iOS 和 Android,F(xiàn)lutter Desktop Embedding項(xiàng)目將Flutter引入到桌面操作系統(tǒng),Hummingbird項(xiàng)目將 Flutter 應(yīng)用引入瀏覽器。它利用 Dart 平臺(tái)的特性不僅可以編譯原生 ARM 代碼,還可以編譯JavaScript 。這使得 Flutter 代碼可以在基于標(biāo)準(zhǔn)的 Web 上運(yùn)行而無(wú)需任何更改。

CrossApp(C++

CrossApp是基于Cocos2d-x引擎的,而Cocos2d-x是基于OpenGL的 。9秒社團(tuán)是由手游社區(qū)發(fā)展而來(lái)的,由此可見(jiàn)CrossApp的背景,使用C++開(kāi)發(fā)也有一些忠實(shí)擁躉。

Corona(Lua)

更適合做游戲,不適合做應(yīng)用程序,主要是因?yàn)榻缑娌糠?,官方提供的UI部分代碼非常不好用,自己實(shí)現(xiàn)又很耗時(shí)耗力。

Kivy(Python

又一個(gè)動(dòng)態(tài)語(yǔ)言開(kāi)發(fā)框架,和游戲引擎結(jié)合起來(lái)使得它在特定領(lǐng)域還是很有市場(chǎng)的。而且它還跨windows平臺(tái),可以在windows下直接運(yùn)行,可以真正實(shí)現(xiàn)跨平臺(tái)運(yùn)行。

六、漸進(jìn)ProgressiveApp

不僅有邊下載邊使用這一層意思,也有下載完成后不依賴網(wǎng)絡(luò)這一層意思。從類(lèi)型上來(lái)講,有Google主導(dǎo)的PWA(ProgressiveWebApp),還有微信主導(dǎo)的小程序。相比PWA一統(tǒng)天下的野心,小程序明顯是實(shí)用主義導(dǎo)向,能用就好,沒(méi)有長(zhǎng)遠(yuǎn)的布局。急于與微信競(jìng)爭(zhēng)的百度、支付寶、中國(guó)九大手機(jī)廠商聯(lián)盟的QuickApp也復(fù)制了這種風(fēng)格。隨著各種跨平臺(tái)轉(zhuǎn)譯工具(如Taro)的興起,各個(gè)小程序平臺(tái)也隨之變成了一個(gè)專(zhuān)有瀏覽器實(shí)現(xiàn),變成了前端千框萬(wàn)架大戰(zhàn)中的小小注腳了。

PWA

全稱(chēng)Progressive Web App,即漸進(jìn)式網(wǎng)頁(yè)應(yīng)用。相對(duì)于國(guó)內(nèi)廠商的私有平臺(tái),谷歌主導(dǎo)的PWA從一開(kāi)始就瞄準(zhǔn)下一代瀏覽器標(biāo)準(zhǔn)。與傳統(tǒng)網(wǎng)頁(yè)最大的不同,是引入了Service Worker了,相當(dāng)于本地服務(wù)器,能在離線時(shí)替代網(wǎng)站服務(wù)器繼續(xù)工作。除此之外,PWA大致就是一個(gè)SPA(single page web app),開(kāi)放標(biāo)準(zhǔn)的繼承性還是比較高的。不過(guò)由于各平臺(tái)廠商(如微軟,蘋(píng)果)對(duì)PWA的態(tài)度不明,PWA的推廣進(jìn)展緩慢。

MiniProgram

微信小程序,由于微信的體量與使用頻度,使得小程序可以承載足夠的野心。不過(guò)從技術(shù)上講,也就是個(gè)使用人數(shù)較多的瀏覽器實(shí)現(xiàn)。小程序和大量的跟隨者,促使多端統(tǒng)一框架也發(fā)展起來(lái)了。

Taro

React兼容的跨平臺(tái)多端統(tǒng)一開(kāi)發(fā)框架。一鍵生成可以在微信/百度/支付寶/字節(jié)跳動(dòng)小程序、H5、React Native等端運(yùn)行的代碼。雖然多端統(tǒng)一框架看似可以在不同類(lèi)型的平臺(tái)運(yùn)行,但它還是要依賴那些平臺(tái)工具,還是寄居之上的小程序而已。

Nanachi

司徒正美開(kāi)發(fā)的React兼容Anu框架的多端轉(zhuǎn)譯腳手架。但是對(duì)比Taro是一堆工具打包而成,nanachi僅是一個(gè)腳手架,未免寒酸。不包裝一下?

Chameleon

類(lèi)Vue的跨平臺(tái)多端統(tǒng)一開(kāi)發(fā)框架。專(zhuān)門(mén)拜讀了昨天出爐的《Chameleon原理詳解:其它跨多端統(tǒng)一框架都是假的?》。它有神奇的多態(tài)組件,就是重新定義了一個(gè)組件聲明框架;嚴(yán)格全面的檢查,不會(huì)不讓你的代碼不能不跨平臺(tái);更多的適配代碼,聽(tīng)說(shuō)有后端統(tǒng)一接口,而且還有一個(gè)后臺(tái)管理系統(tǒng)。好吧,祝您玩得愉快。

趨勢(shì)分析

國(guó)內(nèi)由于微信開(kāi)放了小程序流量主的廣告收入,引爆了小程序的熱潮,進(jìn)一步催生了多端轉(zhuǎn)譯框架。但是這些框架所做的事并不多,引擎還是React/Vue,做了一套各平臺(tái)統(tǒng)一的UI組件而已。由于個(gè)性化的原因,UI組件是大家一直都想統(tǒng)一,而不能如愿的目標(biāo)。Taro框架也只是推銷(xiāo)了自己的一套UI組件而已。在我看來(lái),還不如提供一套組件“標(biāo)準(zhǔn)”,允許并鼓勵(lì)用戶自己實(shí)現(xiàn)。
責(zé)編AJX

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 移動(dòng)
    +關(guān)注

    關(guān)注

    1

    文章

    430

    瀏覽量

    39164
  • APP
    APP
    +關(guān)注

    關(guān)注

    33

    文章

    1584

    瀏覽量

    73593
  • 框架
    +關(guān)注

    關(guān)注

    0

    文章

    404

    瀏覽量

    17717
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    六大汽車(chē)安全技術(shù)全解析

    六大汽車(chē)安全技術(shù)全解析
    發(fā)表于 08-20 13:15

    HTML5移動(dòng)互聯(lián)APP開(kāi)發(fā)培訓(xùn)班

    華嵌 課程目標(biāo)1)對(duì)HTML5進(jìn)行移動(dòng)應(yīng)用開(kāi)發(fā)有全面深入的了解,掌握Hybrid app開(kāi)發(fā)框架;2)理解HTML5編程的關(guān)鍵技術(shù),能夠自己
    發(fā)表于 12-13 13:55

    開(kāi)源框架教程(二)—— iOS APP開(kāi)發(fā)

    如何使用核心模塊開(kāi)發(fā)設(shè)備控制功能(iOS APP開(kāi)發(fā))導(dǎo)讀:本次教程我們?cè)陂_(kāi)源框架代碼基礎(chǔ)上做一個(gè)控制gokit紅燈開(kāi)的App,Wi-Fi設(shè)
    發(fā)表于 11-28 18:14

    物聯(lián)網(wǎng)APP開(kāi)源框架教程(二)—— iOS APP開(kāi)發(fā)

    物聯(lián)網(wǎng)APP開(kāi)源框架教程(二)—— iOS APP開(kāi)發(fā)又稱(chēng):如何使用核心模塊開(kāi)發(fā)設(shè)備控制功能(iOS A
    發(fā)表于 12-07 10:54

    六大PCB布線經(jīng)驗(yàn)

    六大PCB布線經(jīng)驗(yàn)
    發(fā)表于 09-21 15:51

    六大PCB布線經(jīng)驗(yàn)

    六大PCB布線經(jīng)驗(yàn)
    發(fā)表于 12-26 16:55

    無(wú)線通信的六大技術(shù)是哪六大?

    無(wú)線通信的六大技術(shù)是哪六大? 移動(dòng)通信自20世紀(jì)90年代以來(lái)進(jìn)入了大發(fā)展階段,全球用戶數(shù)每20個(gè)月翻一番,目前全球用
    發(fā)表于 03-13 11:29 ?780次閱讀

    示波器使用者的六大常見(jiàn)問(wèn)題解答

    電路教程相關(guān)知識(shí)的資料,關(guān)于示波器使用者的六大常見(jiàn)問(wèn)題解答
    發(fā)表于 10-10 14:34 ?0次下載

    對(duì)于中國(guó)醫(yī)療行業(yè)六大新趨勢(shì)獨(dú)家解讀

    中國(guó)醫(yī)療行業(yè)六大新趨勢(shì)盤(pán)點(diǎn)
    的頭像 發(fā)表于 12-26 15:44 ?5191次閱讀

    PLC常見(jiàn)六大應(yīng)用詳解_PLC結(jié)構(gòu)與工作環(huán)境

    本文開(kāi)始介紹了PLC的結(jié)構(gòu)及各部分的作用,其次介紹了PLC的基本特點(diǎn)與工作環(huán)境,最后介紹了PLC常見(jiàn)六大應(yīng)用領(lǐng)域。
    發(fā)表于 04-19 09:09 ?7072次閱讀
    PLC<b class='flag-5'>常見(jiàn)</b>的<b class='flag-5'>六大</b>應(yīng)用詳解_PLC結(jié)構(gòu)與工作環(huán)境

    LED顯示屏可突破的六大領(lǐng)域

    盤(pán)點(diǎn)LED顯示屏行業(yè)可突破的六大領(lǐng)域
    的頭像 發(fā)表于 08-26 15:25 ?4749次閱讀

    現(xiàn)在流行的Web APP開(kāi)發(fā)框架有哪些

    Web APP框架開(kāi)發(fā)旨在支持開(kāi)發(fā)人員使用單一編程語(yǔ)言構(gòu)建交互式應(yīng)用程序。市場(chǎng)上推出了一系列框架,其
    的頭像 發(fā)表于 12-29 09:50 ?1.2w次閱讀

    使用開(kāi)源框架開(kāi)發(fā)不同用途的APP

    為方便開(kāi)發(fā)者快速開(kāi)發(fā)不同設(shè)備端的App,機(jī)智云開(kāi)源了安卓、iOS、APICloud等形式的框架。該框架封裝了手機(jī)(包括PAD等設(shè)備)與機(jī)智云
    的頭像 發(fā)表于 03-29 15:48 ?1594次閱讀

    配電室常見(jiàn)六大安全隱患,你疏忽了幾個(gè)?

    配電室常見(jiàn)六大安全隱患,你疏忽了幾個(gè)?
    的頭像 發(fā)表于 03-01 09:13 ?2441次閱讀
    配電室<b class='flag-5'>常見(jiàn)</b><b class='flag-5'>六大</b>安全隱患,你疏忽了幾個(gè)?

    MES需求六大常見(jiàn)誤區(qū)

    電子發(fā)燒友網(wǎng)站提供《MES需求六大常見(jiàn)誤區(qū).docx》資料免費(fèi)下載
    發(fā)表于 12-21 11:08 ?0次下載
    主站蜘蛛池模板: 夜夜夜夜夜夜夜猛噜噜噜噜噜噜 | 老司机午夜网站 | 亚洲一级特黄特黄的大片 | 欧美亚洲综合一区 | 九九热免费在线观看 | 一色桃子juy774在线播放 | 亚洲黄色网址大全 | 国产亚洲婷婷香蕉久久精品 | 2021最新国产成人精品视频 | 女人张腿让男桶免费视频网站 | 午夜啪啪福利视频 | 午夜影院0606| 1024手机看片你懂得的 日韩欧美 | 性欧美性| 如果我们是季节韩剧在线观看 | 最新黄色地址 | 国产成人精品午夜二三区 | 午夜片在线 | 免费观看一级一片 | 天天搞夜夜操 | 欧美视频三区 | 日本68xxxxxxxxx59 日本68xxxxxxxxx老师 | 天天舔天天干天天操 | 97影院理论片在线观看 | 天天色资料 | 欧美1314www伊人久久香网 | 成人夜夜嗨 | 四虎在线精品免费高清在线 | 久久久噜噜噜久久网 | 色噜噜狠狠狠综合曰曰曰 | 欧美 日韩 中文字幕 | 色播四房间 | 日韩一区二区在线观看 | 亚洲午夜顶级嘿嘿嘿影院 | 人人干人人艹 | 深爱激情五月网 | www.日本三级 | 最近最新中文字幕在线第一页 | 午夜毛片视频高清不卡免费 | 日日噜噜夜夜狠狠久久aⅴ 日日噜噜夜夜狠狠久久丁香 | 精品videosex性欧美 |