一 App有哪些形式
WebApp:簡單來說,Web App就是針對iOS/Android優(yōu)化后的web站點,用戶不需要下載安裝即可訪問。一般的web站點測重使用網(wǎng)頁技術在移動端做展示,包括文字,視頻,圖片等,而Web App更側重“功能”,是基于網(wǎng)頁技術開發(fā)實現(xiàn)特定功能的應用,必須依賴手機瀏覽器運行。Web App開發(fā)成本低,維護更新簡單,支持云修復,用戶不用下載更新,但是App的用戶體驗不足,頁面跳轉遲鈍甚至卡殼,頁面交互動態(tài)效果不靈活,而且可能上不了AppStore,如果企業(yè)的核心功能不多,App需求側重于信息查詢,瀏覽等基礎功能,可以選擇Web App。
Native App(原生App):Native App是基于智能手機操作系統(tǒng)(現(xiàn)在主流的是ios和Android)用原生程序編寫運營的App。Native App運行時是基于本地操作系統(tǒng)的,所以它的兼容能力和訪問能力更好,擁有最佳的用戶體驗、最好的交互界面,但也是開發(fā)難度最大,開發(fā)成本和維護成本最高的App。
Hybrid App(混合App):是指半原生半web的混合類App,同時采用網(wǎng)頁語言和程序語言進行開發(fā),通過不同的應用商店進行打包分發(fā),用戶需要下載安裝使用。Hybrid App兼具Native App良好的用戶交互體驗和web App跨平臺開發(fā)的優(yōu)勢,因在開發(fā)過程中使用網(wǎng)頁語言,所以開發(fā)成本和難度大大降低。Native App是現(xiàn)在的主流應用,大型的App如淘寶/掌上百度/微信都是走的Hybrid App路線。
二 開發(fā)不同類型的App需要用到哪些技術?
Web App:iOS/Android的內置瀏覽器是基于webkit內核的,所以在開發(fā)webApp時,多數(shù)使用html或html5、CSS3、JavaScript技術做UI布局,使其在網(wǎng)站頁面上實現(xiàn)傳統(tǒng)的C/S架構軟件功能,服務端技術用java、php、ASP。現(xiàn)在也有很多一鍵生成webApp的平臺,如百度siteApp/移動開發(fā)平臺APICloud,APICloud平臺提供基于騰訊x5瀏覽器引擎生成webApp,因為移動端的超級流量入口微信/手機qq等用的也是騰訊x5內置瀏覽器,所以用騰訊x5瀏覽器生成的App在移動頁面展示時適配于微信的瀏覽體驗,這樣可以幫助webApp引流。
Native App:
開發(fā)Native App需要根據(jù)運行的手機系統(tǒng)采用不同的開發(fā)語言,開發(fā)Android App需要的開發(fā)語言是java,還需要熟悉Android環(huán)境和機制。主要知識點如下:
1. 開發(fā)環(huán)境,Android Studio、eclipse.如何搭建Android開發(fā)環(huán)境可以去百度。
2. 數(shù)據(jù)結構,App的某些功能涉及到做算法,所以要有一定的數(shù)學基礎
3. Android SDK,會API接口開發(fā),包括自行開發(fā)API的能力和調用第三發(fā)API的經(jīng)驗。
4. 熟悉tcp、IP,socket等網(wǎng)絡協(xié)議
5. 如果涉及到服務器,你還需要了解webservice相關知識和相應的開發(fā)語言,常用有PHP、JSP、ASP.Net.
6. 除了這些功能基礎,App開發(fā)還涉及到UI設計、框架、性能優(yōu)化、調試適配等。
Objective-C是開發(fā)iOS系統(tǒng)App的主流編程語言,開發(fā)者一般用蘋果公司的iOS SDK搭建開發(fā)環(huán)境,iOS SDK是開發(fā)iOS應用程序中不可少的軟件開發(fā)包,提供了從創(chuàng)建程序,到編譯、調試、運行、測試等多種開發(fā)過程中需要等工具。學習iOS開發(fā)可以去看蘋果官方文檔,這是最權威的ios教程。
Hybrid App:混合開發(fā)中主流的是以web為主體型的開發(fā),即以網(wǎng)頁語言編寫,穿插Native功能的hybrid App開發(fā)類型,網(wǎng)頁語言主要有html5、CSS3、JavaScript。Web主體型的App用戶體驗好壞,取決于底層中間件的交互與跨平臺的能力。國內外有很多優(yōu)秀的開發(fā)工具,如國外的AppmAkr、Appmobi,國內的APICloud,APICloud的底層引擎用Deep Engine,使用半翻譯式原理,將運行中的web翻譯成Native API,并且支持擴展API,開發(fā)時可調用用原生語言開發(fā)的功能模塊,以此達到媲美原生App的用戶體驗,同時節(jié)省開發(fā)時間。
對企業(yè)來說,可以根據(jù)自己的需求選擇不同的開發(fā)類型和開發(fā)工具,目前來看,Hybrid App已經(jīng)成為移動開發(fā)趨勢,一方面Hybrid App開發(fā)時不采用或者大部分不采用原生語言,卻能擁有原生應用的特性,一方面隨著web技術的發(fā)展,Hybrid App技術已經(jīng)成熟,很多大型App淘寶、微信、攜程都屬于這種開發(fā)模式,Hybrid App給企業(yè)移動應用的開發(fā)、維護、更新都帶來了極高的便捷性,從成本投入用戶體驗考慮,Hybrid App都是首選。