Hybrid App
Hybrid App
2017年05月11日 16:07:51?閱讀數(shù):599更多
個(gè)人分類:?Android
隨著智能手機(jī)的普及,移動(dòng)端應(yīng)用幾乎成為每個(gè)互聯(lián)網(wǎng)產(chǎn)品的標(biāo)配。在快速迭代的互聯(lián)網(wǎng)戰(zhàn)場中高效開發(fā)、低成本上線產(chǎn)品,是每個(gè)應(yīng)用開發(fā)團(tuán)隊(duì)追求的目標(biāo)。此時(shí),選擇合適的應(yīng)用類型和開發(fā)模式便至關(guān)重要。移動(dòng)應(yīng)用可以粗分為三種:原生應(yīng)用(native app), 網(wǎng)頁應(yīng)用(web app,或HTML5 app),以及它們的混血兒——混合模式移動(dòng)應(yīng)用(hybrid app)。今天的博文就來和大家簡單聊聊近年來蓬勃發(fā)展的hybrid app。
Source:?http://s3.rainmaker-labs.com/wp-content/uploads/Mobile-hybrid-app1.jpg
一、什么是Hybrid Mobile App
Hybrid app從外觀上來看是一個(gè)native app,實(shí)則只有一個(gè)UIWebView,里面訪問的是一個(gè)web app,如新聞?lì)惡鸵曨l類的應(yīng)用普遍采取該策略:native的框架加上web的內(nèi)容。不同于native app需要針對不同的平臺使用不同的開發(fā)語言(如使用Objective-C、Swift開發(fā)iOS應(yīng)用,使用Java等開發(fā)Android應(yīng)用,使用C#開發(fā)Windows Phone應(yīng)用),hybrid app允許開發(fā)者僅使用一套網(wǎng)頁語言代碼(HTML5+CSS+JavaScript),即可開發(fā)能夠在不同平臺上部署的類原生應(yīng)用 。由于hybrid app結(jié)合了native app良好用戶交互體驗(yàn)和web app跨平臺開發(fā)的優(yōu)勢,能夠顯著節(jié)省移動(dòng)應(yīng)用開發(fā)的時(shí)間和成本,hybrid app得到越來越多公司的青睞。
Source:?Native, HTML5, or Hybrid: Understanding Your Mobile Application Development Options
按照網(wǎng)頁語言和程序語言的混合,hybrid app通常可以分為三種類型:
Hybrid app也并非是完美的解決方案。由于其使用HTML5,某些依賴于復(fù)雜的原生功能或者繁重的過渡動(dòng)畫的應(yīng)用會(huì)出現(xiàn)卡頓;同時(shí),為了模擬native app的UI和感官,需要投入額外的時(shí)間和精力;盡管可以跨平臺,但是并不能完全支持所有的設(shè)備和操作系統(tǒng);最后,如果應(yīng)用的體驗(yàn)不夠原生化,如一個(gè)簡單的網(wǎng)站,則還有被Apple App Store拒絕的風(fēng)險(xiǎn)。
二、 什么時(shí)候選擇Hybrid App
在hybrid app備受追捧的今天,我們也許會(huì)隨大流優(yōu)先考慮開發(fā)hybrid app。但是,每個(gè)產(chǎn)品各具特色,還沒有哪一種解決方案可以完美地應(yīng)萬變。hybrid app的中庸讓它大放異彩,也限制了它的應(yīng)用場景 。在決定采用一種開發(fā)模式之前,有許多因素需要考慮,諸如:
- 你希望針對哪個(gè)平臺做開發(fā)?
- 你希望通過應(yīng)用商店發(fā)布應(yīng)用么?
- 你希望利用手機(jī)特有的性能么?
- 你的團(tuán)隊(duì)技術(shù)能力如何?
- 你的項(xiàng)目周期和預(yù)算是多少?
如果要設(shè)計(jì)Angry Birds一類對圖形要求很高的游戲,那么在暫不考慮技術(shù)團(tuán)隊(duì)能力的情況下,native app是最優(yōu)選擇;如果要設(shè)計(jì)如Yelp一類內(nèi)容導(dǎo)向的應(yīng)用,那么hybrid app會(huì)是很好的選擇;如果項(xiàng)目時(shí)間緊張,沒有足夠的人手和資金,對圖形和系統(tǒng)原生特性沒有要求,那么web app將是性價(jià)比最高的解決方案。
表一對比了native app, hybrid app和web app在不同方面的表現(xiàn),可以幫助你根據(jù)實(shí)際情況選擇最佳的解決方案。
InfoQ上高嘉峻的一篇文章分享了幾個(gè)hybrid app開發(fā)的誤區(qū),也是開發(fā)過程中應(yīng)該盡量避免的:
三、Hybrid App案例
那么在實(shí)際應(yīng)用場景中,有哪些選擇了hybrid app呢?實(shí)際上,我們很可能使用過很多hybrid app,卻并沒有意識到它們是借了native臺子唱戲的web app。根據(jù)Appcelerator的官網(wǎng),目前單是運(yùn)行基于它的平臺搭建的hybrid app的設(shè)備就有近2.86億臺。此外,LinkedIn、Yelp、Netflix、Wunderlist 等也采用了hybrid模式。值得注意的是,有些博文說Google Inbox也屬于hybrid app,但是根據(jù)Gmail團(tuán)隊(duì)自己的博文,他們考慮效率問題,并沒有采取hybrid,而是提出了一個(gè)新的解決方案:后端使用Android SDK寫Java庫,實(shí)現(xiàn)對話,提醒,聯(lián)系人等功能;然后針對不同的平臺設(shè)計(jì)UI。在不同平臺部署應(yīng)用時(shí),Google使用開源工具GWT和J2ObjC將Java轉(zhuǎn)為JavaScript和Objective-C,這使得Google可以使用同一套Java代碼在web和iOS平臺上實(shí)現(xiàn)同樣的功能。在不同的平臺之間,Inbox可以復(fù)用70%的代碼。
Source:?http://www.appcelerator.com/customers/app-showcase/
四、結(jié)語
這篇博文粗淺介紹了什么是hybrid mobile app,以及什么時(shí)候可以選擇這種開發(fā)模式。關(guān)于具體如何開發(fā),則可以另起一文,此不詳述,僅列舉一些資料,以供感興趣的朋友深入了解。
開發(fā)工具:
8個(gè)hybrid app開發(fā)工具
Hybrid App開發(fā)實(shí)戰(zhàn)
Hybrid Mobile Apps: Providing a Native Experience With Web Technologies
Mobile Frameworks Comparison Chart
40+ Cross Platform Development Tools for Mobile App And Games
參考資料:
一、什么是Hybrid Mobile App:
Hybrid APP是什么
What is a Hybrid Mobile App?
Native, HTML5, or Hybrid: Understanding Your Mobile Application Development Options
Hybrid Mobile Apps: Providing A Native Experience With Web Technologies
Hybrid sweet spot: Native navigation, web content
Understanding HTML5 Hybrid Apps
二、什么時(shí)候選擇Hybrid App:
Web App Hybrid App和 Native App的區(qū)別
5 Points to Consider Before Making a Hybrid Mobile App
別闖進(jìn)Hybrid App的誤區(qū)
三、Hybrid App案例:
Your favourite app isn’t native
LinkedIn for iPad: The Native/Web Messaging Bridge and WebSockets
Whoa! That Embedded Web View Looks Hot in Your iOS App!
Going under the hood of Inbox
總結(jié)
以上是生活随笔為你收集整理的Hybrid App的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机标图命令输入,电脑每次开机后都要使
- 下一篇: HBase预分区设计