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