从零开始开发HybridApp
Hybrid App(混合模式移動應用)是指介于web-app、native-app這兩者之間的app,兼具“Native App良好用戶交互體驗的優勢”和“Web App跨平臺開發的優勢”。
理解Hybrid
Hybrid App本質上是源生程序語言混合前端網頁語言,目的是兼顧源生App的產品體驗和Web應用的輕量特性。
時至今日,大多數開發者都或多或少聽說過Hybrid App是怎么回事,也可能研究過諸如UniApp、Cordova等跨平臺移動開發框架。然而Hybrid興起這么多年,無論是Android還是iOS平臺,似乎市面上很少見這類框架開發的成功應用。這是什么原因呢?
Hybrid App的分類
Hybrid框架基于程序主體平臺和前端網頁語言與源生程序語言的混合方式,大致可以分為兩類。分別是以前端網頁語言為主的Web主體型和以Native為主的復合型。
1. Web主體型
我們常見的Hybrid框架,如上文提及的UniApp、Cordova等,都屬于Web主體型方案。Web主體的方案有著諸多優點,比如只需要開發人員熟悉網頁語言就可以開發App,大大降低了整體研發難度和成本;再比如繼承了前端語言的特點,一定程度上擁有了跨平臺的能力。但該方案的缺點同樣明顯,開發人員發現這種方式開發的App普遍存在程序性能問題和由此引發的用戶體驗問題。
Web主體型的移動應用用戶體驗的好壞,主要取決于底層中間件的交互與跨平臺的能力。經過十數年的技術革新,研發技術和移動終端的硬件性能都有很大的提升,一些Web主體型框架已經能達到接近源生的性能體驗。如果未來該問題能得到徹底解決,Web主體型方案將會是最佳的Hybrid方案。
2. 復合型
復合型Hybrid方案,一句話解釋就是源生程序語言開發App外殼,前端程序語言實現內部業務,兩者之間通過JSBridge通信。復合型方案的特點是將影響程序性能的中間件處理環節交還給源生程序語言,自身只負責業務實現。原則上外殼可以提供Web需要的任何能力。
這其實不算是一種新的開發模式,許多大廠都采用了類似的方案。如Android版本的淘寶App、百度App等。百度內部還封裝了自己的瀏覽內核,更高效。
復合型Hybrid擁有眾多優勢,但整體熱度較Web主體要低不少,原因在于需要有專人維護不同平臺的App外殼,導致許多個人開發者或小微開發團隊被拒之門外。換言之,如果能有一套高度封裝的各平臺App開源外殼,只需要簡單的配置即可進行復合型Hybrid App集成,那該方案無疑是眼下能找到的最優方案。
基于這個思路,我們從在網運行的項目中抽取出一套Hybrid開發框架,AppNest。
AppNest Project簡介
AppNest項目包含三部分,包括Android版外殼、iOS版外殼,以及一個用來示范如何開發與源神外殼通信的Web App DEMO。
總結
以上是生活随笔為你收集整理的从零开始开发HybridApp的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ctfmon.exe开机无法自动启动
- 下一篇: Java - BeanUtils.cop