手機(jī)APP開發(fā)的幾種方式
原生/Native:使用原生 SDK 開發(fā) App。優(yōu)點(diǎn)不用說让禀,當(dāng)你有足夠的資源躯概,這是最理想的 方式年栓;缺點(diǎn)是對(duì)不同的 平臺(tái)要分別開發(fā),學(xué)習(xí)成本高,開發(fā)成本高糜烹、開發(fā)周期長违诗、不易于 web 開發(fā)人員和企業(yè)建站公司轉(zhuǎn)型
原生腳本/NativeScript:將原生 API 封裝成 JavaScript 接口,這有點(diǎn)像前端的 nodejs疮蹦。 NativeScript 方式 與原生相比性能損失不大(據(jù)稱只有 10%左右)诸迟,優(yōu)點(diǎn)是開發(fā)語言統(tǒng)一使 用 JavaScript,缺點(diǎn)是 要針對(duì)不同的平臺(tái)分別開發(fā)愕乎。
原生+web/ Hybrid:使用原生技術(shù)開發(fā)阵苇,部分頁面調(diào)用 web。優(yōu)點(diǎn)是比純原生開發(fā)周期 短感论, 頁面更新方便绅项,如支付寶,還有很多 app 的詳情頁面比肄。缺點(diǎn):需要原生和 web 配合快耿。
混合/Hybrid:使用 web 技術(shù)開發(fā) App,使用 Cordova/PhoneGap 之類進(jìn)行打包封裝芳绩。優(yōu) 點(diǎn)是采用標(biāo)準(zhǔn)的 web 技術(shù)開發(fā)掀亥, 避免了不同平臺(tái)原生開發(fā)體系的學(xué)習(xí),學(xué)習(xí)成本低妥色,上手 快搪花、效率高,一次開發(fā) 微信 wap app 全部搞定;缺點(diǎn)是 app 在 android 平臺(tái)性能上有一些 損失嘹害,但是相信硬件的發(fā)展會(huì)接近原生撮竿。
APICloud
APICloud是一款“云端一體”的移動(dòng)開發(fā)平臺(tái),信仰“云端一體”的理念笔呀,重新定義了移動(dòng)應(yīng)用開發(fā)幢踏。APICloud為開發(fā)者從“云”和“端”兩個(gè)方向提供API,簡化移動(dòng)應(yīng)用開發(fā)技術(shù)凿可,讓移動(dòng)應(yīng)用的開發(fā)周期從一個(gè)月縮短到7天惑折。APICloud由“云API”和“端API”兩部分組成,可以幫助開發(fā)者快速實(shí)現(xiàn)移動(dòng)應(yīng)用的開發(fā)枯跑、測試惨驶、發(fā)布、管理和運(yùn)營的全生命周期管理敛助。
WeX5
WeX5采用混合應(yīng)用(hybrid app)開發(fā)模式, UI體系完全基于w3c的html5+css3+js粗卜;引入jquery和bootstrap并對(duì)移動(dòng)做了底層優(yōu)化,效率和性能接近原生應(yīng)用纳击。WeX5本機(jī)API Framework采用phonegap(cordova)框架续扔。
- 定位:開發(fā)面向消費(fèi)者和公眾的開放應(yīng)用系統(tǒng)
- 適用:一般app、電商app焕数、客服app纱昧、會(huì)員app、微店微商等
- 前端:安卓app/蘋果app/微信服務(wù)號(hào)/PC web app/百度直達(dá)號(hào)輕應(yīng)用
- 后端:后端數(shù)據(jù)處理組件堡赔,對(duì)接各主流技術(shù)平臺(tái)
- 費(fèi)用:完全開源识脆,徹底免費(fèi),無任何限制
- UI技術(shù):WeX5的UI技術(shù)和標(biāo)準(zhǔn)是html+js+css善已,框架是jquery灼捂、require js和bootstrap,都是主流的不能再主流换团,標(biāo)得不能在標(biāo)準(zhǔn)的東西了悉稠。
- 本機(jī)apiframe work:WeX5采用了codova/phonegap,也是最主流的了艘包,MS的visual studio的猛,IBM的worklight,Intel的XDK想虎。衰絮。。等開發(fā)工具都在用磷醋。
- 后端:WeX5的后端開放猫牡,你可以用php、.net邓线、javaee淌友、.nodejs。骇陈。震庭。等等。
IONIC
IONIC 是目前最有潛力的一款 HTML5 手機(jī)應(yīng)用開發(fā)框架你雌。通過 SASS 構(gòu)建應(yīng)用程序器联,它提供了很多 UI 組件來幫助開發(fā)者開發(fā)強(qiáng)大的應(yīng)用二汛。 它使用 JavaScript MVVM 框架和 AngularJS 來增強(qiáng)應(yīng)用。提供數(shù)據(jù)的雙向綁定拨拓,使用它成為 Web 和移動(dòng)開發(fā)者的共同選擇肴颊。Ionic是一個(gè)專注于用WEB開發(fā)技術(shù),基于HTML5創(chuàng)建類似于手機(jī)平臺(tái)原生應(yīng)用的一個(gè)開發(fā)框架渣磷。Ionic框架的目的是從web的角度開發(fā)手機(jī)應(yīng)用婿着,基于PhoneGap的編譯平臺(tái),可以實(shí)現(xiàn)編譯成各個(gè)平臺(tái)的應(yīng)用程序醋界。
之前一直在思考app需要跟java搭上關(guān)系竟宋,,突然發(fā)現(xiàn) app就相當(dāng)于一個(gè)帶了url的瀏覽器形纺,丘侠,只是數(shù)據(jù)交互的時(shí)候會(huì)跟后臺(tái)服務(wù)器搭上關(guān)系,逐样,我前面app怎么實(shí)現(xiàn)跟后臺(tái)有什么關(guān)系呢婉陷。。官研。秽澳。。戏羽。担神。。始花。妄讯。。酷宵。糾結(jié)了好久的問題亥贸。。浇垦。
ionic 與 phonegap的關(guān)系
phonegap 是骨架炕置。是血肉。是思維男韧。(其實(shí)就是個(gè)中間件朴摊,讓 web頁面能與手機(jī)原生功能交互 )ionic , appframework 等UI框架是皮肉 此虑,用現(xiàn)在的話說就是看臉的時(shí)代甚纲。顏值什么的都靠這個(gè)提升二者并沒有直接的包含或被包含。 phonegap 也可以用 cordova 替代朦前〗楦耍或者是別的中間件鹃操。ionic 或者 appframework 也可以不用,完全手寫html5的頁面也是沒有問題的春哨。使用前端的ui框架只是為了省事荆隘。比如一個(gè) popup 的彈窗,比如一個(gè) modal , 實(shí)現(xiàn)起來都是需要時(shí)間的悲靴。而使用框架的話臭胜,直接調(diào)用一下封裝好的就行了莫其。
ionic= cordova編譯環(huán)境+cordova api+ angular + angular ui插件(帶css)
ionic放棄了安卓4.1以下的版本和ios6以下的版本
混合webapp
ionic---技能學(xué)習(xí)癞尚;cordova(phonegap)中間件+angularJs(前端MVVM技術(shù)***)+ionic(UI組件)
開發(fā)工具;可以在eclipse乱陡、sublime浇揩、webstorm上進(jìn)行開發(fā),
優(yōu)點(diǎn): 快速做app應(yīng)用是個(gè)不錯(cuò)的選擇憨颠,但封裝了angular所以首先要會(huì)使用angular框架胳徽,很多組件可以直接用 方便快速
相對(duì)充足的學(xué)習(xí)資料,Learn Iconic,The Iconic book
ngcordova爽彤,將主流的Cordova API或者Cordova插件封裝為AngularJS擴(kuò)展养盗,使用非常方便。
開源免費(fèi)的webfont icon庫ionicons,基本滿足你icon需求适篙。
異惩耍活躍的在線社區(qū)。
缺點(diǎn): 低端機(jī)表現(xiàn)不算流暢(需要引入crosswall)嚷节,頁面元素太多會(huì)不流暢聂儒,安卓版本可能會(huì)有些bug在開發(fā)時(shí)需要調(diào)整
支持版本:android4.0以上 ios6以上
wex5---源于國內(nèi)自主研發(fā)起步公司的軟件,主要進(jìn)行app硫痰,微信端的開發(fā)衩婚,目前而言針對(duì)android和ios的比較多,是基于HTML5效斑、CSS3的開發(fā)非春,是通過圖 形化界面調(diào)用組件設(shè)計(jì)UI,后臺(tái)用requireJS來進(jìn)行代碼編寫,適用范圍中等水平缓屠,是一款快速開發(fā)工具
技能學(xué)習(xí):WeX5的UI技術(shù)和標(biāo)準(zhǔn)是html+js+css税娜,框架是jquery、require js和bootstrap 藏研,cor/dova(phonegap)中間件 Knockoutjs(MVVM)
開發(fā)工具:WeX5提供的開發(fā)工具
支持版本:android4.0以上 ios6以上
優(yōu)點(diǎn)敬矩;異常活躍的在線社區(qū)
可視化拖拽式集成開發(fā)環(huán)境IDE
默認(rèn)內(nèi)嵌高性能瀏覽器蠢挡,大大提升性能弧岳,特別是android低端機(jī)
提供微信等輕應(yīng)用框架
提供了豐富的原生插件
支持引入和擴(kuò)展第三方插件凳忙,任何原生app能實(shí)現(xiàn)的能力都可通過擴(kuò)展插件實(shí)現(xiàn)
缺點(diǎn):拖拽控件的傻瓜式開發(fā),沒有太多實(shí)際編程能力上的提高
較冷門禽炬、小眾使用的產(chǎn)品涧卵,不入主流,bug還是有很多