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