zoukankan      html  css  js  c++  java
  • 移动应用跨平台之旅

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

    本人做软件开发已经有一段时间了,开始上班的时候智能手机刚刚出现,不过我并没有一开始就做手机端的开发,直到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个平台都考虑,就需要了解不同平台的特性,以此为基础可以再考虑跨平台。

    原文:微信公众号 zhaojieTec 更多内容请关注微信公众号:zhaojieTec

  • 相关阅读:
    228. Summary Ranges
    227. Basic Calculator II
    224. Basic Calculator
    222. Count Complete Tree Nodes
    223. Rectangle Area
    221. Maximal Square
    220. Contains Duplicate III
    219. Contains Duplicate II
    217. Contains Duplicate
    Java编程思想 4th 第4章 控制执行流程
  • 原文地址:https://www.cnblogs.com/zhaojietec/p/4887809.html
Copyright © 2011-2022 走看看