hybrid app、web app与native app工具
1.使用過(guò)哪些工具?
Webapp:ThinkPHP Mobile(TPM)、Ionic Framework、JingleUI
Hybridapp:Apicloud、Phonegap(稍了解Hbuilder、Appcan、Wex5)
Nativeapp:CrossApp、React-Native、Xcode、Eclipse-ADT/Android Studio
?
2. 以上工具各自的編程語(yǔ)言是?
Webapp:主要使用H5(html5、css3、js)語(yǔ)言規(guī)范來(lái)編寫(xiě),對(duì)JS語(yǔ)言掌握要求較高
Hybridapp:同Webapp使用H5作為主要編程語(yǔ)言,JS將作為主力連接原生SDK模塊
Nativeapp:
1)Xcode、Eclipse-ADT/Android Studio:使用Objective-c/swift、Java
2)CrossApp:主要使用C++來(lái)進(jìn)行跨平臺(tái)編寫(xiě),JS(已經(jīng)支持,不過(guò)仍處于測(cè)試階段)
3)React-Native:主要使用JS編寫(xiě),語(yǔ)法規(guī)則JSX
?
3.以上工具的上手難度、開(kāi)發(fā)周期、打包平臺(tái)、跨平臺(tái)屬性是?
1)上手難度:
Hybridapp/Webapp:寫(xiě)一次,運(yùn)行任何平臺(tái)。簡(jiǎn)單
React-Native:學(xué)一次,寫(xiě)任何平臺(tái)。中等
Nativeapp:學(xué)一次,只限運(yùn)行特定平臺(tái)。較難
2)開(kāi)發(fā)周期:
Webapp:2~3周
Hybridapp:由于第三方工具兼容性、bug處理問(wèn)題、調(diào)用js-原生模塊(熟悉文檔),開(kāi)發(fā)周期在2個(gè)月左右
React-Native:1個(gè)半月~2個(gè)月
Nativeapp:各1個(gè)半月~2個(gè)月
3)打包平臺(tái)
Webapp:無(wú),可借助微信開(kāi)放/公眾平臺(tái)分發(fā)。成本低;自由度高
Hybridapp:第三方工具的在線打包。成本低;自由度低
React-Native:原生Xcode、Eclipse-ADT。Xcode需購(gòu)買支持OSX操作系統(tǒng)的主機(jī),成本略高;自由度高
Nativeapp:原生Xcode、Eclipse-ADT/Android Studio。Xcode需購(gòu)買支持OSX操作系統(tǒng)的主機(jī),成本略高;自由度高
4)跨平臺(tái)
Webapp:H5分發(fā)平臺(tái)
Hybridapp:跨iOS、Android、Wp(PhoneGap支持)多平臺(tái)
React-Native:跨iOS、Android雙平臺(tái)
Nativeapp:不跨平臺(tái)
?
4.Hybridapp與Native app相比,性價(jià)比如何?
時(shí)代在發(fā)展,Html5規(guī)范也在完善,尤其是W3C敲定Html5標(biāo)準(zhǔn)之后,但是現(xiàn)實(shí)真的有那么美好嗎?
筆者使用Apicloud,從發(fā)布到今天已有一年多,apicloud相對(duì)其他混合式app工具,是同類較好的,但這并不能掩飾h5作為app 開(kāi)發(fā)的局限性。
1)混合式app的用戶體驗(yàn)
頁(yè)面與頁(yè)面之間的切換,也稱轉(zhuǎn)場(chǎng)動(dòng)畫(huà)。隨著手機(jī)硬件系統(tǒng)的更新?lián)Q代,webview已有很大程度的提升,但即使是在iphone 6/6s plus上仍然是假性生硬切換,即使無(wú)卡頓。那么要做到諸如微信般切換已然無(wú)可能。
iOS系統(tǒng)如此,安卓系統(tǒng)情況亦不明朗。而由于混合式app依賴模塊實(shí)現(xiàn)原生交互,在沒(méi)有大量模塊實(shí)現(xiàn)的情況下,需要使用html5-js來(lái)代替,體驗(yàn)更是大打折扣。
2)UI開(kāi)發(fā)受限
許多創(chuàng)業(yè)公司由于產(chǎn)品交互需求,需要將app ui做到配色一致或更個(gè)性化(如帶卡通下拉刷新),而混合式app的模塊UI已寫(xiě)固定,自由化UI定制難。
3)集成第三方sdk
混合式app想要使用第三方sdk,首先要使用的工具平臺(tái)支持,如果平臺(tái)不支持,要么你請(qǐng)人寫(xiě)iOS/android模塊,要么就是等。倘若新集成的sdk出現(xiàn)bug,你所能做的也是等,并沒(méi)有其他好的辦法。
?
5.針對(duì)這些工具,學(xué)習(xí)路線是?
我在一些混合app 開(kāi)發(fā)群里,看到過(guò)很多web開(kāi)發(fā)新轉(zhuǎn)行的同學(xué),問(wèn)題沒(méi)有看明白,就直接提問(wèn),我覺(jué)得這種做法會(huì)影響自身的開(kāi)發(fā)效率。以下講講學(xué)習(xí)混合式app的學(xué)習(xí)路線:
1)搭建IDE環(huán)境
針對(duì)Win/OS X選取不同的開(kāi)發(fā)環(huán)境工具包,并生成第一個(gè)示例app,hello world!
2)看教程
Html5教程推薦:www.w3school.com.cn
在第三方工具的開(kāi)發(fā)者社區(qū)看置頂教程帖子或視頻教程,文字的教程可以多看,視頻的教程看看就好,畢竟每個(gè)人的思路都是不同的
3)看技術(shù)文檔
到這個(gè)階段,你要正式開(kāi)發(fā)app了。文檔里的方法不用記得太詳細(xì),建議邊寫(xiě)邊看邊調(diào)試。混合式app的調(diào)試需要同步到手機(jī),這點(diǎn)可能有點(diǎn)麻煩。推薦使用海馬玩模擬器進(jìn)行在線調(diào)試。
4)看開(kāi)源代碼
任何編程語(yǔ)言都有互通性,而看開(kāi)源代碼就是必修課了。好的開(kāi)源代碼能讓你進(jìn)步神速。
?
6.對(duì)web開(kāi)發(fā)者轉(zhuǎn)型的建議
同為多年web開(kāi)發(fā),轉(zhuǎn)型不易,一要考慮工具要像腳本語(yǔ)言如此便捷效率;二要考慮能否媲美原生app。
我的建議是:
以hybrid app為基礎(chǔ),觀望crossapp-js部分,條件允許使用react-native(來(lái)自facebook,一直在更新)。
?
?
?
hybrid app、web app、native app之間的比較分析就到這里,如果還有補(bǔ)充,會(huì)繼續(xù)更新。
?
擴(kuò)展閱讀
國(guó)內(nèi)主流Hybrid app工具平臺(tái)推薦:https://blog.csdn.net/ciupasswort/article/details/49563445
hybridapp/webapp的前端UI框架推薦:https://blog.csdn.net/ciupasswort/article/details/49564803
?
轉(zhuǎn)載于:https://www.cnblogs.com/yi-snow-W/p/10709692.html
總結(jié)
以上是生活随笔為你收集整理的hybrid app、web app与native app工具的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 网络攻防第七周作业
- 下一篇: Method Swizzling 为什么