跨平台移动应用开发是否真的是一个好选择?




这里写图片描述

# 1. 简介



企业移动技术市场在最近几年可谓风生水起,现在的企业都在往移动技术靠拢,且认识到平板和智能设备上面的应用对它们的生意产生的潜在巨大影响。这就触发了企业对快速在各个平台中开发易于维护的应用的巨大需求。跨平台应用开发在这种场景上就开始大行其道了。

“一次构建,多设备运行”。

那么现在是时候去看下这种跨平台应用开发的方法的潜力是否真的如此催腐拉朽,或者说是否原生应用开发在整个移动生态系统中应该占用更大的席位。

在本博客中,我将谈的仅限于企业移动技术方面的跨平台移动应用开发这个范畴。

# 2. 企业移动技术


当今移动设备的大行其道让企业意识到通过移动设备在企业内部或者外部进行信息分享是一个非常高效和高产的渠道。如今的企业家和各个组织都已经非常肯定移动技术蓝图对他们是一场及时雨。这是因为现今去开发企业驱动的移动应用来让各个不同的平台的需求会让用户可以随时进行访问企业提供的信息 - 无时无地的进行访问。

通过使用移动设备,组织们就可以给分布在任何地方的员工随时对所有必须的信息进行即时的访问。这就让组织变得更加高效,并因此推动了企业移动技术的往前发展。

在工作中,我们知道BYOD(Bring Your Own Device:带上你的移动设备)正逐渐大行其道。BYOD指的就是企业员工应该带上他们自己的移动设备到办公场所而不是拿个桌面电脑或者公司提供的移动设备来访问公司的应用以及数据。这就让企业必须开发一套统一的可以在所有可能的使用不同的网络接入服务且基于不同操作系统的移动设备上运行的移动应用。

在决定我们的移动办公策略的时候,我们势必先要搞清楚你的移动应用的用户的需求。当你的目标用户大部分使用的都是同样的移动设备平台的时候,那么我们该选择如何的移动设备平台来进行应用开发就一目了然了。但是当你的目标用户使用的移动设备包含了iPhone,Android,Windows, Blackberry以及其他五花八门的操作系统的智能手机或者平板的时候,那么你如果想要轻易的获得一个应该开发支持哪种平台的应用的决定就变得复杂了。同时很重要的一点是,你需要认真考虑下应用内动画播放,交互流畅性对你的意义究竟有多大。如果你需要使用原生硬件功能如照相机,闪光灯等的话,我劝你还是在各个平台上分别一个个的编写原生应用。

# 3. 原生应用的好处

增强用户参与度: 如果你想要更多的入门用户,增加使用量,以及更好的甚至奢侈的用户参与度,我会建议你开发原生的移动应用。
流畅的用户体验: 除了吸引用户之外,你还需要让用户乐于使用你的应用。从最亮眼,最流畅以及最功能简单的角度出发的话,原生应用无疑是最保险的选择。这也许也是唯一的选择了。另外,众所周知的是原生应用对用户手势如触屏,多点触屏,多指收拢和滑动的反应时间是最高效的。 易于和硬件相关功能进行集成: 当使用的是原生应用的话,当需要和如蓝牙,USB,摄像头,GPS等硬件进行交互的时候,出现问题的机率相比会更低。另外,这也让链接到其他设备的无线功能变得更加简单和无bug化。

总的来说,相比跨平台移动应用来说,原生应用拥有着更好的用户体验,更好的用户参与度,更好的跟目标设备的操作系统的集成。

“我们的目标不是去打造一个平台;而是去游走在各个平台之间”

– Mark Zuckerberg

# 4. 跨平台应用的好处

更容易找到潜在用户: 你的应用所覆盖的平台更广泛,你就可以触及到更多的用户。随着苹果的iOS和Google的Android的你死我亡的忘我巅峰竞逐,大量这两个平台阵营的移动设备也与日俱增,虽然两者的竞逐中究竟鹿死谁手现在还没有露出端倪。开发同时可以在iPhone和Android设备上运行的移动应用应该会让你获得更多的用户,这也就让你的应用可以更容易被接受了。跨平台移动开发应用还可以帮助你对其他基于如Windows和黑莓等操作系统的移动设备进行覆盖。
成本效益高: 开发一个可以在多个平台上运行的应用可以降低维护成本。部署新的改动和更新会变得更加简便,所有的改动都会自动在各个平台中进行同步更新。这将会为你节省一大笔钱,并且会让你避免踩上不同平台上的应用行为不可预知的坑。这也预示着跨平台应用开发会降低开发和维护成本,从而提高了成本效益。 一体化: 在这种情况下,开发和设计这样的应用就会在不同平台上带来统一的视觉效果。用同一份代码来跑不同平台上的应用就很容易让这些效果进行同步体现出来。

总的来说,跨平台应用更容易覆盖更多的用户,更容易维护,更好的统一的用同一份代码在不同平台上跑。这样的应用将可以更快速的进行开发,从而省掉了大量的时间,精力和资源。

# 5. 结论

*

如果你所要开发的应用所要运行在的目标设备操作系统尚不明朗的话,你应该使用跨平台应用开发的方式开发你的应用。例如我们上面所说的BYOD的情况下。大部分企业应用都是在这种情况下运行的-你的应用的目标用户将是该企业的员工,而这些员工的移动设备可能是五花八门的(天地会珠海分舵注:本人之前做过一个房产中介的移动项目,里面的普通代理拿的大部分是iPhone,反而老板用的是安卓手机,还要是国产的!这世道,老板都不显富,出去跑业务带客看房的小伙子们是门面,让客户看到该中介员工都拿iPhone5了,肯定该中介效益好,多人帮衬,信誉好!)! 最终的决定同样还要考虑开发成本和维护成本这些因数,所以这就解析了为什么还是有些企业喜欢使用跨平台应用开发的方式而不是原生应用开发的方式来开发他们的应用了。

但是,如果你需要打造的是一个用户参与度高的应用,或者说该应用所需要运行在的目标设备的平台已经确定的情况下,那么你应该使用原生应用开发的方式来开发你的应用。如果你有足够的资本来让应用在不同的平台上完美的运行的话,何乐而不为呢?

最后我想总结一下,我必须说的是因为设备相关的功能现在日新月异的飞速发展,没有哪一个平台可以宣称或者说证明其就是最好的。很自然,世上的应用开发人员自然就会将他们的兴趣拓展到不同的平台。如果跨平台应用开发要变成无可替代的唯一选择的话,那么它还需要走过一段很长的艰辛的路程。在此之前,你还是需要仔细的考虑是否应该选择使用跨平台应用开发的方式来开发你的应用,好好考虑你的企业是否需要如此做以及这是否真的相比原生应用给你带来更多的好处。

引用英文原文http://www.algoworks.com/blog/cross-platform-app-development-a-good-choice-for-enterprises/







原作/译者 微信知识分享公众号 CSDN
天地会珠海分舵 TechGoGoGo http://blog.csdn.net/zhubaitian