云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

华为云_网站建设企业排名_12月免费

小七 141 0

进步的网络应用为我们打开了许多新的途径,在网络上提供惊人的用户体验。他们结合了最好的网络和最好的应用程序,无论任何操作系统和浏览器的选择。一旦安装,他们感觉和看起来像本地应用程序,而不需要特殊的开发技能。现代商业应用程序应该在桌面和移动系统上工作,由于PWAs的响应性,这一点没有问题。最重要的是:它完全离线工作。

SAPUI5为我们提供了为web构建快速、可靠、响应迅速的用户界面的机会。已经有一篇关于用OpenUI5构建PWA的文章了,返利折扣,但是如何将现有的OpenUI5应用程序转换成一个渐进的Web应用程序呢?

图标浏览器是一个小工具,允许您通过浏览类别和标签或仅通过搜索来查找和预览图标。它加载SAP图标字体,给出图标的概述,并在UI5控件的不同用例中显示它们。这是测试UI5的PWA兼容性的良好基础。

我们需要什么?

默认PWA需要:

特殊元标签索引.html告诉浏览器这是一个web应用程序,加载一些图标并进行其他修改。启动屏幕和图标来美化用户界面,因为渐进式Web应用程序需要一些立即显示的静态内容描述我们的应用程序的Web应用程序清单。UI5已经需要一个清单,这意味着我们可以通过在现有清单中添加与PWA相关的术语来合并它们清单.json文件为保证离线兼容性,服务人员

有关更多详细信息,请查看PWA检查表

我们有许多同步XMLHttpRequests,但服务人员无法看到其中任何一个。要检查这一点,只需使用Chrome打开Web应用程序,启动Developer tools,单击Network查看服务工作者加载了哪些文件:当您第一次启动页面时,服务工作者将被注册并安装。现在重新加载时,服务人员将开始提供文件。

这为我们提供了图标资源管理器请求的所有文件的概述。你会看到服务人员已经加载了很多文件,但是仍然有很多文件不是从那里来的

那么,搭建大数据平台,我们还需要什么呢?

组件预加载将所有需要的组件合并到一个文件中。这将帮助我们获得更少的xhr,并提高启动性能,从而提供更好的用户体验。创建零部件的步骤-预加载.js您可以使用sapui5webide,也可以使用Grunt。在这种情况下,我们将使用Grunt.

我们需要创建一个Gruntfile.js文件:

openui5_预加载任务将生成我们的组件-预加载.js包含我们的组件.js, 清单.json以及所有其他.js、.xmland.properties文件。

我们创建了组件-预加载.js文件来减少XMLHttpRequests,但是组件仍然是同步加载的。幸运的是,UI5为我们提供了一些使事情异步化的机会。

要解决这个问题,我们需要修改索引.html文件:

异步加载所有组件后,大数据培训班,我们还需要对库执行此操作:只需将其添加到索引.html:

通过这种方式异步加载库,云服务器是,但您必须检查是否仍存在对库的同步请求。在我们的例子中,免费企业管理软件,对化身.js以及图书馆.js来自sap.f-library的文件。这意味着我们必须预加载sap.f库。

要预加载库,我们只需将它们添加到索引.html:

现在,还有两个图书馆请求:图书馆-参数.json文件。请求它们是因为浏览器试图在主题完全加载之前呈现UI。为了解决这个问题,我们必须告诉浏览器在引导UI5的时候索引.html,它必须等待主题:

(当我们使用OpenUI5 Nightlies时,我们不需要这个步骤,因为在OpenUI5的1.52版本之后,MessageBundle是异步加载的。但对于旧版本,我们需要预加载这些文件以防止请求。)

修复后,我们只有六个XHR。其中三个是异步的,所以只剩下三个同步请求:

这三个文件是messagebundle文件。它们用于组件中的标准文本,例如搜索字段的"搜索"文本。

为了使它们异步加载,不幸的是没有属性或标记。我们需要一个解决方法:

首先,我们必须下载包版本的我们的图书馆与鲍尔到达messagebundle.properties属性文件,通过创建鲍尔.json文件:

第二,我们需要在终端上运行这个命令

Bower现在将我们的库保存在Bower\u components目录中。

第三,我们必须扩大现有的Gruntfile.js文件再加上一个名为concat的任务:

这个任务将把所有messagebundle文件压缩到一个JavaScript文件中,并将每个文件注册为预加载,因此不需要请求。

生成的sap ui消息包-预加载.js需要调用Grunt提供的文件索引.html需要承认的是:

最后,我们还要将此添加到UI5的引导中索引.html:

如果我们没有为我们的应用程序定义语言(例如sap ui语言),UI5尝试根据浏览器语言加载messagebundle文件。这可能会导致对非常特定的语言文件(如deède)的请求,但UI5"仅"翻译为38种语言,只有一个德语版本(*de*),导致语言加载回退。我们的预加载也只包含这些语言,所以我们必须告诉UI5,它必须只加载支持的语言。将支持的语言设置为默认将避免对UI5中不存在的语言的任何请求。