目前,在各大银行、保险公司、、电力、航空、铁路、家电制造、食品、零售等行业的型公司中,都大量的使用混合开发模式来开发和管理自己的APP。那么也许很多人不禁要问“为什么这些公司和企事业单位,都有足够的预算和开发资源,非要偏偏选择混合模式APP开发技术来作为企业互联网化的支撑?”,而在行业大部分人印象中,混合开发技术和原生开发技术比,从用户体验和产品能力还是有差距的。
针对这个行业疑惑的问题,巨美灵科技技术总监深入浅出地对行业这一突出现象进行了分析,而答案正是与企业的互联网化以及数字化的需求有着最直接的联系,这也反映出巨美灵创立之初为什么会采用混编模式作为APP项目开发模式,为何选择混合开发技术为平台用户提供服务。
本文将通过巨美灵技术总监四个方面的分析,解释诸多企业为何选择混合模式APP开发技术,同时结论也揭示了混合APP模式对不同行业解决方案的根本优势以及企业选择的必要性。
第一、数字化推进速度的需求
“试错”这个互联网名词不但在互联网公司中蔓延,在传统公司互联网化过程中也被广为接纳。
越来越多的CIO在谈及各自企业移动战略的时候,都会提到“能不能让我们业务部门的一个想法,先在一周之内做个原型,快速实现,丢出去测试下用户反馈,然后基于这个原型再来改”。这种快速发起、快速验证、快速调整的方法,已经成为广为流行的方法。之所以要在短时间内,先把业务从想法变为现实,哪怕是粗糙一点也要实现出来,根源在于业务的创新想法可能没有先例可循,并且具有明确的企业个性,单纯的凭空想象很难想的非常完整。与其花三五个月的精细打磨弄清楚业务需求,还不如花一两个星期先把基础的想法落实。哪怕这么短时间做出来的东西并不能真正满足业务的需求,但是可以让业务的想法在这个过程中变得“有据可依”“有的放矢”,从而实现更完整以及更切实可行的业务方案。
“业务部门的一个想法,IT一两周就能做出来了”这对于企业的信息化负责人而言,也是很重要的一个褒奖。而这种速度的需求,恰恰是巨美灵科技的混合开发技术最明显的优势,一套代码同步生成iOS与Android两个平台的APP,甚至能够部分兼容微信公众号和小程序。这一套代码,不代表偷懒以及工程技术的简化,而更多的是因为节省的不仅仅是代码编写的时间,更重要的是节省了多个技术团队之间跨知识结构协同的问题,不再需要iOS与Android工程师开会讨论实现的差异性问题,更是大幅节省了APP与服务器端联调联试的时间成本。所以,如果同样的功能,同样从0开始,使用传统的原生开发技术根本无法完成一两个星期内实现有价值的业务需求落地,这个过程若使用原生技术可能连不同终端碎片化和差异化问题都没有解决。为了满足CIO对于业务发展和数字化效率的要求,在移动战略中往往都会规划使用跨平台的混合模式APP开发作为移动战略的支撑基础。
第二、业务灵活性的需求
在PC时代的B/S架构中,想要实现IT系统的更新并不需要过多考虑用户端的影响。因为作为用户入口的浏览器,一直处于访问网络的状态,只要网络联通,用户随时访问网站都会获得最新的功能和业务。对用户而言,并不真正存在版本的概念。只要访问服务器,服务器的任何更新都可以随时展示到用户界面上,真要出现什么用户的使用问题,大不了”清空一次浏览器cookie“基本都可以得到解决。
但是在移动时代,用户对版本的概念变得极其敏感。而CIO对于APP的版本管理也变成了头痛的问题。往往碍于软件开发商能力的制约,或者说凡事工程性的问题就都会存在bug,让一些发布出去的APP变得难用甚至崩溃。或者一些临时的市场活动、很少的但是重要的功能、一些不在规划内的产品需求调整,都会直接引出同一个问题”用户必须更新一个版本甚至重新下载,才能满足上述需求“。这种看似日常的版本发布和用户的更新,恰恰是传统企业信息化过程中全新的课题。
”能不能像传统浏览器那样,用户打开永远是最新的服务和功能?“很多企业CIO问出了相同的问题,于是大量三流的软件服务商以及IT程序员想出来一个”偷懒“的模式。在APP中嵌入一些WebView,把一些功能用传统网页的模式,访问服务器,动态获取。这表面上解决了版本更新的问题,实则上大量垃圾体验的APP就此产生。
企业业务灵活性的要求,其实本质是希望像”微信小程序一样,随时发布一些新的功能,随时动态增改一些功能入口,让用户随意使用。但是用户的体验,则要与真正的APP一样“。这种业务灵活性的需求,其实需要的便是像微信小程序或类似APICloud提供的混合APP开发技术来支撑,从而达成”增量更新“、”静默更新“”打开获得新功能和新体验“,而不是嵌套Webview,网页模拟APP的方法,以垃圾体验的代价换取业务灵活的可行性。
当然,传统模式开发的APP,特别是Android端也开始部分支持动态更新,这也恰恰说明,业务灵活性是企业互联网化、数字化过程中的刚需。只是碍于传统技术的制约以及软件开发团队或者服务商的能力所限,真正的原生动态更新始终没有办法大范围进入企业实现商用。这也让企业开始选择混合开发的模式来支撑移动战略,逐渐成为CIO的主流选项。
第三、集中管理的需求
业务部门的互联网化意识经过移动互联网的普及,被广泛带动起来。所以传统的IT主导企业信息化的发展势态发生了微妙的变化,以前IT部门发起几乎所有的信息化需求,但是现在的IT部门越来越像”服务部门“。因为业务团队在不停的发起各种各样”业务+互联网“的信息化需求。这个时候,很多传统企业IT的领导,没认识到自己角色的转变,如果还一味的”拖延“、”不管不问“、”你们自己搞定“这样的官僚做法,就会导致今天很多企业的信息化出现“各种移动APP彻底碎片化”,各个业务部门自己找软件开发商实现自己的需求的局面。这不但架空了IT部门的信息化主导地位,更麻烦的是让后续的集中管理变得艰难无比。几十家甚至上百家的不同标准的服务掺杂在企业的核心系统中,甚至业务部门为了快速满足自己的需求部分脱离了IT主导的传统PC核心系统。这是非常危险的信号。
如果IT部门要管理业务部门如何满足业务的互联网化需求,往往发现心有余而力不足,IT部门人手有限,没办法一一满足所有业务部门的移动化的需求。如果不管,就会产生前面所提到的“技术栈、开发商”碎片化的问题。这个时候基于混合模式APP开发技术的移动应用平台,又很好的解决了这两者的矛盾。
“定标准”从而实现“集中管理”,企业以一套统一的混合模式APP开发技术和移动平台为标准,各个业务部门可以独立寻找自己的软件开发商,比如很多大企业的IT信息化组成中,便会通过APICloud这样的企业服务平台,来满足自身的移动业务建设,这样在技术选型以及企业移动化的需求中都得到了满足。而尽量给予同一平台带来了标准化的统一,但这里面包括了“技术标准化”、“开发流程标准化”、“代码管理标准化”、“项目管理标准化”、“验收标准化”、“管理和运营标准化”等多个标准化制度。
第四、信息化安全的需求
伴随企业互联网化的最根本的转化就是,从内网的信息化变成外网的互联网化;传统信息化包括内网、固定场所、固定网络环境、固定的设备,而移动战略背景下的企业互联网化,则是外网会随时随地通过员工自己的设备接入。这些不起眼的变化,给企业CIO带来的却是天翻地覆的调整。
最开始,时兴了一段的MDM(mobile devices management)移动设备管理软件,但是凡是买了MDM的企业几乎无一例外发现很难推进,因为MDM伴随着BYOD(bring your own device)员工自带设备。如果用企业的管理软件来管理员工自己的设备,没有人会支持这种提议。所以大部分的MDM最终草草收场,只是管理了企业自己购买的一些移动设备。
那么企业移动化、互联网化的安全怎么保障? 这要满足三个层面的安全——设备安全、传统安全和云端安全。
混合模式APP可以实现类似于企业应用商店(微信公众号)这种动态权限绑定和授权的模式,能够支持在特定的设备、特定的人之间选择不同的子应用。并且可以随着这个用户工作内容的调整,动态的根据设备编码、用户权限实时分配全新的子应用。
这种基于企业移动应用商店的“子应用”模式,也是混合模式APP开发技术成为企业移动战略支撑的关键。因此出色的企业应用商店,能够发挥传统原生模式开发的APP所不能赋予企业的各种安全性需求与满足,同时也实现了业务灵活性的管理目的。