技术开发 频道

企业移动应用开发的难点与特点解析

  【IT168评论】在短短的几年之间,智能设备的发展已经极大地改变了用户的使用习惯,甚至直接颠覆了传统的手机生产厂商。而根据美国博客Apple 2.0对48名分析师的调查显示,预计Apple在第二财季的iPhone销量将最多会达到4400万部。根据这样的发展趋势,智能手机将会超过传统功能手机的出货量,并且成为用户日常使用的主要工作手机。而此,也会对IT产业的开发模式,开发方法带来实质性的改变。

  一、移动互联网的主要开发者

  技术归根到底是为解决问题而存在的。毫无疑问,移动设备上的相关开发技术同样也是解决IT产业的问题而存在。我们可以比较粗浅地把需要使用移动开发技术的公司分成如下几类:

  移动互联网公司。移动互联网公司是完全新兴的公司,也是伴随移动互联网公司兴起而诞生出来的新行业。从2008年开始算起,至今不超过4年的时间。而移动互联网确实对移动互联网技术跟进最迅速,也是被移动操作系统的发展驱动的公司。不管是Android在短短的十年时间从1.5的版本发展到现在的4.0,甚至半年之后的5.0版本,还是iOS从07年发展到现在5.1的版本,移动互联网公司都是一路追踪最新的技术发展,成为行业成功范例最多的公司。不管是刚刚被被以10亿美金收购的Instagram,还是刚刚被估值到2.5亿美金, 靠超酷界面咸鱼翻生的Path,还是被誉为最强交互实现的Clear 。移动互联网公司总是利用移动设备的各种特性,为用户带来异想不到的惊喜。

  传统互联网公司。互联网公司和移动互联网其实一脉相承,游戏的规则并未发生任何改变,而仅仅是流量入口从PC转移到了移动设备。而对于传统互联网公司来说,并无所谓Web App以及Native App的负担,因为他们所有的业务都构建在Web基础之上。

  传统企业。传统企业是对外界变化响应较慢,但同时却又是从业人员最多,开发需求最贴近真实用户的一个群体。他们会更加稳重,但是更不愿意承担技术选型的风险。

  因此,根据这个粗浅的分类,我们能够感受到移动互联网开发技术的传播速度。会由移动互联网公司兴起,然后影响互联网公司,最后辐射到企业开发中来。而移动设备的爆发性增长,同时也激发了企业移动开发的需求与发展。

  二、传统企业开发的特点

  根据笔者的经验与认识,笔者把不使用IT技术作为主要盈利手段的公司,统一视为传统企业。比如说重度依赖于IT技术的金融业、证劵业,以及轻度依赖于IT技术的零售业,制造业等,甚至于政府的信息化需求,这些都可以认为传统企业。这些IT技术的发展主要针对企业内部需求,开发出的系统和产品主要针对企业自身的员工。

  那么,这些企业内部的业务系统开发的主要特点如何呢?

  以MIS系统为主。企业内部的业务系统,最主要的是依赖于IT技术来做信息的关系。比如大家所熟知的ERP系统、CRM系统、OA系统以及各种和企业业务直接相关的业务系统(比如制造业使用的西门子开发的各种车间管理系统,生产管理系统)。这些最重要的就是信息的输入输出和各种数据系统的应用。

  以系统的集成为主。 由于企业里面生产企业繁多,一般一个中大型(规模在1000人以上)的企业的内部系统,可能会多达10几甚至是数十总不同的业务系统。因此,如何把信息系统集成,以统一的登录和身份验证系统实现,以及最后以统一的Portal来展现(比如微软的SharePoint),就成为了企业内部系统开发的重点。

  以工作流的驱动为主。在企业内部,流程的运转和推动,就需要层层的审批以及批复。在国内特有的体制下,审批,签署,甚至于会签等各种特殊的需求都会直接驱动和影响企业的内部系统的构建以及实施。不仅仅是需要工作流系统的搭建,甚至还有配合BizTalk这样的消息队列系统才能够完整实现企业系统的搭建和部署。

  以业务的需求为主。企业内部系统的搭建,往往更多地需要以客户的业务需求来做各种自定义化的工作,因为不同的行业完全不一样。因此在企业系统里面,有部分像SharePoint/BizTalk之类的平台级的产品,也有Dynamic CRM之内的客户端关系系统,但往往要根据客户的业务需要做自定义的开发。

  因此,这就是传统企业应用开发的主要模式。在过去20年的发展中,B/S模式因为没有系统升级、部署麻烦的负担(想像给10,000人的企业升级一个软件)而成为了主流技术。 但是,移动互联网时代,企业面临的最大挑战是如何将这些信息系统搬到智能设备上去。是选择客户端的开发技术,还是沿用B/S的网页展示方式,这成为了一个最大的问题。

  三、传统企业开发往移动互联网开发的难点

  正如大家所知到,企业业务系统开发的难度在于系统的集成,主要的开发逻辑在于业务需求的复杂。而面对移动互联网的兴起,尤其是移动互联网操作系统的分裂,对企业业务系统的开发带来了极大的困扰。

  多开发平台带来的学习成本。因为企业系统开发的特殊性,企业业务开发人员的技术需求主要在于处理数据的交换以及处理各种因数据处理带来的业务逻辑的实现。因此,并不需要特别炫酷的技术,一般都是采用相对成熟的开发技术,保证系统开发的速度和稳定。而面对iOS/Android/Windows Phone所带来的新的语言学习成本,开发框架的学习成本以及开发模式的开发成本,都成为了企业业务系统开发人员的最大障碍之一。

  多平台带来的人力成本的开销。因为多移动平台的存在,因此原先只要使用一种技术,统一在Web里面实现的局面被打破了。企业需要的是懂iOS/Android/Windows Phone开发的三类人员,甚至需要把同一个业务需求做三遍。这对企业来说是非常痛苦的一件事情,而同时因为开发人员的短缺,同时会导致企业的用户成本直接增加。

  开发团队的管理成本。对于技术管理人员来说,人员和技术的增加,会直接带来管理成本的增加。不仅仅是新的技术的学习和把握,还是需要管理移动开发团队的期望值以及技术发展路线,这都为企业技术管理人员来说,带来了极大的要求和挑战。

  因此,在移动互联网时代,企业面对移动开发的需求处于非常纠结的局面。选择进入,成本不可避免地增加,不进入,看起来似乎会落后于时代。

  四、Web App对企业的影响

  Web App开发能力的发展以及HTML 5技术的发展,正是为企业移动开发带来了非常好的思路和解决方案。

  开发成本的降低。毫无疑问,如果可以复用PC的开发技术,同时又能无缝地迁移到移动平台上,对企业开发成本的降低是非常直接有效地。因此,这是企业用户对各种跨平台开发技术非常热衷的总要原因,同时这也是推动跨平台技术以及Web App发展的一股重要力量。

  减少招人的难度。由于可以复用PC的开发技术,那么懂业务系统开发的人员的招募就相对容易,也会直接减少企业内部开发人员的管理难度。

  因此,企业内部的业务开发人员以及为企业提供开发服务的技术开发商,都会试用各种跨平台技术,做各种技术实现方案,来尽可能无缝地迁移至移动互联网平台。

  五、结语

  对于企业移动开发来说,最需要的是什么?

  笔者认为,最需要的就是Best Practice。 还有人记得经典的三层结构以及各种展示技术的PetShop/PetStore的解决方案吗?这不知道给多少用户带来了遍历以及提供的技术开发的指导。

  因此,对于移动开发来说,同样需要类似的东西。笔者认为需要两个方面的Show Case:

  纯HTML 5的解决方案。这是一个相对激进的思路。企业可以考虑直接提供移动访问的网站,并且针对移动设备提供非常好的交互体验,从而无缝地由PC往移动设备上迁移。

  基于PhoneGap类似的跨平台解决方案。根据Vision Mobile的报道,已经有62%的用户了解PhoneGap和Sencha之类的技术来实现的移动解决方案。这是目前最有可能帮助到企业用户的一种解决方案。

  如果有这样的Best Practice出现,Web App将会在企业移动开发市场中占据重点的地位,也会更加快速地推动Web App的发展。

1
相关文章