HTML5标准定稿之后,影响力持续上升,在移动互联网领域爆发出了巨大的能量,HTML5与原生APP之争再次引起行业人士的广泛关注。对于开发者来说,是选择原生APP还是顺应形势接受HTML5成了一个比较纠结的问题,于是诞生了一种折中解决方案——跨平台混合开发,也就是过去两年引起众多讨论的Hybrid App。
Hybrid混合模式借助HTML5技术,降低了开发门槛、缩短了开发周期、减少了开发成本,这也是APP开发人员最为关心的问题。现在也有不少平台提倡HybridApp混合模式开发,在HTML5与原生APP之间为开发者开辟一条道路。
什么是Hybrid App
Hybrid App is a mobile application that is coded in both browser-supported language and computer language. They are available through application distribution platforms such as the Apple App Store, Google Play etc. Usually, they are downloaded from the platform to a target device, such as iPhone, Android phone or Windows Phone. The subscribers need to install to run them.
总体来讲,Hybrid App是同时采用网页语言与程序语言进行开发,通过不同的应用商店进行打包与分发,应用的特性更接近原生应用而且又区别与Web应用。但是在开发过程中同时使用了网页语言,所以开发成本与难度大大降低。也就是说Hybrid App兼具了Native App与Web App两者的诸多优点。
1、AppCan
AppCan是国内Hybrid App混合模式开发的倡导者,支持跨平台移动应用开发,一次开发多平台适配iOS、Android、Windows Phone。AppCan在技术架构上和PhoneGap类似是Web主体型中间件,但是通过结合了一些原生交互效果能够达到iOS、Android平台都比较一致的用户体验。此外,AppCan对引擎进行了独特处理,优化了分辨率及移动端的适配,AppCan应用引擎支持Hybrid App的开发和运行。AppCan着重解决基于HTML5的移动应用"不流畅"和"体验差"的问题。
注:最近AppCan举办了多场移动创业技术分享会,本周六到深圳,有兴趣的朋友可以了解下。
2、APICloud
APICloud是一款“云端一体”的移动开发平台,信仰“云端一体”的理念,重新定义了移动应用开发。APICloud为开发者从“云”和“端”两个方向提供API,简化移动应用开发技术,让移动应用的开发周期从一个月缩短到7天。APICloud由“云API”和“端API”两部分组成,可以帮助开发者快速实现移动应用的开发、测试、发布、管理和运营的全生命周期管理。
APICloud提供的原生模块,涵盖UI、系统、交互、影音、支付等类型。另外,APICloud还为开发者提供了APICloud ID集成开发环境,其一键真机调试、代码同步、编译本地测试包等功能也提高了开发效率。
3、PhoneGap
PhoneGap是一个免费且开源的开发环境,基于HTML,CSS和JavaScript等标准的Web开发语言,使开发者可以开发出在Android、Palm、黑莓、iPhone、iTouch及iPad等设备上运行的App。此外,PhoneGap也提供了比较丰富的原生插件调用,开发者使用PhoneGap进行开发,可调用加速计、GPS/定位、照相机、声音等功能。
PhoneGap还提供Adobe AIR App以及在线的培训课程,帮助开发者了解原生API并在他们自己的平台上开发移动App。
但是,PhoneGap是国外的平台,对国内开发者来说会造成一些不便,比如开发文档都是英文,出现问题时技术支持不到位,另外,Hybrid用户群,大部分是web开发者,对原生开发基本不了解,开发者需要对各个平台的开发都要需要了解,对硬件等等都要配置,加大开发成本。
4、NativeScript
NativeScript是使用移动平台的JavaScript引擎来进行跨平台开发。逻辑部分自然无需多说,关键在于如何使用平台特性。NativeScript是通过反射得到所有平台API,预编译它们,然后将这些API注入到JavaScript运行环境,接下来在Javascript调用后拦截这个调用,并运行native代码。NativeScript是使用大量web开发的技巧来进行app开发,因为工具链和语言都非常熟悉受到了很多前端开发者的欢迎。
5、Kinvey
Kinvey同样是一个为移动应用开发者提供后台创建服务的平台。Kinvey强调加速移动应用开发与销售的“即取即用”理念。Kinvey的中间层与数据层均托管在多个云服务提供商处,包括Rackspace、Amazon与Microsoft。所有通过Kinvey存储的数据都会有四种方式备份:Amazon EC2、Windows Azure、Rackspace以及Kinvey自己的服务器,假如其中一两个出现了故障,用户的数据依然安然无恙。
6、appMobi
AppMobi推出的全新开发工具XDK,使得用户只要会HTML5、CSS3或 JavaScript 代码,就可以使用 XDK 编写程序,不需要学习 Objective C 或下载其他的软件开发工具包。XDK 让用户可以使用行业标准来构建应用程序,同时提供了 AppMobi 自有的 JavaScript 库,包含类似转换滤镜和滚动条等内容。
注:AppMobi被Intel收购,现为Itel XDK。
7、Titanium
Titanium移动平台是所有移动开发平台中比较另类的,它将JavaScript和本地库链接在一起,编译成字节码,针对iOS以及Android两个平台分别构建一个软件包。应用程序使用HTML,JavaScript和CSS进行开发,并支持PHP,Ruby和Python。应用程序可以使用 Appcelerator API访问本地特性。并提供Appcelerator Studio开发环境,由于编译成本地代码,所以用户体验是最好的。
8、AppMachine
AppMachine是一款跨平台的快速开发工具,目前支持iOS和Android两大主流平台。用户可以通过修改AppMachine所提供的20种应用设计模板来进行App设计。这样一来,没有编程经验的用户也可以通过使用AppMachine来创建App。另外用户也可以自己DIY,添加包括新闻、LBS、社交媒体、拍照、摄像等多个集成内容。
除了提供模板,AppMachine也支持自定义。
9、AppsBuilder
AppsBuilder是一个在线跨平台应用开发平台,能为用户提供便捷快速的原声应用解决方案,涉及平台包括iPhone、iPad、WindowsPhone、Android、Chrome、甚至HTML5。AppsBuilder宣称只需要10分钟就能让应用实现跨平台使用,有了完全可定制的视觉设计和实现应用跨平台的能力,用户根本需要根据AppsBuilder提供的说明进行操作,无相关知识也可完成快速开发。另外,AppsBuilder内置插件可以将博客网站直接转换成原生手机应用。
AppsBuilder能进行界面重新定制和功能重新分配,节省开发调整的成本。
10、AppsGeyser
AppsGeyser是一个国外的网站,但提供的功能非常有趣,可以瞬间把你的博客生成一个apk的安装文件,并且还支持二维码下载,AppsGeyser提供三种选择,操作都很容易:你可以任意输入一个移动网站网址,即可生成一个应用;输入任何网页小工具的HTML代码,便可直接转化为Android应用;通过工具抓取网页上的版块生成应用。
这是一个傻瓜式应用生成平台,使普通人也能开发APP。
各个平台详细内容及更多快速开发工具,可到DevStore工具服务板块快速开发分类查看。