这是Jerry 2020年的第33篇文章,也是汪子熙公众号总共第216篇原创文章。前端
Jerry以前的文章 SAP移动应用解决方案之一:HTML5应用 + Cordova = 平台相关的混合应用,曾经介绍了Cordova这个开源框架是如何应用到SAP Cloud for Customer的移动应用开发上的。编程
Jerry的另外一篇文章 如何使用JavaScript开发AR(加强现实)移动应用,则介绍了目前移动应用开发的另外一种主流技术:React-Native. 不管是Cordova仍是React-Native,使用的编程语言都是JavaScript,都能实现“一次编写,跨平台运行”的效果。json
今天Jerry要介绍的是SAP推出的另外一种移动应用开发方式,采用SAP Cloud Platform Mobile Service实现。任何对此方案感兴趣的朋友,均可以经过免费申请的SAP Cloud Platform测试账号,来体验其用法。服务器
SAP云平台Mobile Service底层基于NativeScript,另外一个使用JavaScript构建原生移动应用的开源框架:app
https://www.nativescript.org/框架
前文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建立一个新的移动应用,以此让你们大体了解开发的流程。spa
登陆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开发移动应用的流程有一个最基础的了解,感谢阅读。
更多阅读
要获取更多Jerry的原创文章,请关注公众号"汪子熙":