0 前言
移动开发,有三种利器----原生、HTML5、混合(原生+HTML5)。随便谈谈这张兵器谱,观点中立。
1 原生(Native App)
iOS、Android、Windows Phone三大主流手机系统。
iOS | Android | windows Phone | |
主流语言 | Objective-C/Swift HTML5+CSS+JS | Java HTML5+CSS+JS | C++/C#/VB.net HTML5+CSS+JS |
主流工具 | Xcode | ADT | VS |
此处不详细赘述了,一般原生开发的资料太多,可以参考其他。
2 HTML5(类似于Web app)
依然针对三大主流手机OS。不必使用原生开发所用到的东西。HTML5及其小伙伴就可搞定。
移动端开发语言:HTML5+CSS+JS
移动端开发工具:至少3家公司竞争工具市场
工具市场:
NO.1----Apache:Cordova(原Adobe的PhoneGap)
其兼容性:http://cordova.apache.org/docs/en/latest/guide/support/index.html
这个东西的岁数是最大的,工具出现的最早。
NO.2----DCloud:HBuilder(开发工具)、HTML5+ SDK(HBuilder内置的环境)、MUI(仿iOS7的界面框架)
工具、性能、能力,在国内市场是首屈一指了。但是,不支持windows phone
在能力上值得一提,使用Native.js技术,将原生的iOS/Android开发的JS API变成在HTML5中可以调用的API。
NO.3----APICloud:APICloud(提供云服务/客户端两种服务)
在技术架构上和PhoneGap类似是Web主体型中间件,但是通过结合了一些原生交互效果能够达到iOS、Android平台都比较一致的用户体验。但是相比PhoneGap的开源,AppCan相对封闭的路线显得过于谨慎。
jQuery Mobile
jQuery Mobile的详细介绍可以参考网址(http://JQuerymobile.com)
jQTouch
jQTouch的详细介绍可以参考网址(http://baike.baidu.com/view/3778150.htm)
Sencha Touch
Sencha Touch的详细介绍可以参考网址(http://www.sencha.com )
3 混合(Hybrid App)
既然原生工程师干得不错,为什么需要HTML5来干?答:人力成本高,多个项目代码重用率低。
既然HTML5干得不错,为什么需要原生开发工程师来干?答:受限于性能、工具、能力。
附图一张:
----------------------------------------------开启混合模式----------------------------------------------------------
混合(Hybrid)开发方法结合了原生(Native)开发和HTML5(Web)技术。借助这种方法,开发者跨平台开发应用程序的大部分代码,又可以在需要时直接访问原生(Native)的API。
App的Native代码部分使用操作系统的API来创建嵌入式HTML渲染引擎,该引擎在浏览器和设备的API之间充当了桥梁。这座桥梁让Hybrid App得以充分利用现代设备所提供的全部特性。
App开发者可以选择编写自己的桥梁,或者充分利用现成的解决方案,比如PhoneGap——这种开源库为有选择的设备功能提供了在诸操作系统上保持一致的统一JavaScript接口。
App的Native代码部分可以独立开发,但是市场上的一些解决方案把这种类型的Native容器作为其产品的一部分来提供,因而让开发者有办法只要使用HTML5语言,就可以构建利用设备所有特性的高级App。
App的HTML部分可能是驻留在服务器上的网页,也可能是一组HTML、JavaScript、CSS和媒体文件,封装到App代码中,存储在设备本地。这两种方法都有其优势和局限性:
- 放置在服务器上的HTML代码让开发者不必经历提交和批准过程——有些App商店要求这个过程,就可以对App进行小幅更新。但这个方法摈弃了任何离线可用性,因为设备与网络没有连接时,无法访问设备。
- 把HTML代码封装到App里面可以提高性能和可访问性,但是不允许远程更新。
如果结合这两种开发方法之所长。这种系统采用的架构可以把HTML资源放置在Web服务器上,以获得灵活性。同时,把它们本地缓存在移动设备上,以获得高性能。
下文列举了10个不错的开发工具:
http://www.oschina.net/news/27603/10-mobile-web-tools?from=20120407【请仔细查看】
4 兵器谱排名
你说小李飞刀厉害还是周杰伦唱的双节棍厉害?
我观点中立。【后续再更】