? ? 一、移動(dòng)Web APP
? ? 服務(wù)器端腳本語言可用于構(gòu)建移動(dòng)Web APP。但與本機(jī)應(yīng)用不同,這些不支持使用設(shè)備功能和硬件。他們不能使用相機(jī),GPS或加速度計(jì)甚至本地存儲(chǔ),它們完全基于網(wǎng)絡(luò)。
? ? 二、原生態(tài)開發(fā)(Native App)
? ? 需要根據(jù)運(yùn)行的手機(jī)系統(tǒng)采用不同的開發(fā)語言,開發(fā)Android App需要的開發(fā)語言是java,還需要熟悉Android環(huán)境和機(jī)制。目前較常用和較成熟的開發(fā)方式,越重視細(xì)節(jié)成本越高。主要知識(shí)點(diǎn)如下:
? ? 1. 開發(fā)環(huán)境,Android Studio、eclipse;
? ? 2. 數(shù)據(jù)結(jié)構(gòu),App的某些功能涉及到做算法,所以要有一定的數(shù)學(xué)基礎(chǔ);
? ? 3. Android SDK,會(huì)API接口開發(fā),包括自行開發(fā)API的能力和調(diào)用第三發(fā)API的經(jīng)驗(yàn);
? ? 4. 熟悉tcp、IP,socket等網(wǎng)絡(luò)協(xié)議;
? ? 5. 如果涉及到服務(wù)器,還需要了解webservice相關(guān)知識(shí)和相應(yīng)的開發(fā)語言,常用有PHP、JSP、ASP.Net。
? ? 三、H5開發(fā)
? ? H5開發(fā)是基于各種phonegap,ionic,react native框架上的,這些是在有限的軟件環(huán)境中做出快速的開發(fā)。成本大概是Native App的30%-50%,也是比較接近原生開發(fā)能達(dá)到效果的一種方式。如果一個(gè)App既要做Android又要做iOS版,還要電腦也可以瀏覽,那大部分頁面用HTML5開發(fā)肯定是加快開發(fā)速度的,當(dāng)然會(huì)損失一些性能,流暢度會(huì)不如原生的,而且有一些調(diào)用底層的東西H5可能做不到或者做起來麻煩,所以要原生+H5混用。
? ? 四、混合開發(fā)(Hybrid App)
? ? 混合開發(fā)是用HTML,CSS和Java腳本等Web技術(shù)編寫的。您可以在各種平臺(tái)上運(yùn)行這些應(yīng)用程序。它們可以跨平臺(tái)兼容,因?yàn)樗鼈儾幌抻谝环N特定的編程語言。成本相對(duì)原生開發(fā)要低,做出的效果比web加殼和HTML5開發(fā)的效果要好些。
? ? 目前混合開發(fā)中主流的是以web為主體型的開發(fā),即以網(wǎng)頁語言編寫,穿插Native功能的hybrid App開發(fā)類型,網(wǎng)頁語言主要有html5、CSS3、JavaScript。Web主體型的App用戶體驗(yàn)好壞,取決于底層中間件的交互與跨平臺(tái)的能力。國內(nèi)外有很多優(yōu)秀的開發(fā)工具,如國外的AppmAkr、Appmobi,國內(nèi)的APICloud,APICloud的底層引擎用Deep Engine,使用半翻譯式原理,將運(yùn)行中的web翻譯成Native API,并且支持?jǐn)U展API,開發(fā)時(shí)可調(diào)用用原生語言開發(fā)的功能模塊,以此達(dá)到媲美原生App的用戶體驗(yàn),同時(shí)節(jié)省開發(fā)時(shí)間。
? ? 對(duì)企業(yè)來說,可以根據(jù)自己的需求選擇不同的開發(fā)類型和開發(fā)工具,目前來看,Hybrid App已經(jīng)成為移動(dòng)開發(fā)趨勢,一方面Hybrid App開發(fā)時(shí)不采用或者大部分不采用原生語言,卻能擁有原生應(yīng)用的特性,一方面隨著web技術(shù)的發(fā)展,Hybrid App技術(shù)已經(jīng)成熟,很多大型App都屬于這種開發(fā)模式,Hybrid App給企業(yè)移動(dòng)應(yīng)用的開發(fā)、維護(hù)、更新都帶來了極高的便捷性,從成本投入用戶體驗(yàn)考慮,Hybrid App都是首選。