写点什么

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

  • 2018-07-23
  • 本文字数:3886 字

    阅读完需:约 13 分钟

关键要点

  • 移动应用程序开发平台支持多种部署选项——原生、混合和 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-07-23 18:081905
用户头像

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

关注

评论 1 条评论

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

Dubbo + ZooKeeper丨如何解决线上故障排查链路长的难题

阿里巴巴云原生

阿里云 开源 云原生 dubbo Zookeepe

Redis高频40问

程序员大彬

Java Redis redis 底层原理

对前端性能优化的一些小看法

Yestodorrow

扒站软件:SiteSucker汉化激活

真大的脸盆

Mac Mac 软件 网站下载 下载网站工具

博睿学院 | 本周四,博睿学院数据集成系列公开课正式开讲

博睿数据

数据中台 智能运维 博睿数据 博睿学院

聊聊前端性能指标那些事儿

京东科技开发者

性能优化 前端 性能 前端性能 企业号 3 月 PK 榜

软件工程高效学 | 软件工程基础

TiAmo

软件工程

【iOS逆向与安全】利用IDAPython插件提高反汇编和逆向工程效率

小陈

安全 逆向 iOS逆向 ios安全 逆向分析

经过小折腾,可算是把 Code Coverage API 用上了

HoneyMoose

用AI回忆起曾被忘却的语言

白洞计划

AI

GPT-4 可以开始测试了

HoneyMoose

工信部数据库适配验证中心项目验收通过 柏睿数据参与共建

科技热闻

如何使用责任链默认优雅地进行参数校验?

JAVA旭阳

Java spring

微前端框架single-spa子应用加载解析

京东科技开发者

生命周期 微前端 VUE 3.0 源码 企业号 3 月 PK 榜 single-spa

VisBug:助力前端开发的浏览器插件

南城FE

CSS 效率工具 前端 浏览器 插件

记录丨阿里云校招生的成长经历

阿里巴巴云原生

阿里云 云原生 校招

《云原生架构容器&微服务优秀案例集》惊喜来袭

阿里巴巴云原生

阿里云 容器 微服务 云原生

pulsar 报错源码排查:"Not enough non-faulty bookies available"

李code

源码 pulsar 故障恢复 参数调优 白话源码

Spring竟然可以创建“重复”名称的bean?—一次项目中存在多个bean名称重复问题的排查

京东科技开发者

spring bean @Bean 企业号 3 月 PK 榜

cookie时效无限延长方案

京东科技开发者

自动化测试 Cookie 接口自动化 UI自动化 企业号 3 月 PK 榜

又发现一个开源商城项目,谷粒商城外又多了个选择

马丁玩编程

AI大模型加速升级,数据和隐私何以为安?

博文视点Broadview

openEuler开源新项目,嵌入式实时虚拟机ZVM介绍

openEuler

Linux 操作系统 虚拟机 嵌入式 openEuler

机器学习算法(八):基于BP神经网络的乳腺癌的分类预测

汀丶人工智能

数据挖掘 机器学习 BP神经网络

Spring依赖注入Bean类型的8种情况,你学废了吗?

Java永远的神

spring 源码 程序员 后端 java面试

【共创共赢】AntDB数据库合作伙伴交流会(北京站)顺利举办

亚信AntDB数据库

数据库 AntDB AntDB数据库 企业号 3 月 PK 榜

Three.js 进阶之旅:全景漫游-初阶移动相机版

dragonir

JavaScript 前端 three.js

OpenHarmony社区运营报告(2023年2月)

OpenHarmony开发者

OpenHarmony

Z世代新母婴人群消费洞察2023

易观分析

母婴 新消费 Z世代 消费

CNStack 虚拟化服务:实现虚拟机和容器资源的共池管理

阿里巴巴云原生

阿里云 云原生 虚拟化 CNStack

滴滴 一面总结

Java你猿哥

Java 滴滴 java面试 面经

走向开放式移动应用开发平台之路_开源_Olivier Picciotto_InfoQ精选文章