我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Container应用设计原理是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Container应用设计原理是什么

这篇文章主要介绍“Container应用设计原理是什么”,在日常操作中,相信很多人在Container应用设计原理是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Container应用设计原理是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

以安卓为例子,我把我们发布到安卓应用市场的app解压出来研究了一下。

Container应用设计原理是什么

上图是一个cordova的总体框架的描述,可以看到cordova主要由两部分构成。
第一部分:Cordova Application是Cordova框架独立于不同手机操作系统的一个封装层。具体包括
1)Web app(包括具体的app的HTML/JS/CSS代码等);
2)Cordova框架已经封装好的核心插件(如相机、存储等系统调用),这块是Cordova的核心部分。当然,开发者也可以基于它的插件体系,扩展出新的插件;
第二部分:Mobile OS就是具体的手机操作系统层了,Cordova目前支持大部分的手机OS:ios、android、wp、blackberry等等

第二部分我们在这里就不赘述,都是mobile OS的各种原生功能。

那么我们先来看第一部分的webapp这一部分,我们将下载下来的apk文件解压缩,如下所示是一个很经典的安卓app的apk包的结构:

Container应用设计原理是什么

上文中讲过, 用Cordova工具将C4C Aurora的项目文件打包成Android或者iOS原生应用后,以Android平台为例,客户安装apk在安卓设备上后,运行在安卓手机上的C4C应用实际运行在WebView中。
WebView里加载的JavaScript和HTML文件实际上已经保存在了Cordova构建出来的项目包(即apk文件)里。在运行时,这些资源文件通过Embedded server加载到WebView里。
当然,手机C4C应用上所有需要显示的Transaction数据,比如在手机C4C应用上打开Account工作中心,看到的所有Account数据都来自对应的C4C tenant,这些数据的读取请求通过embedded Server发送到C4C tenant的后台 ABAP系统上去。

Jerry在博客(https://blogs.sap.com/2017/08/17/step-by-step-to-package-a-fiori-application-into-your-android-device-using-cordova/)中有写到如何用cordova创建一个fiori 风格app, 文中有讲到我们在开发这样一个app的时候会有一个默认的index.js生成,我们基于这个文件为入口进行开发cordova的应用,我们在assets->www下面找到了这个index.js文件,同时我们看到了几个zip包,这几个zip分别来自我们C4C开发组所开发的oberon和lead cod,里面包含了我们开发的javascript代码和样式表文件,这些文件即是上文提到的保存在cordova构建出来的项目包里的代码和html文件。

Container应用设计原理是什么

我们打开一个oberon.zip看一看里面的内容,比如我现在打开的是我们开发的RUI client下面的所有javascript代码和样式表文件的目录,library-preload.js就是我们开发的javascript代码压缩之后的合集,其中也包括一些我们会用到的UI5的类库。

Container应用设计原理是什么

通过jerry的博客我们得知应用运行时会先加载这个js文件,那么打开这个文件看一下上文提到的oberon.zip等zip里面的代码是如何被加载和运行的。

Container应用设计原理是什么

可以看到这里加载了两个js文件,运行了一个app.initialize()方法. 这个方法被定义在加载的第二个js文件js/index.js里面,打开这个index.js文件之后发现的确是这里的initialize 方法加载了sap的UI标准库,主题库,语言等。

Container应用设计原理是什么

上文中讲了第一部分中的webapp,那么我们来看看开发者自己开发的插件这一部分,在Jerry的博客中有写到如何用java开发一个自定义的cordova插件:https://blogs.sap.com/2017/08/18/step-by-step-to-create-a-custom-cordova-plugin-for-android-and-consume-it-in-your-ui5-application/,文中有提到我们如何在UI5的application中去调用我们开发的cordova插件,我们在这个解压出来的包里面也可以看到这些去消费插件的这些js class:

Container应用设计原理是什么

打开一个调用名片扫描插件的文件夹,我们发现与开发的时候文件目录基本一致, /platforms/android/assets/

Container应用设计原理是什么

到此,关于“Container应用设计原理是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Container应用设计原理是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Container应用设计原理是什么

这篇文章主要介绍“Container应用设计原理是什么”,在日常操作中,相信很多人在Container应用设计原理是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Container应用设计原理是什么”的疑
2023-06-04

Remix设计原理是什么

本文小编为大家详细介绍“Remix设计原理是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Remix设计原理是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Remix 中的丰富经验Remix 版本: v
2023-07-05

MYSQL原理、设计与应用

概述 数据库(Database,DB)是按照数据结构来组织、存储和管理数据的仓库,其本身可被看作电子化的文件柜,用户可以对文件中的数据进行增删改查等操作。 数据库系统是指在计算机系统中引入数据库后的系统,除了数据库,还包括数据库管理系统
2023-08-16

WCF应用原理是什么

本篇内容主要讲解“WCF应用原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“WCF应用原理是什么”吧!WCF设计出来完全是为了与其他系统的交互。这包括可以运行在其他操作系统和平台上的应用
2023-06-17

rainbond的架构设计原理是什么

这篇“rainbond的架构设计原理是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“rainbond的架构设计原理是什么
2023-06-29

React Flux与Redux设计及使用原理是什么

本篇内容主要讲解“React Flux与Redux设计及使用原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“React Flux与Redux设计及使用原理是什么”吧!Flux 是一种架构
2023-07-05

Spring WebFlux反应式编程设计及工作原理是什么

这篇文章主要介绍“Spring WebFlux反应式编程设计及工作原理是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Spring WebFlux反应式编程设计及工作原理是什么”文章能帮助大家解
2023-06-29

SAP CRM Relationship API设计原理是什么呢

SAP CRM Relationship API设计原理是什么呢,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。与settype不同,关系的元数据表中并没有维护专用的读取功能模块
2023-06-04

Java Socket线程的设计原理是什么

这篇文章主要讲解了“Java Socket线程的设计原理是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java Socket线程的设计原理是什么”吧!Java Socket线程我们经常
2023-06-17

RPC消息协议设计原理是什么

这篇文章主要介绍了RPC消息协议设计原理是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇RPC消息协议设计原理是什么文章都会有所收获,下面我们一起来看看吧。消息边界RPC 需要在一条 TCP 链接上进行多次
2023-06-02

Kubernetes设计的原则是什么

本篇内容介绍了“Kubernetes设计的原则是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!引言:今天我要带给大家的是2018年底,在
2023-06-04

dubbo的SPI应用与原理是什么

dubbo的SPI应用与原理是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。dubboSPI(Service Provider Interface)本质是将接口实现类的全限
2023-06-05

ssl原理及应用场景是什么

SSL(Secure Sockets Layer)是一种加密协议,用于保护在互联网上传输的数据安全。它使用公钥加密来保护数据的机密性和完整性,以及数字签名来验证数据的真实性。SSL通常用于Web浏览器和服务器之间的安全通信,以确保数据传输过
2023-06-12

vue响应式原理是什么

Vue 的响应式原理是通过数据劫持(Object.defineProperty)实现的,其核心思想是将数据模型和视图模型进行双向绑定,即当数据模型的数据发生变化时,视图模型会自动更新,反之亦然。具体实现方式为,当 Vue 实例化时,Vue
2023-05-13

SAP CRM CUSTOMER_H扩展字段的设计原理是什么

这篇文章的内容主要围绕SAP CRM CUSTOMER_H扩展字段的设计原理是什么进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!INCL_EEW_C
2023-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录