随着企业逐步将更多智能手机、平板设备以及移动应用程序引入业务环境,技术部门也开始在单纯提供移动邮件以及浏览器功能之外、进一步帮助用户访问基于Windows以及其它业务应用的重要信息。访问业务应用程序能够为移动工作人员带来更为出色的生产力水平、响应能力并在服务客户及同事协作时更为顺畅地完成信息传递,从而帮助员工达到各类重要业务目标——例如增进客户满意度以及加快新产品与服务的市场推广速度。
为移动设备提供企业级应用程序访问能力可通过多种形式实现:
1. 部署第三方移动应用程序与服务
2. 将Windows应用程序移植到移动平台以供每台设备使用
3. 编写全新且具备平台针对性的代码项目
4. 开发基于Web的移动应用程序
5. 创建允许硬件设备访问底层特定平台的混合型HTML 5应用程序
6. 使用虚拟化Windows应用程序
在说到账户用户使用体验时、部署便捷性以及维护及灵活性时,每一种解决策略都拥有自己的优势、短板以及最适合的用例类型。而当员工利用多种多样的个人设备在工作中访问业务信息时,广泛而开放的移动世界也会带来与之相关的严峻管理、安全性以及隐私保护问题。
部署第三方移动应用程序与服务
也许等待第三方厂商开发出一套适合实际使用情况的移动平台是为移动设备提供企业级应用的最便捷途径。对于那些缺少丰富开发人才储备的企业而言,这也是最理想的解决方案。即使对于那些技术团队较为强大的组织,部署第三方应用程序也能帮助管理者节约大量耗费在应用程序开发、维护以及更新方面的资源与精力。第三方应用程序往往在显示效果、使用感受以及性能表现等核心体验层面针对每一套平台进行了深度优化。
此类解决方案的***局限在于,企业往往需要等等几个月才能真正使用到实际产品。除此之外,当相关方案真正投放市场之后,应用程序本身可能并不包含我们所需要的全部功能、而且并不支持企业中实际使用的各类移动操作系统。大家可能需要针对各类移动设备及不同操作系统额外购买并部署其它软件产品,从而实现预期当中的所有必要特性。当然,如果开发成果质量出众,第三方应用程序往往会为用户带来最出色也***优化水准的解决方案。
应用程序移植
如果当前没有任何现成的第三方应用程序可供使用,对传统应用程序进行移植则是另一种最便捷、对资源需求***的可行性移动设备过渡方案——至少要比从头开始开发应用程序的全新移动版本要省力得多。从理论层面讲,如果应用程序原本是利用C++等具备可移植特性的语言所编写,大家可以对存在设备依赖性的部分代码进行重新编写、而后通过编译使其能够顺利运行在每一款移动平台之上。移植也是保证针对特定一种移动平台,例如iOS,的移动应用程序得以运行在其它移动平台,例如Android,上的有效途径。遗憾的是,移植工作从实践角度看并不像理论中那样轻松。
精通移动技术的开发人员也许确实有能力将一款Windows应用程序成功移植到移动平台上。然而移植工作其实是一项艰难无比而且充满未知性风险的复杂任务。在实践层面讲,移植工作通常会涉及大量代码重新编写以及针对小型屏幕作出的界面二次设计。
为什么会这样?PC应用程序在设计上充分考虑到对键盘、鼠标、大容量内存与存储资源、高速处理器以及内部连接机制的利用,但这些基础在智能手机甚至是平板设备上根本不存在。Windows用户愿意花大量时间在自己的办公桌前充分享受丰富的功能选项,但移动用户却往往希望能够在街头漫步或者在咖啡厅中享受休闲时光的同时快速访问某些最基本的功能与信息。有鉴于此,单纯将应用程序移植到移动平台上往往会导致应用程序根本无法提供用户想要的使用体验,甚至可能让设备饱受性能不足的困扰。如果没有丰富的开发经验作为依托,良好的用户界面根本无从谈起,这将导致使用者需要通过大量细微操作才能发挥界面提供的各项功能。往好处说,这会让用户变得烦躁甚至愤怒; 往坏处说,用户甚至会在无意中错过通知信息、功能按钮以及其它一些有时未能直观显示的必要组件。
***,大家可能需要将应用程序移植到多种移动平台之上,这就要求我们将更多资源投入到移动设备适用性工作当中。
不过如果大家的用户并不需要像其它常见移动用户那样对业务应用进行大量操作,那么移植方案很可能成为一种***成本效益的解决途径、顺利在不用花什么大钱的前提下为用户提供访问业务应用的能力。
开发原生应用程序
如果一款第三方应用程序的移动版本在短期之内根本不可能出现,而移植又无法为我们的移动用户提供适合的使用体验,那么开发一款原生移动应用就很值得认真考虑了——特别是在这类应用与企业核心业务紧密相关、而且大家拥有充足开发资源的条件下。
在利用供应商提供的工具开发应用程序的原生移动版本时,大家需要重新审视并优化其图形用户界面、显示效果、网络连接机制、内存使用量以及在不同平台上处理触控及位置识别等特殊功能的具体方式。大家可以将用户在生产流程中需要的所有功能囊括于其中,而在用户脱离生产环境后取消这部分功能。对于一款经过严格规划与开发的原生应用程序来说,提供***性能表现与令人满意的使用体验可以算是前提性要求。除此之外,移动应用还应该能够提供大家需要的安全特性,其中包括调用每款移动平台上的原生机制。
开发原生移动应用的主要劣势在于,我们需要考虑时间因素、复杂性、成本以及规划与开发所必需的相关资源。出于成本或者技能储备的考量,中小型企业可能根本无力开发原生移动应用程序。某些企业虽然拥有针对单一移动平台开发应用的资源,但却仍然无法满足BYOD环境对于多平台运行能力的实际要求。除此之外,在应用程序的开发周期当中,用户可能选择了其它新型设备或者新增其它要求,这很可能会让我们的现有开发成果瞬间沦为垃圾。再有,我们的IT部门也需要投入额外资源,用于对应用程序进行更新及维护。但话说回来,如果大家拥有必要的资源以及提供高性能、业务关键性应用及其特殊功能所需要的规划策略,那么开发原生应用可能会成为最理想的解决方案。
移动Web应用程序
对于同时使用多种不同移动平台的企业而言,开发出一款能够直接运行在网站之上的应用程序绝对是种一石多鸟的高明选择。从理论层面讲,基于Web机制的单一移动应用程序能够显著节约BYOD环境当中需要考虑的必要开发资源。大家可以将其开发为独立网站或者是在浏览器页面中运行的应用程序。与之相关的所有变更或者升级任务都能够在网站端完成,而后再统一交付给用户。基于Web的应用程序能够以内部方式或者作为第三方SaaS解决方案交付给用户。
此类方案的弊端在于,基于Web的应用程序可能无法针对单一设备作出优化、因此在实现处理过程中可能牺牲性能表现与功能性。再有,开发人员还需要在设计当中考虑到面向各类移动浏览器的细节调整。基于浏览器的应用程序还会带来一系列安全问题,特别是在用户利用同一套浏览器访问个人网络内容的情况下。受到恶意软件感染的网站还可能导致用户设备受到侵害,并最终将恶意代码传递到业务网络当中。此外,如果大家将一部分Web应用程序后台功能部署在企业DMZ中以实现访问简化,那么这些组件有可能成为黑客及恶意软件侵入内部网络的可乘之机。
混合型应用程序在性能表现方面要优于纯Web类应用程序,这是因为此类解决方案具备更理想的硬件针对性。与面向多种移动平台的原生应用程序相比,混合型开发及后续更新机制所需要的时间更短、对资源的敏感程度也更低。不过混合型HTML 5应用程序在实际表现上恐怕仍然达不到针对特定设备平台开发的原生应用程序的高度,在可定制程度上也有所欠缺。除此之外,原生应用程序由于能够接入每套平台上的高级安全功能与加密机制、因此较HTML 5混合应用更为可靠。当然,开发原生应用在接入设备特有功能方面也要比HTML 5混合应用更便捷。
在这里,我们建议企业针对占比***的移动平台开发一款原生应用程序,再利用HTML 5混合方案将其覆盖至其它次级移动平台。
HTML 5混合型应用程序
HTML 5为我们带来一种独特的优良特性,即将Web开发的跨平台优势与原生应用程序的高针对性优势结合在一起。通过此类混合型应用程序,应用程序的大部分主体都能通过HTML 5开发机制实现跨移动平台运行效果,而针对各款平台作出的细节调整则保证了应用程序能够充分发挥不同平台上独特硬件及操作系统规格的全部潜力。
HTML 5移动规范当中包含一款JavaScriptAPI,能够指向各类移动平台之上的多种底层功能。根据这种规范开发出的应用程序将有能力使用硬件上搭载的固有功能,例如设备摄像头,或者平台特性,例如地理定位以及触摸屏幕。大家还可以利用数量庞大的第三方JavaScript库实现更多与设备自身紧密相关的功能。
桌面系统与应用程序虚拟化
在无需考虑操作系统类型的前提下实现内应用移动访问效果的最便捷、最快速方式,就是利用虚拟化技术。思杰XenDesktop与思杰XenApp都是相当成熟的桌面系统与应用程序虚拟化平台,能够帮助用户以虚拟化方式访问企业级Windows应用程序。用户可以通过企业网络或者应用程序接口访问集中存储在数据中心内的应用程序,并借助数据流及本地化方式在移动设备上将安全加密文件系统与企业强制管理政策加以结合。管理员甚至能够对应用程序流进行配置,从而在几小时内允许用户以脱机方式访问移动应用,这样使用者就能在无法接入网络的情况下继续保有生产能力。
思杰提供一系列用于在个别移动设备及操作系统上进行虚拟化应用程序使用体验调整的工具组合,其中包括添加适当的触控支持能力。
虚拟化方案的主要优势在于提供成本效益、部署便捷性、多种移动平台适用性以及安全性保障,特别是在应用程序运行在数据中心内部的条件下。虚拟化机制所需要的开发资源也相对更少。其性能表现非常出色,甚至能够在配合低带宽连接地提供理想的使用体验。
不过虚拟化机制的用户体验定制能力无法与从零开发的原生应用程序相提并论。在不具备合适原生或者第三方移动解决方案的前提下,虚拟化方案不失为一种优秀的临时性替代手段。