49

走向开放式移动应用开发平台之路

 5 years ago
source link: http://www.infoq.com/cn/articles/open-madp-mobile-enterprise-apps?amp%3Butm_medium=referral
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

关键要点

  • 移动应用程序开发平台支持多种部署选项——原生、混合和Web。
  • 开发人员可以将前端和MBaaS基础设施分开。
  • MADP通过使用云服务和低代码开发方法来实现任务自动化。
  • 使用开源MADP平台来避免被厂商锁定。

现在的商业领袖正全力以赴地通过移动技术改造他们的组织。外包应用开发专家 Contract IQ 最近发布的2017年企业移动应用报告显示,“企业对定制应用开发的需求已经从2014年的23%增加到2015年的29%,以及到2016年的32%” 。

移动技术可以从多个方面帮助推动业务发展——从销售和业务流程到现场服务和客户满意度。为了满足这种飙升的需求,开发人员需要提供可以在各种设备、操作系统、框架和运行时上运行的应用程序。

本文将说明开放式开发基础设施是在快速和动态的市场中提升业务敏捷性的关键。

MADP的价值

随着企业采用了越来越复杂的应用程序,从移动CRM和离线现场服务交付到车辆动态控制和集成飞行应用程序,全栈的 移动应用程序开发平台 (MADP)可以减轻移动开发和维护的负担。更重要的是,它有助于扩展无数的应用程序和后端集成,以便更好地支持移动工作人员并将他们连接到企业网络。

MADP可以帮助企业快速构建、测试和部署智能手机和平板电脑的移动应用程序。它可以最大限度地减少编码需求,集成构建块服务,例如用户管理、数据管理和推送通知,以及在各种移动设备上交付应用程序。它提供了一种通用且一致的方法,因此开发人员可以自定义他们的应用程序,而无需担心后端系统或实现细节。

根据Forrester Research首席分析师Michael Facemire对 移动开发平台 的分析,公司可以分为两大阵营:“一部分选择了全包平台”,他们代表了现今在平台支出方面最多但结果却不尽如人意的部分,以及“另一部分选择了自己管理一系列服务“。

第一组用户与大型的基础设施厂商合作,例如IBM、Oracle和SAP,他们为移动应用程序的开发、交付和管理提供了完整的环境。他们从平台稳定性和定制能力中获得好处,但与其他平台相比,在他们的私有生态系统之外构建移动应用时可能会遇到困难。

第二组用户更愿意自己管理一系列服务,用以支持自己的移动计划。这些服务驱动的解决方案,加上亚马逊和微软这些厂商,要求企业组建由大量熟练的开发人员组成的大型团队,以便快速交付大规模的移动应用程序。但是,它们可能更灵活,并且可以更轻松地自定义最终应用程序,以便更好地满足特定需求。

虽然两者都可以从MADP中受益,但只有基于开放和标准技术的平台才能在私有生态系统之外构建移动应用。

提升移动性

在企业内部搭建移动基础设施可能会占用大量时间和资源。移动应用必须提供可在各种设备上运行的用户界面,包括智能手机、平板电脑、笔记本电脑、上网本——甚至汽车仪表盘。

开发企业级移动应用程序需要处理以下问题:

  • 与数据连接:移动工作人员希望实时访问各种数据源,如客户关系管理(CRM)、企业资源规划(ERP)、财务和人力资源。但是,创建可绑定到这些后端基础设施的移动应用程序可能会占用大量资源并且非常耗时。
  • 支持多个平台:每个移动平台都有自己的展示信息、布局屏幕和实现导航的方式。要开发跨平台的移动应用程序,需要致力于创建可在多个操作系统上运行的单个代码库。
  • 构建服务:移动应用程序使用了托管在集中式服务器栈上的核心服务。这些服务涵盖了多个方面,从数据管理和推送通知,到社交媒体集成和分析。为了提高生产力,在多个应用程序项目中重用这些构建块服务是有意义的。
  • 同步脱机数据:在离线场景下,需要强大的同步服务,这样移动用户就可以在网络不可用时处理本地数据,然后在网络恢复时将数据同步到后端系统。
  • 控制数据访问:当移动工作人员从个人或公司设备上访问公司资产时,用户身份管理变得至关重要。连接到网络的个人设备容易受到安全漏洞的攻击,所以需要集成与企业目录相关联的用户身份验证机制,例如LDAP和Active Directory。
  • 管理安全性:保护好静止存储的数据或在移动设备和服务器之间传输的数据,需要对公司记录(如密码、支付信息和其他应被视为隐私的数据)进行加密。

开放你的平台

那么,应该如何选择企业级的MADP厂商?

在选择开发方法时需要考虑到预算、项目时间、目标受众和应用程序功能。更具体地说,可以支持多种部署选项的平台——原生、混合和Web——将提供最大的灵活性:

  • 原生应用程序可以保证能够访问目标设备的每个功能,例如消息传递、GPS、相机、推送通知、图像捕获分配、条形码扫描等。它们在B2C环境中表现出色。
  • 混合应用程序通常运行在B2B环境中的个人和公司的设备上。它们不需要使用专门的开发语言:开发人员只需将应用程序的核心部分编写成HTML5或JavaScript代码,然后在外面包上一层原生包装器。混合应用可以重用更多的代码,开发人员可以用更少的时间和成本开发跨平台的应用。
  • 渐进式Web应用程序是常规的网页或网站,它们的行为看起来与原生移动应用程序类似。开发人员可以直接在Web服务器上更新它们,而无需将更新提交到应用商店。

自动化开发

移动应用程序开发平台(MADP)致力于交付更具可扩展性的基础设施后端,并确保更高的前端开发效率。低代码(low-code)MADP,例如 OutSystemsConvertigo ,只需要很少代码甚至不需要编码即可开发出移动应用程序,这样开发人员就不需要掌握复杂的代码。

通常,可视化开发环境让开发人员通过拖放内容和服务来构建移动应用程序。

 JZjUraA.jpg!web  1615-1532193255088.jpg

移动后端即服务(MBaaS)还提供了核心服务,例如数据存储、推送通知、地理位置以及用户身份验证和管理。

“通过MBaaS/MADP技术,我们能够简化和优化移动应用程序的开发”,来自CGI IT和业务咨询的移动开发执行官Adrien Loire在一次对话中说道,“我们使用这种全栈方式来管理移动开发,从业务线应用程序连接和安全控制,到管理离线数据,再到创建多平台用户界面“。

为了实现更快、更高效的开发周期,建议对MADP采用以下做法。

  • 解耦前端和MBaaS

移动应用程序实际上是由两个应用程序组成的:一个是用户驱动的前端流程集合,一个是后端遗留应用程序流程。

在企业中,应用程序的使用场景可以变化多端,以至于单个前端开发工具无法解决所有问题。这意味着MADP必须向其他前端框架和工具开放后端和集成服务,以便更好地适应特定的使用场景。

遗留系统也会随着时间的推移而演化。因此,移动应用程序必须易于维护。灵活的移动平台可以帮助提高生产力并降低出错的风险。

  • 符合标准

遵守标准可以降低风险和潜在的隐藏成本,从而保护你的投入。为了跟上市场变化并促进与第三方产品的互操作性,MADP使用的技术应该是符合标准并广为人知的,它们可能已经被数百万开发人员部署和使用过,如HTML5、JavaScript、TypeScript、Angular、Apache Cordova或Node.js。这就是为什么在选择MADP时,最重要的是要看看它们的架构是否可以支持这些标准。

  • 利用云

移动应用程序是云服务的理想候选者。它们有助于适应不断变化的移动设备市场。我们可以期待MADP能够运行在云端,这样就可以从新技术中受益,例如容器化(Docker)和弹性扩展(Kubernetes)。

云MBaaS解决方案还提供了开箱即用的功能,可以减少开发和配置任务,例如在服务器上为Android和iOS配置多个推送通知。

更重要的是,这些云基础设施可以减少繁琐的任务,如配置、部署和操作服务器和移动应用基础设施。

  • 促进API访问

MBaaS平台需要与企业的遗留环境集成——包括ERP或CRM系统数据库、实时RSS源,甚至是管理帐户和身份验证的目录。

管理连接到这些后端资源的API可以极大简化跨多个平台的开发工作。

移动应用程序需要连接器来访问企业数据和服务,以实现脱机支持、网络连接和安全性。这样就不需要在开发应用程序时购买额外的后端基础设施组件来提供网络连接、同步数据、验证用户等。

  • 考虑开源

移动行业发展迅速。 Gartner的数据显示 ,2016年全球智能手机销量总计达15亿台。新的需求和机遇以惊人的速度出现。例如,移动解决方案可能会在几周内引入新功能,或支持新的工作流,或带来更好的用户体验。

来自CGI的Loire表示,“为此,我们选择了一个开放、商业化——同时也是开源的MADP平台”。一个关键动机是只有开源的全栈式MADP才能避免厂商锁定。

这样的平台应该为客户提供广泛的应用部署选项。例如,如果你的企业正面临严格的合规要求,它们就应该提高包括公有云、私有云和混合云部署以及内部部署在内的解决方案。

开源的MADP平台,例如由我担任首席执行官的公司开发的 Convertigo Mobility 平台,可以帮助你们获得项目所需的加速度和灵活性。与私有的MADP不同,开源的全栈式MADP——不仅仅是特定模块——可以降低被锁定在生态系统中、厂商可能会删除对某些服务的支持或提高定价的风险。你的开发人员可以使用他们首选的前端设计和开发工具,从而能够充分利用他们的专业技能。

更重要的是,开源的MADP/MBaaS平台的代码可以公开访问。这意味着大量的社区用户和开发人员可以共享信息,解决问题,并让你从持续的增强和升级中受益。

这样我们就有机会使用和定制适合公司特定需求的应用程序,并确保未来的演化能力。

关于作者

1Olivier-Picciotto-1531177661373.jpg 是Convertigo的联合创始人兼首席执行官,专注于为企业构建开源的数字化平台。Olivier曾担任Twinsoft的首席执行官兼联合创始人,专注于企业软件,将遗留应用程序集成到基于Web的门户中。Olivier经常在大会上发表演讲,并且在企业中间件软件行业拥有强大的背景,他为ATOS工作期间建立并管理了产品开发团队。

查看英文原文: Your Roadmap to an Open Mobile Application Development Strategy


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK