移动应用跨平台之旅

由于移动互联 的出现,因此经常听到有人说要做手机端应用。

本人做软件开发已经有一段时间了,开始上班的时候智能手机刚刚出现,不过我并没有一开始就做手机端的开发,直到2年前有了具体的思路,才开始做手机端应用。

因此开始了解一些手机端开发的技术方案。

很显然目前智能手机主要有2个平台ios和android,当然还有windows phone,不过目前主要还是ios和android。

因此首先第一种方式,就是针对不同的平台做2个不同的版本。当然这就是说要同时学习ios和android开发,所谓原生开发。

学习新的技术是需要时间成本的,因此我想是否可以跨平台呢,答案是肯定的。

跨平台也有很多不同的方式,最简单的是使用html5,界面用html实现,然后需要用的系统功能由框架提供,由于界面是使用html因此一些web界面框架也可以用上,之前用过的extjs就有移动版senchaTouch。

html也算是神通广大,在pc上有很多软件都是基于浏览器,所谓b/s模式,当然也是跨平台的,任何操作系统只要有浏览器就能用,而且不用安装,因此现在很多应用如果可以一般都是采用这样方式。

将html用到手机上怎么样呢,手机上也有浏览器,并且手机都支持升级版的html5。虽然在浏览器上不能使用系统功能,但使用像phoneGap、AppCan这样的框架封装一下,也就没有什么了,所谓Hybrid App。

于是我就用AppCan+senchaTouch做了一个demo,从demo的效果上来看,感觉并不是很好,主要是手机性能太差,虽然技术参数很高,我觉得根本就是一种误导,后来发现即便是原生应用依然有性能的问题。所以最终还是没有使用html来程序。

然后我又尝试使用另外的跨平台方式,使用C#来做手机应用,C#需要有.net虚拟机,虽然微软没有提供可以在手机上运行的虚拟机,但是mono可以提供跨平台的运行环境,这种工具称之为xamarin,以native的方式来开发ios和android的应用。

实际上这种方式也没太大的好处,是使用C#对平台的函数进行封装,ios和android实现界面的方式是不一样的,要分开做,然后可以共享一部分代码。虽然有xamarin.Forms让界面也实现跨平台,不过目前并不成熟。

由于之前学过C#,使用xamarin可以不需要适应新的编程语言,另外官方的文档也算完备,于是就开始使用xamarin从android开始做手机应用。

经过封装以后,用C#来开发android程序,基本上没什么太大的问题,不过一个应用做了不到一半的时候又做不下去了,虽然官方提供了文档,但还是有各种问题需要到 上找解决方法。所能找到的都是android原生开发的,代码都是java的,于是就要对代码进行转换觉得很麻烦。这个时候对android的开发已经了解的差不多了,只是编程语言不同,C#和java也是很像的,另外考虑集成第三sdk,于是干脆就换成原生的开发了。

于是本人的跨平台之路就此结束了,这个故事告诉我们,如果要做移动应用的话还是先选择一个平台吧。要2个平台都考虑,就需要了解不同平台的特性,以此为基础可以再考虑跨平台。

 

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91271 人正在系统学习中 相关资源:旅行家航旅行程信息打印软件-旅游工具类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2015年9月15日
下一篇 2015年9月16日

相关推荐