使用SAP云平台Mobile Service开发移动应用
这是Jerry 2020年的第33篇文章,也是汪子熙公众号总共第216篇原创文章。
Jerry之前的文章 SAP移动应用解决方案之一:HTML5应用 + Cordova = 平台相关的混合应用,曾经介绍了Cordova这个开源框架是如何应用到SAP Cloud for Customer的移动应用开发上的。
Jerry的另一篇文章 如何使用JavaScript开发AR(增强现实)移动应用,则介绍了目前移动应用开发的另一种主流技术:React-Native. 无论是Cordova还是React-Native,使用的编程语言都是JavaScript,都能实现“一次编写,跨平台运行”的效果。
今天Jerry要介绍的是SAP推出的另一种移动应用开发方式,采用SAP Cloud Platform Mobile Service实现。任何对此方案感兴趣的朋友,都可以通过免费申请的SAP Cloud Platform测试帐号,来体验其用法。
SAP云平台Mobile Service底层基于NativeScript,另一个使用JavaScript构建原生移动应用的开源框架:
前文Jerry首先提到的Cordova技术,构建而成的移动应用又被称为Hybrid(混合)应用,该应用的本质是一个运行在移动平台Webview控件里的网页应用;而React-Native顾名思义,构建出的是一个真正的原生移动应用,其使用的基础UI组件与用Object C或Java编写的原生应用比较并无区别,只不过这些组件现在是由Web开发人员通过JavaScript语言和React操作,最后被编译器转换成原生应用罢了。
而NativeScript框架的工作原理,和React-Native又有所不同。React-Native通过Bridge概念实现了JavaScript和移动平台原生API的双向交互,而NativeScript编写的JavaScript代码,运行在NativeScript运行时(Runtime),通过该运行时环境同移动平台原生API交互。NativeScript运行时实际是一个JavaScript虚拟机,在Android平台上基于Google V8引擎,在iOS上基于WebKit JavaScriptCore这个实现。
幸运的是,SAP Cloud Platform通过引入Mobile Development Kit(下文简称MDK)的概念,已经把这些细节给我们封装好了。对工作在SAP云平台上的移动应用开发人员来说,MDK就是Android或者iOS平台上的一个客户端,后续Jerry会介绍如何安装。
有了SAP MDK的帮助,现在我们不需要Android Studio或者XCode,直接用SAP WebIDE就可以进行移动应用开发了。下面Jerry利用SAP云平台Mobile Service创建一个新的移动应用,以此让大家大致了解开发的流程。
登录SAP Cloud Platform,点Support进入Mobile Service的控制台:
新建一个应用:
维护应用的ID和名称:
创建之后,可以给这个名称为Jerry MDK Demo的应用分配Feature(特性):
这些特性可以理解成SAP对移动应用需要实现的功能抽象出的一些最佳实践,分配了列表里这些特性后,我们用WebIDE生成的移动应用工程项目,将自动包含对应的模板实现:
举个例子,回忆一下我们开发SAP UI5应用的流程:通常情况下,我们不会一上来就直接连后台的OData服务,而是通过UI5提供的Mock Server,先消费本地的Sample数据,待前端页面开发结束之后,再连接后台OData服务进行测试。
SAP Cloud Platform Mobile Service也提供了一个类似SAP UI5 Mock服务器的特性,即Mobile Sample OData ESPM. ESPM即Enterprise Sales Procurement Model的缩写, 包含SalesOrder,Customers,Products等一系列业务数据的集合。
在Mobile Service控制台里给应用分配好需要的特性之后,我们来到SAP WebIDE,启用Mobile Service Development Tools这个扩展:
扩展被启用之后,在SAP WebIDE左侧会多出一个MDK Development的标签:
在此处创建一个新的MDK项目:
在红色高亮字段的下拉菜单里,选择刚才在Mobile Service控制台里创建并分配了特性的应用ID:com.sap.jerry.demo:
如果要连接第三方OData服务,将其地址维护到SAP云平台的Destination里。
成功解析出OData服务的元数据:
SAP WebIDE Mobile Service Development Tools扩展自动生成的项目如下图所示,其中Application.app,这个文件,Jerry把它类比成Android项目的manifest.xml配置文件:
如何将这个WebIDE里的工程以移动应用的方式部署到移动设备上呢?右键菜单里选择MDK Deploy and Activate:
在WebIDE控制台里看到部署成功的消息:
部署成功后会生成一个二维码,此时如果移动设备上已经安装了SAP Mobile Services Client,扫描该二维码,会自动在设备上打开WebIDE里刚刚部署好的应用。
从Google Play里对SAP Mobile Services Client的介绍,我们能看出其工作原理:在SAP WebIDE里创建的MDK项目,生成的实际是json格式的元数据;使用移动设备上安装的SAP Mobile Services Client连接SAP云平台Mobile Service之后,前者会从后者接收这些应用元数据,绘制出应用的UI和完成初始化动作。
Jerry用的三星手机,安装SAP Mobile Services Client后,扫描二维码,弹出提示窗口,输入SAP云平台的用户名和密码登录:
之后点击Get Started:
SAP Mobile Services Client会连接SAP云平台Mobile Service,下载WebIDE里创建好的应用元数据:
并完成初始化操作。
因为Jerry在WebIDE里没有在页面上绘制任何控件,只定义了Caption,所以这个应用打开后界面上什么也没有,仅仅显示出我定义的页面标题:
如果点击Try the demo,能看到之前提到的ESPM sample数据展示在设备上的效果如下:
希望本文能够让大家对如何使用SAP云平台Mobile Service开发移动应用的流程有一个最基础的了解,感谢阅读。
更多阅读
- HTML5应用 + Cordova = 平台相关的混合应用
- 只要200行JavaScript代码,就能把特斯拉汽车带到您身边
- SAP C/4HANA与人工智能和增强现实(AR)技术结合的又一个创新案例
- 纯JavaScript实现的调用设备摄像头并拍照的功能
- 如何在SAP UI5应用里添加使用摄像头拍照的功能
本文来自云栖社区合作伙伴“汪子熙”,了解相关信息可以关注微信公众号"汪子熙"。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
心选建站云解析
云栖号在线课堂,及时了解行业动态!阿里云推出疫情专题方案,为企业业务护航,让你足不出户了解行业动态。 在这里可以走近阿里云基础产品,了解更多应用方案,还能遇见大咖分享洞见及故事!也可以通过视频的形式让你高效、生动的了解场景化的上云最佳实践。 本周重磅直播 采购季直播间 - 7大会场攻略 -> 心选建站云解析 日期 直播主题 直播间link 3月16日 从传统应用到云原生,云时代的开发运维演变 https://yq.aliyun.com/live/2198 3月16日 创业不易,阿里云助力中小企业在线复工! https://yq.aliyun.com/live/2314 3月18日 云上CI/CD最佳实践 https://yq.aliyun.com/live/2200 3月19日 在线业务弹性扩缩容最佳实践 https://yq.aliyun.com/live/2201 3月19日 低成本高性价比的建站秘籍 https://yq.aliyun.com/live/2308 3月20日 教你打造企业品牌门户 https://yq.aliyun.com/live/2309 架构师成长系列...
- 下一篇
SAP ABAP守护进程(ABAP Daemon)的实现方式
Jerry本科学习《计算机操作系统》这门专业课时,了解到了守护进程的理念,当时我们是从Linux操作系统里的守护进程开始学习这个概念的:Linux守护进程是运行在后台的一种特殊进程,独立于控制终端并且周期性地执行某种任务,或等待处理某些将要发生的事件。Linux系统很多服务都通过守护进程实现,常见的守护进程有系统日志进程syslogd,web服务器httpd,邮件服务器sendmail和数据库服务器mysqld等。 当时Jerry上这门专业课时,《暗黑破坏神II》在国内各大高校的战网上正进行得如火如荼,Jerry也和其他暗黑爱好者一样,天天在战网上KB,KC, 刷暴躁外皮。 暗黑破坏神II里有很多对恶魔(Demon)造成额外伤害的武器,比如下面这把用符文之语悔恨(Grief)制成的幻化之刃,对恶魔生物造成额外185%伤害: 当时Jerry在战网上刷怪的时候,心想,Linux守护进程的名称咋这么酷?Demon Process - 恶魔进程。第二天翻开教材仔细一看,顿时尴尬了,原来守护进程的英文应该是Daemon Process... 那么在ABAP里能否实现具有守护进程特性的报表?这个需...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS关闭SELinux安全模块
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Hadoop3单机部署,实现最简伪集群