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开发移动应用的流程有一个最基础的了解,感谢阅读。
相关推荐
1. 加快应用开发速度:使用低代码开发平台能够在短时间内快速构建出应用程序的框架,交付给客户使用。 2. 降低技术要求:低代码开发平台对使用者的技术要求大大低于传统软件开发项目中的程序员。 3. 提高开发效率:...
SAP Cloud Platform是SAP公司推出的企业级云服务平台,允许用户在云上快速部署、开发和运行应用程序。 Cloud Foundry环境是支持多语言、框架和运行时环境的开源PaaS云平台,允许开发者无需考虑底层基础架构,快速...
通过整合Sybase的技术,SAP不仅增强了自身在移动市场的竞争力,还为客户提供了一套完整的移动解决方案,涵盖了从数据管理到应用开发再到设备管理的整个移动生态系统。 #### SAP移动应用的特性与优势 1. **集成性**...
SAP高级应用开发SAP高级应用开发SAP高级应用开发SAP高级应用开发
#### SAP HANA 与 PhoneGap 集成的移动应用开发 在当前快速发展的移动互联网时代,企业对移动应用的需求日益增长。SAP HANA 作为一款先进的内存计算平台,为高效的数据处理提供了强有力的支持。结合 PhoneGap 这样...
SAP Business One mobile是针对SAP Business One管理软件的移动应用程序,旨在为...对于希望在移动设备上使用SAP Business One的客户而言,正确配置和使用SAP Business One mobile应用程序是提升工作效率的关键一步。
本书系统地介绍了SAP NetWeaver架构下的关键技术,包括RFC通信协议、BAPI、ALE/IDoc技术、SAP工作流技术、SAP外部接口应用开发、Java及.NET平台的Portal应用开发等内容。 SAP高级应用开发覆盖了SAP系统实施和集成...
移动应用程序和设备的适用范围和复杂程度超乎寻常,其影响力...在这种情况下,业内领先企业选择部署SAP Mobile Platform,能够快速开发安全且可扩展性高的移动应用程序,以便员工和客户通过任意移动设备使用应用程序。
《SAP ABAP开发详解与高端应用》这本书深入探讨了SAP ABAP(Advanced Business Application Programming)编程语言,这是SAP系统中用于开发业务应用程序的关键技术。ABAP是SAP平台上的核心编程语言,用于创建自定义...
此资源分为2个压缩卷,此为分卷1,文件名:SAP高级应用开发-电子书+源代码.zip,采用7-zip压缩 SAP高级应用开发:RFC、BAPI、ALE、Workflow、SAP连接器、WebDynpro及BSP 丛书名: 图灵SAP技术丛书 字 数: 579000 ...
- **应用开发与扩展**:支持快速开发和部署新的云应用或扩展现有应用。 - **数据分析与AI**:提供强大的数据分析工具和人工智能服务。 - **物联网(IoT)**:支持物联网设备的连接和数据管理。 - **区块链**:利用...
SAP 开发平台介绍
SAP云平台解决方案的实施为企业带来了诸多增值效益,例如通过SAP Roma集成平台实现一站式服务,自动化安装和应用弹性伸缩简化了运维,存储容灾成本降低80%,并提供了7*24的专业运维支持。此外,还有针对SAP系统的...
《SAP高级应用开发》源代码是一份宝贵的资源,涵盖了SAP系统中除了基础的ABAP编程之外的高级技术。这份源代码集合旨在提升SAP实施人员的专业技能,帮助他们深入理解SAP的复杂功能,并且使开发人员能够熟练地进行SAP ...
ABAP(Advanced Business Application Programming)是SAP公司推出的一种编程语言,主要用于开发SAP系统中的业务应用程序。SAP系统在全球企业资源规划(ERP)领域有着广泛的应用,而ABAP则是其核心开发语言,使得...
这一方案的推出,体现了SAP在移动商务领域的发展战略,并通过收购具有丰富移动应用开发经验的Sybase和Syclo公司,进一步强化了其在移动平台上的产品线。 在移动方案中,SAP强调技术架构的多层构建,覆盖硬件到软件...
SAP HANA云平台(HANA Cloud Platform,简称HCP)是一个开放的PaaS(Platform-as-a-Service)解决方案,它为开发人员和企业提供了构建、扩展和集成应用程序的环境,特别关注于企业级的BPaaS(Business-Platform-as-a...
ABAP 是 SAP 系统中的主要编程语言,用于开发业务应用程序。 在 SAP 系统中,开发环境和开发工具是必不可少的组件,开发者可以使用这些工具来创建、测试和部署 ABAP 程序。ABAP WORKBENCH 是 SAP 系统中最常用的...
在移动技术领域,Windows Mobile曾是企业级应用开发的重要平台之一。本教程“开发Mobile企业应用快速入门”旨在为开发者提供一个快速理解并掌握Windows Mobile应用程序开发的路径。以下是一些核心知识点的详细阐述:...
本书详细讲述SAPHANA平台的各种技术以及在SAPHANA平台上的软件开发过程。主要内容包括:SAPHANA的各个特性;SAPHANAStudio;属性视图;分析视图;图形化计算视图;用SQLScript创建计算视图;SAPHANA系统的授权机制;...