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