国产男女乱婬真是免费_囯内精品久久人妻无码hd_第四色婷婷基地_精品人妻互换一区二区三区

15321250321
010-86462584

APP開發(fā) > APP學(xué)院 > 常見問題

APP開發(fā)框架

2020-09-25

APP開發(fā)框架總體概述

APP開發(fā)框架是一個APP開發(fā)的最為重要的第一步,確定好APP開發(fā)框架才能進(jìn)行App開發(fā)工作。

北京天品互聯(lián)為您總結(jié),APP開發(fā)框架有以下六種:網(wǎng)頁、混合、漸進(jìn)、原生、橋接、自繪App開發(fā)框架。前三種體驗(yàn)與Web的體驗(yàn)相似,后三種與原生APP的體驗(yàn)相似。這六種框架形式,都有自己適用的范圍。無所謂好壞,適用就是好,通常商業(yè)化的創(chuàng)業(yè)項(xiàng)目,通常采用原生開發(fā),因?yàn)楣δ芏?,體驗(yàn)比較好,后期擴(kuò)展成本比較低,適合創(chuàng)業(yè)者用原生框架開發(fā)APP。

 

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

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

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

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

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

l  自繪應(yīng)用適用于游戲和有特殊效果的應(yīng)用,最大的好處是沒有平臺約束和表達(dá)瓶頸。
APP開發(fā)框架

 

一、網(wǎng)頁WebApp開發(fā)框架

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

 

React

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

主流技術(shù)方案:

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

 

Vue

由國人創(chuàng)建,在中國擁有大量使用者,也有很多配套的開源項(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開發(fā)框架

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

 

IOS

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

主流技術(shù)方案:

VIPER + RxSwift + Moya + Alamofire + SwiftyJSON/ObjectMapper

 

Android

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

主流技術(shù)方案:

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

 

三、混合HybridApp開發(fā)框架

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

 

Cordova

PhoneGap開源而來。

 

四、橋接BridgeApp開發(fā)框架

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

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

 

React Native

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

 

Weex

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

 

Xamarin(C#)

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

 

RubyMotion(Ruby)

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

 

Titanium

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

 

五、自繪OwndrawApp開發(fā)框架

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

 

Flutter(Dart)

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

CrossApp(C++)

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

 

Corona(Lua)

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

 

Kivy(Python)

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

六、漸進(jìn)ProgressiveApp開發(fā)框架

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

 

PWA

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

 

MiniProgram

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

 

Taro

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

 

Nanachi

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

Chameleon

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

以上就是六種APP開發(fā)框架,選擇適合自己的app開發(fā)框架是比較重要的。

APP開發(fā)-北京天品互聯(lián),可以為企業(yè)提供各種APP開發(fā)框架制作APP,包括混合、原生、H5開發(fā)等框架類型,500+APP開發(fā)案例,3年免費(fèi)售后維護(hù)期,超過您的預(yù)期,開發(fā)APP,可以致電公司客服。

客服QQ:121446412 聯(lián)系電話:15321250321

京ICP備17026149號-1

版權(quán)所有@2011-2022 北京天品互聯(lián)科技有限公司 公司地址:北京市海淀區(qū)上地南路科貿(mào)大廈408

收縮
  • 15321250321