一、移动Web APP
服务器端脚本语言可用于构建移动Web APP。但与本机应用不同,这些不支持使用设备功能和硬件。他们不能使用相机,GPS或加速度计甚至本地存储,它们完全基于网络。
二、原生态开发(Native App)
需要根据运行的手机系统采用不同的开发语言,开发Android App需要的开发语言是java,还需要熟悉Android环境和机制。目前较常用和较成熟的开发方式,越重视细节成本越高。主要知识点如下:
1. 开发环境,Android Studio、eclipse;
2. 数据结构,App的某些功能涉及到做算法,所以要有一定的数学基础;
3. Android SDK,会API接口开发,包括自行开发API的能力和调用第三发API的经验;
4. 熟悉tcp、IP,socket等网络协议;
5. 如果涉及到服务器,还需要了解webservice相关知识和相应的开发语言,常用有PHP、JSP、ASP.Net。
三、H5开发
H5开发是基于各种phonegap,ionic,react native框架上的,这些是在有限的软件环境中做出快速的开发。成本大概是Native App的30%-50%,也是比较接近原生开发能达到效果的一种方式。如果一个App既要做Android又要做iOS版,还要电脑也可以浏览,那大部分页面用HTML5开发肯定是加快开发速度的,当然会损失一些性能,流畅度会不如原生的,而且有一些调用底层的东西H5可能做不到或者做起来麻烦,所以要原生+H5混用。
四、混合开发(Hybrid App)
混合开发是用HTML,CSS和Java脚本等Web技术编写的。您可以在各种平台上运行这些应用程序。它们可以跨平台兼容,因为它们不限于一种特定的编程语言。成本相对原生开发要低,做出的效果比web加壳和HTML5开发的效果要好些。
目前混合开发中主流的是以web为主体型的开发,即以网页语言编写,穿插Native功能的hybrid App开发类型,网页语言主要有html5、CSS3、JavaScript。Web主体型的App用户体验好坏,取决于底层中间件的交互与跨平台的能力。国内外有很多优秀的开发工具,如国外的AppmAkr、Appmobi,国内的APICloud,APICloud的底层引擎用Deep Engine,使用半翻译式原理,将运行中的web翻译成Native API,并且支持扩展API,开发时可调用用原生语言开发的功能模块,以此达到媲美原生App的用户体验,同时节省开发时间。
对企业来说,可以根据自己的需求选择不同的开发类型和开发工具,目前来看,Hybrid App已经成为移动开发趋势,一方面Hybrid App开发时不采用或者大部分不采用原生语言,却能拥有原生应用的特性,一方面随着web技术的发展,Hybrid App技术已经成熟,很多大型App都属于这种开发模式,Hybrid App给企业移动应用的开发、维护、更新都带来了极高的便捷性,从成本投入用户体验考虑,Hybrid App都是首选。