HybridApp简介以及开发平台的选择
HybridApp简介以及开发平台的选择
原文网址:
Hybrid App
在过去的两年中已经成为移动界的核心话题,但是作为一名
Web
开发者来说要如何站在 的 之巅呢?是选择学习原生开发,研究 Java
、
Object-C
、
C#
等语言,还是选择继续使用网页开发,容忍
HTML5
功能的局限性?就在开发者左右为难的情况下
Hybrid App
作为一个折中的解决 诞生了。那么究竟什么才是 Hybrid App
呢?
**HybridApp
概念**
Hybrid App
:
Hybrid App is amobile application that is coded in both browser-supported language andcomputer language. They are available through application distributionplatforms such as the Apple , etc.Usually, they are downloaded from the platform to a target device, such as , phone or Windows Phone. Thesubscribers need to install to run them.
总体来讲,
Hybrid App
是同时采用网页语言与程序语言进行开发,通过不同的应用商店进行打包与分发,应用的特性更接近原生应用而且又区别与
Web
应用。但是在开发过程中同时使用了网页语言,所以开发成本与难度大大降低。也就是说
Hybrid App
兼具了
Native App
与
Web App
两者的诸多优点。
**浅析
Hybrid App**
Hybrid App
主要以
JS+Native
两者相互调用为主,从开发层面实现“一次开发,多处运行”的机制,成为真正适合跨平台的开发。目前已经有众多
Hybrid App
开发成功应用,比如 、 、街旁等知名移动应用,都是采用 Hybrid App
开发模式。
经过众多开发者与成功案例证明
Hybrid App
兼具了
Native App
的良好用户体验的优势,也兼具了
Web App
使用
HTML5
跨平台开发低成本的优势。现在有更多的开发者在面临移动平台的选择,所以在这里根据开发中各个平台的使用情况,针对现在主流的平台进行分析。
主流移动平台分析
HybridApp
开发,现阶段主流的平台包括
PhoneGap
,
AppCan
,
appMobi
,
Titanium
等,它们基于
webkit
开源内核,使用
HTML5
标准开发,适配机型简单,支持开发者自定义插件,并能很好的应用于商业,教育,娱乐等行业,成为移动开发者的首选开发平台。
**PhoneGap
(
Cordova
)**
产品功能:
PhoneGap
是一款国外的开源移动开发平台。目前已经将核心代码贡献给
Apache cordova
,最新版本是
2.6.0
,它是基于
HTML
,
CSS
和
JavaScript
的,可以使用一些开源的框架比如
jQuery Mobile
,
Dojo Mobile
,
Sencha Touch
等等来提高用户体验,也提供了比较丰富的原生插件调用。
特性:
可以使用
DreamWeaver 5.5
编码,现在使用
appMobi
提供的
xdk
进行模拟器开发。
代码开源,开发者可以放心使用。
兼容性,一次开发,多处运行。
使用
JS+HTML5
,成本低。
优点:
Native
接口比较丰富,通过 的 API
可以直接访问硬件,比如说加速,相机,指南针,
GPS
,文件访问等。
接口文档描述非常详细。
支持平台多,包括
iOS
,
Android
,
Blackberry
,
Sym bian
,
bada
,
Windows Phone 7
,
Windows Phone 8
等。
缺点:
需要针对相应的平台环境配置,进行编译,打包测试,发布等等。由于使用
Hybrid
开发的用户群,大部分是
web
开发者,对原生开发基本不了解,这无疑给每一个开发者增加了沉重的负担,需要对各个平台的开发都要需要了解,对硬件等等都要配置,加大开发成本。
使用效果启动慢,页面切换响应慢,数据请求慢。
文档虽比较详细但是基本是英文,对于国内大部分用户英文水平较差的是比较大的挑战。
因为是国外的框架,技术支持不够到位,出现问题,无法排解,成为技术攻关的难点。
AppCan
产品功能:
AppCan
是本土移动开发中使用最广的移动平台,网络舆论而言,
AppCan
是
PhoneGap
的中国化,但是从对
AppCan
实际使用,以及转向移动开发的朋友们互相交流反馈,他们是截然不同的两个移动平台,
AppCan
不仅封装了类似于
PhoneGap
的本地调用功能,而且封装了
uexWindow
多窗口机制,实现了移动端的
iframe
效果,虽然不是开源项目,但一直都有面向开发者的免费版,并且也有定位于 用户的企业版套装,目前最新版本为 2.2.X
。
特性:
提供的集成开发环境的
IDE
进行模拟器开发。
兼容性,一次开发,多处运行。
使用
JS+HTML5
,成本低。
在线打包。
代码加密保护机制。
优点:
支持在线上传证书打包,对于不了解 ,以及 Android
环境开发的人是福音。
支持更多的原生调用,比如
UI
控件的封装,通讯类(
socket
),地图, 等更多的原生控件支持。
拥有统一数据统计平台,便于运营管理开发的应用。
完善的技术支持,官方论坛以及
Q
群建设较为完善,使开发者更好的进行交流沟通。
缺点:
虽然有中文的开发文档,但描述比较简单,希望他们丰富他们的
API
文档。
免费版本不支持自定义插件(据说企业版可以自定义插件)。
暂时只支持
iOS
,
Android
两大平台,不知道什么时候推出
Windows Phone 8
?
许多功能需要企业版才能实现,不过是收费的。
Titanium
产品功能:
Titanium
移动平台是所有移动开发平台中比较另类的,它将
JavaScript
和本地库链接在一起,编译成字节码,针对
iOS
以及
Android
两个平台分别构建一个软件包。应用程序使用
HTML
,
JavaScript
和
CSS
进行开发,并支持
PHP
,
Ruby
和
Python
。应用程序可以使用
Appcelerator API
访问本地特性。并提供
Appcelerator Studio
开发环境,由于编译成本地代码,所以用户体验是最好的。
特性:
针对不同平台生成对应的原生包。
供
Appcelerator Studio
开发。
优点:
针对
JS
解析生成原生控件,基本达到纯原生的用户体验。
支持自定义插件。
缺点:
API
文档为英文,并且比较简单,对国内用户使用有一定挑战。
跟
PhoneGap
同样,国外框架,技术支持困难。
支持
Android
,
iOS
, 平台。
环境需要用户自己搭建比较复杂。
appMobi
产品功能:
appMobi
推出了全新开发工具
XDK
,这个工具使得开发者可以使用
HTML5
构建网络和移动平台的应用程序,可以进行屏幕仿真调试、设备实际调试和遥控调试等。
特性:
使用
XDK
进行开发。
+ +JS
。
一次开发,多处运行。
优点:
本地接口较为丰富,并且推出有游 加速引擎 ,
主要包括物理引擎、离线和动态缓存、 、验证和加密、增强现实、二维码和 QR
扫描、更好的显示支持。
缺点:
国外框架,技术支持差。
目前已经有很多移动开发公司把
PhoneGap
进行了封装,提供打包、快速模板等开发环境。但是由于
PhoneGap
本身的局限性,如果要做长期的商业项目还有很长的路要走。而国内使用最多的
AppCan
,它从多个角度多种模式进行开发,可以满足国内从普通网站维护者到
Web
专业开发者等对于移动应用的需求。加上良好的技术支持,目前已经成为众多开发者的首选框架。而
appMobi,Titanium
移动平台,不同的用户根据自己的需求也有相应的选择。
Hybrid App
,一个特定时期的特定产品,不同的期望不同的选择。