写点什么

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

2018 年 7 月 23 日

关键要点

  • 移动应用程序开发平台支持多种部署选项——原生、混合和 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,例如 OutSystems Convertigo ,只需要很少代码甚至不需要编码即可开发出移动应用程序,这样开发人员就不需要掌握复杂的代码。

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



移动后端即服务(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 平台的代码可以公开访问。这意味着大量的社区用户和开发人员可以共享信息,解决问题,并让你从持续的增强和升级中受益。

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

关于作者

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

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

2018 年 7 月 23 日 18:081200
用户头像

发布了 731 篇内容, 共 361.7 次阅读, 收获喜欢 1834 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

JVM系列-第一节:JVM简介、运行时数据区、内存分代模型

诸葛小猿

Java JVM JVM简介 运行时数据区 内存分代模型

为你总结了N个真实线上故障,从容应对面试官!

AI乔治

Java 架构 GC

vim快捷键收藏版

良知犹存

vim

区块链助力跨省、零材料办理 成都武侯打造“中国政务服务第一链”

CECBC区块链专委会

区块链

自我管理系列-为啥要做生产问题分析报告呀

罗小龙

复盘 IT, 经验总结 职场搞笑 生产事故

面试阿里P6,过关斩将直通2面,结果3面找了个架构师来吊打我?

Java架构之路

Java 程序员 架构 面试 编程语言

数字货币交易所开发,全球区块链交易所系统开发

135深圳3055源中瑞8032

视频客服的应用和优点

anyRTC开发者

音视频 WebRTC 直播 RTC

服了!不愧是AlibabaP8级别的大牛,把Kafka的精髓全部总结整理成了一份“限量笔记”。

Java架构之路

Java 程序员 架构 面试 编程语言

问题篇:WSL和VMware。你怎么选择(附wsl安装步骤)

小Q

Java Linux 学习 架构 面试

数字货币交易所开发源码,场外OTC交易平台搭建

WX13823153201

滴滴高峰期亿级并发如何调优?Java亿级并发系统架构设计手册分享

Java架构追梦

Java 架构 面试 高并发 亿级流量

接口文档生成工具

测试人生路

接口文档

Dubbo 微服务调用时序图

Acker飏

"全能"人才的概念真的对吗

supernova

创业 读书笔记 随笔杂谈

京东智联云4篇论文入选国际语音顶级大会Interspeech 2020

京东科技开发者

人工智能 大数据 语音识别

架构师训练营 1 期 -- 第六周作业

曾彪彪

极客大学架构师训练营

区块链钱包软件开发,数字货币钱包

135深圳3055源中瑞8032

中国银行前行长李礼辉:区块链技术优势与产业前景

CECBC区块链专委会

区块链 数字货币

初识Kafka及安装

犟马骝

甲方日常 39

句子

工作 随笔杂谈 日常

同学信誓旦旦地说,我司的系统从来不做性能调优!

沉默王二

Java 性能调优

Alibaba技术大牛丢给我一份Spring Cloud笔记,在GitHub的热度居然高达81.6k标星,太强了!

Java架构之路

Java 程序员 架构 面试 编程语言

USDT承兑商支付系统开发,USDT支付结算系统搭建

135深圳3055源中瑞8032

一次艰难的内存泄露排查,BeanUtils的锅

AI乔治

Java 架构

杰哥获奖了!

JackTian

Linux 程序人生 运维工程师 运维人生

陈山枝:5G+车联网 推动中国特色车路协同发展

Geek_459987

信息量爆炸!78天闭门深造1258页SpringCloud学习进阶笔记,再战蚂蚁金服

996小迁

Java 架构 面试 SpringCloud

Hbase实用技巧:全量+增量数据的迁移方法

华为云开发者社区

数据 HBase 集群

企业CRM未来发展趋势展望

Philips

敏捷开发 软件架构

端应用研发进入云原生时代

应用研发平台EMAS

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