CN111857782B - 界面更新方法、装置、计算机设备和存储介质 - Google Patents

界面更新方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN111857782B
CN111857782B CN202010731494.6A CN202010731494A CN111857782B CN 111857782 B CN111857782 B CN 111857782B CN 202010731494 A CN202010731494 A CN 202010731494A CN 111857782 B CN111857782 B CN 111857782B
Authority
CN
China
Prior art keywords
user interface
application program
updating
page layout
updated
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010731494.6A
Other languages
English (en)
Other versions
CN111857782A (zh
Inventor
孙文韬
范世强
丁汉飞
王尔康
吕文钊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qichacha Technology Co ltd
Original Assignee
Qichacha Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qichacha Technology Co ltd filed Critical Qichacha Technology Co ltd
Priority to CN202010731494.6A priority Critical patent/CN111857782B/zh
Publication of CN111857782A publication Critical patent/CN111857782A/zh
Application granted granted Critical
Publication of CN111857782B publication Critical patent/CN111857782B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请涉及一种界面更新方法、装置、计算机设备和存储介质。所述方法通过响应于应用程序的启动指令,获取与应用程序连接的服务器下发的对应用程序的用户界面的更新数据模型,当检测到对用户界面的打开指令时,采用基于JSCore的单例类解析对用户界面更新的页面布局文件,获取对用户界面更新的渲染数据,采用渲染数据对用户界面进行渲染,生成并打开更新后的用户界面,从而实现对iOS终端上应用程序中用户界面的动态更新,且无需开发并发布新版本的应用程序,不仅节省了开发工作量,且极大的提高了渲染效率。

Description

界面更新方法、装置、计算机设备和存储介质
技术领域
本申请涉及互联网技术领域,特别是涉及一种界面更新方法、装置、计算机设备和存储介质。
背景技术
智能终端上的APP(应用程序,Application)一般使用编程语言进行应用开发,形成安装文件,智能终端通过服务器下载安装文件后,在智能终端上安装并运行客户端,以显示APP的各个用户界面。由于APP一般使用Native代码(即原生代码,如iOS(iPhoneOperation System,苹果移动设备操作***)代码或Android(开源手机操作***)代码)编写用户界面,随着APP应用场景的改变,需要对APP的用户界面进行修改,因此需要重新进行APP应用程序的开发,并通过发布新版本APP,引导用户在智能终端上安装新版本APP以实现对客户端的更新。由于在每次对APP的用户界面更新时,都需要重新进行APP应用程序的开发,而对于不断变化的外部环境,极大的增加了APP应用程序的开发工作量。
基于此,传统技术中对动态化更新APP做了很多尝试,比如采用JSPatch进行纯原生开发加热更新,或利用Html5进行混合开发等。其中,JSPatch是一个iOS动态更新框架,只需在项目中引入极小的引擎,就可以使用JavaScript(JS脚本)调用任何Objective-C/Swift原生接口以获得脚本语言,并为项目动态添加模块,或替换项目原生代码动态修复bug,但是,JSPatch被iOS平台禁用,无法通过iOS平台的审核。而Html5对网络要求较高,导致更新效率低于原生开发。可见,传统技术无法满足对终端上用户界面的有效更新。
发明内容
基于此,有必要针对上述传统技术无法满足对用户界面的有效更新的技术问题,提供一种能够有效对用户界面更新的界面更新方法、装置、计算机设备和存储介质。
一种界面更新方法,所述方法包括:
响应于应用程序的启动指令,获取对应用程序的用户界面进行更新的页面布局文件;
当检测到对用户界面的打开指令时,采用单例类解析对用户界面进行更新的页面布局文件,获取对用户界面更新的渲染数据;
采用渲染数据对用户界面进行渲染,生成并打开更新后的用户界面。
在其中一个实施例中,获取对应用程序的用户界面进行更新的页面布局文件,包括:获取与应用程序对应的更新数据模型;从更新数据模型中提取应用程序中需要更新的用户界面的页面布局文件,其中,页面布局文件包括对应的控件布局及相应属性。
在其中一个实施例中,获取与应用程序对应的更新数据模型,,包括:在接收到对应用程序的启动指令时,向服务器发送更新数据模型获取请求,所述更新数据模型获取请求用于指示服务器返回对应的更新数据模型;接收服务器返回的采用JS语言对应用程序的原生用户界面***中各用户界面自定义的页面布局文件。
在其中一个实施例中,采用单例类解析对用户界面进行更新的页面布局文件,获取对用户界面更新的渲染数据,包括:采用基于JSCore的单例类对页面布局文件进行语法解析,获取页面布局文件中对应的控件布局及相应属性;根据页面布局文件中对应的控件布局及相应属性,生成对用户界面更新的渲染数据。
在其中一个实施例中,获取与应用程序对应的更新数据模型,包括:在接收到对应用程序的启动指令时,从本地的存储空间中获取与应用程序对应的更新数据模型。
在其中一个实施例中,上述方法还包括:接收服务器下发的应用程序的更新数据模型,所述更新数据模型是在应用程序运行过程中服务器下发的;将应用程序的更新数据模型保存在本地的存储空间中。
在其中一个实施例中,对用户界面的打开指令是应用程序通过路由方式打开所述用户界面时发送的。
一种界面更新装置,包括:获取模块、解析模块和更新模块,其中:
获取模块,用于响应于应用程序的启动指令,获取对应用程序的用户界面进行更新的页面布局文件;
解析模块,用于当检测到对用户界面的打开指令时,采用单例类解析对用户界面进行更新的页面布局文件,获取对用户界面更新的渲染数据;
更新模块,用于采用渲染数据对用户界面进行渲染,生成并打开更新后的用户界面。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述方法的步骤。
上述界面更新方法、装置、计算机设备和存储介质,通过响应于应用程序的启动指令,获取对应用程序的用户界面进行更新的更新数据模型,当检测到对用户界面的打开指令时,采用单例类解析对用户界面进行更新的页面布局文件,获取对用户界面更新的渲染数据,采用渲染数据对用户界面进行渲染,生成并打开更新后的用户界面,从而实现对iOS终端上应用程序中用户界面的动态更新,且无需开发并发布新版本的应用程序,不仅节省了开发工作量,且极大的提高了渲染效率。
附图说明
图1为一个实施例中界面更新方法的应用环境图;
图2为一个实施例中界面更新方法的流程示意图;
图3为一个实施例中获取更新数据模型步骤的流程示意图;
图4为一个实施例中解析页面布局文件步骤的流程示意图;
图5为一个实施例中界面更新方法的交互示意图;
图6为一个实施例中界面更新装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的界面更新方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。具体地,终端102上安装有各种为用户提供服务的应用程序的客户端,服务器104则为对应客户端的后台服务器。由于终端102上客户端的用户界面需要频繁更新,而传统技术中采用开发并发布新版本的方式更新用户界面导致开发工作量大。基于此,本申请通过终端检测是否存在对应用程序的启动指令,当检测到对应用程序的启动指令时,则响应于该启动指令,并获取对应用程序的用户界面进行更新的页面布局文件;并在检测到对用户界面的打开指令时,采用的单例类解析对用户界面更新的页面布局文件,获取对用户界面更新的渲染数据;采用渲染数据对用户界面进行渲染,生成并打开更新后的用户界面,从而实现对终端上应用程序中用户界面的动态更新。
在本实施例中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,具体地,终端102可以具有iOS(iPhone Operation System,苹果移动设备操作***),服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种界面更新方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
步骤202,响应于应用程序的启动指令,获取对应用程序的用户界面进行更新的页面布局文件。
其中,启动指令是指挥终端启动应用程序的指示或命令。用户界面是(UserInterface,简称UI)是指对应用程序的人机交互、操作逻辑、界面美观的整体设计,也是应用程序和用户之间进行交互和信息交换的媒介,它实现信息的内部形式与人类可以接受形式之间的转换。用户界面是介于用户与硬件而设计的彼此之间交互沟通的桥梁,目的在使得用户能够方便有效率地去操作硬件以达成双向之交互,完成所希望借助硬件完成之工作。对应用程序的用户界面进行更新的页面布局文件是指对用户界面进行更新所需的数据结构,如可以包括对用户界面更新后的新界面的控件布局及相应属性等。在本实施例中,当终端检测到对应用程序的启动指令时,则响应于该启动指令,并获取对该应用程序的用户界面进行更新的页面布局文件,以通过后续步骤实现对用户界面的动态更新。
步骤204,当检测到对用户界面的打开指令时,采用单例类解析对用户界面进行更新的页面布局文件,获取对用户界面更新的渲染数据。
其中,打开指令是指挥终端打开应用程序中用户界面的指示或命令。具体地,用户界面的打开指令可以是应用程序通过路由(router)方式打开用户界面时发送的。单例类是指应用程序内一个创建后唯一的具有管理功能的对象。具体地,类是一种用户定义的引用数据类型,也称类类型,每个类包含数据说明和一组操作数据或传递消息的函数,而类的实例则称为对象。对象是对客观事物的抽象,类则是对对象的抽象。简单来讲,对象是类的实例,类是对象的模板,而单例类则是指应用程序内唯一一个具有管理功能的对象。渲染数据是对用户界面进行更新所需的后台数据。在本实施例中,当终端检测到对用户界面的打开指令时,则采用单例类解析对用户界面更新的页面布局文件,其中,解析过程包括但不限于对页面布局文件进行语法解析,从而获取页面布局文件中的控件布局及相应属性,并基于此建立相应的数据结构,以形成对用户界面更新的渲染数据。
步骤206,采用渲染数据对用户界面进行渲染,生成并打开更新后的用户界面。
具体的,采用上述的渲染数据对用户界面中各控件的位置、样式等进行计算,并根据计算结果对用户界面进行渲染,从而生成渲染后的新的用户界面,进而响应于对用户界面的打开指令,打开更新后的用户界面,以实现对终端上应用程序中用户界面的动态更新。
上述界面更新方法,通过响应于应用程序的启动指令,获取对应用程序的用户界面进行更新的页面布局文件,当检测到对用户界面的打开指令时,采用单例类解析对用户界面进行更新的页面布局文件,获取对用户界面更新的渲染数据,采用渲染数据对用户界面进行渲染,生成并打开更新后的用户界面,从而实现在应用程序启动时对终端上应用程序中用户界面的动态更新,且无需开发并发布新版本的应用程序,不仅节省了开发工作量,且极大的提高了渲染效率。
在一个实施例中,在采用上述方法对用户界面进行更新后,则当终端再次检测到对用户界面的打开指令时,则直接打开更新后的用户界面。可以理解的是,在对用户界面进行更新后,并在下次更新前,每次终端检测到对用户界面的打开指令时,则直接打开更新后的用户界面,从而无需重复对用户界面进行渲染,从而提高了加载用户界面的速度。
在一个实施例中,获取对应用程序的用户界面进行更新的页面布局文件,具体包括:获取与应用程序对应的更新数据模型;从更新数据模型中提取应用程序中需要更新的用户界面的页面布局文件。其中,更新数据模型是指应用程序更新所需的数据结构,包括更新后的应用程序中各用户界面的页面布局文件,页面布局文件则包括对应的控件布局及相应属性。在本实施例中,通过获取与应用程序对应的更新数据模型,并从更新数据模型中提取应用程序中需要更新的用户界面的页面布局文件,以便于实现对终端上应用程序中用户界面的动态更新。
在一个实施例中,如图3所示,获取与应用程序对应的更新数据模型,包括:
步骤302,在接收到对应用程序的启动指令时,向服务器发送更新数据模型获取请求。
其中,更新数据模型获取请求是用于从服务器获取对应用程序中用户界面进行更新的更新数据模型的请求。具体的,当需要对应用程序中用户界面进行更新时,可以通过服务器在该应用程序原生开发的基础上,自定义所需的用户界面的类以及相应属性。例如,在原生开发的用户界面的基础上,自定义一个控件为“ImageView”的JavaScrirpt语句的类,它拥有长、宽、圆角、图片等属性。并将控件为“ImageView”的类通过协议暴露给JavaScript端,使JavaScript端可以直接调用这个类,进而采用JavaScript编写用户界面的UI逻辑,即自定义的页面布局文件,从而生成对应用程序中用户界面进行更新的更新数据模型。因此,当终端接收到对应用程序的启动指令时,则向服务器发送对更新数据模型的获取请求,以指示服务器返回对应的更新数据模型。
步骤304,接收服务器返回的采用JS语言对原生用户界面***中用户界面自定义的页面布局文件。
其中,自定义的页面布局文件包括对应的控件布局及相应属性。具体地,终端接收服务器返回的采用JS语言对应用程序的原生用户界面***中各用户界面自定义的页面布局文件,从而实现对应用程序中用户界面的动态更新。
在一个实施例中,如图4所示,采用单例类解析对用户界面更新的页面布局文件,获取对用户界面更新的渲染数据,包括:
步骤402,采用基于JSCore的单例类对页面布局文件进行语法解析,获取页面布局文件中对应的控件布局及相应属性。
其中,单例类是指应用程序内唯一一个具有管理功能的对象。在本实施例中,当终端检测到对用户界面的打开指令时,则可以采用基于JSCore(JS核心)的单例类解析对用户界面更新的页面布局文件,其中,解析过程包括但不限于对页面布局文件进行语法解析,从而获取页面布局文件中的控件布局及相应属性。
步骤404,根据页面布局文件中对应的控件布局及相应属性,生成对用户界面更新的渲染数据。
其中,渲染数据是对用户界面进行更新所需的后台数据。在本实施例中,根据页面布局文件中对应的控件布局及相应属性,建立相应的数据结构,以生成对用户界面更新的渲染数据,进而采用渲染数据对用户界面进行渲染,以实现对应用程序中用户界面的动态更新。
在一个实施例中,获取与应用程序对应的更新数据模型,具体可以包括:在接收到对应用程序的启动指令时,从本地的存储空间中获取与应用程序对应的更新数据模型。其中,该更新数据模型可以是在应用程序上次运行过程中服务器下发给终端的。可以理解的是,通常应用程序处于运行状态时,与对应的服务器之间则处于连接状态。若此时开发人员通过服务器配置了对应用程序的更新数据模型,则服务器基于与应用程序的连接状态,可以将对该应用程序的更新数据模型下发至对应的终端。由于此时应用程序处于运行状态,因此终端不会立即对该应用程序进行更新,而是会将对该应用程序的更新数据模型存储在本地的存储空间中,并在后续接收到对该应用程序的启动指令时,从本地的存储空间中获取与应用程序对应的更新数据模型,以对应用程序进行更新。从而极大降低了更新过程中对网络的依赖性,提高了更新的速度及可靠性。
进一步地,本地的存储空间可以是本地的缓存空间,从而不占用终端的运行内存。且在从本地的缓存空间中获取与应用程序对应的更新数据模型,并对应用程序进行更新后,终端还可以删除缓存空间中的更新数据模型,从而避免终端进行不必要的重复更新。
在一个实施例中,如图5所示,以下以iOS终端为例,通过具体的交互实施例进一步说明本申请的界面更新方法,包括如下步骤:
步骤501,服务器获取开发人员在应用程序原生开发基础上创建的类。
具体的,当需要对应用程序中用户界面进行更新时,可以在该应用程序原生开发的基础上,自定义所需的用户界面的类,该类可以是基于JavaScrirpt语句的类,且具有相应的属性。例如,若创建的类为“ImageView”,它可以拥有长、宽、圆角、图片等属性。
步骤502,服务器通过JSCore提供的JSExport协议将创建的类暴露给JavaScript端。
例如,服务器可以将上述ImageView这个类通过协议暴露给JavaScript端,使JavaScript端可以直接调用这个类,示例代码如下:
var imageView=ImageView.initWithFrame(0,0,100,100)
imageView.imageUrl=“https:xxxx.xxxx.xxx?picAddress=12345”
步骤503,服务器获取开发人员使用JavaScript编写所需的用户界面的UI逻辑。
具体的,用户界面的UI逻辑可以是通过上述类描述用户界面的实例,即描述用户界面的页面布局文件。
其中,用户界面的UI逻辑示例代码如下:
Figure BDA0002603340170000091
上示例代码表示,在用户界面中创建一个视图,在视图上显示一个“hello world”的标签以及一张图片。
步骤504,服务器根据编写的用户界面的UI逻辑生成对用户界面进行更新的更新数据模型。
步骤505,iOS终端接收用户对应用程序的启动指令。
步骤506,iOS终端向服务器发送更新数据模型获取请求。
步骤507,iOS终端接收服务器返回的更新数据模型。
其中,更新数据模型具体可以是上述用户界面的UI逻辑示例代码。
步骤508,iOS终端检测到对用户界面的打开指令时,采用基于JSCore的单例类解析更新数据模型中对用户界面更新的页面布局文件,获取对用户界面更新的渲染数据。
即采用基于JSCore的单例类对上述用户界面的UI逻辑示例代码进行解析,调用JavaScript中的页面配置方法,获得相应的原生开发的用户界面的页面渲染数据。如上述示例代码,页面配置方法即上述代码中的layout方法,调用该方法后可以在原生环境中获得自定义的View对象,即上文示例代码中的backgroundView。
步骤509,iOS终端采用渲染数据对用户界面进行渲染,生成更新后的用户界面。
具体地,使用上述页面渲染数据,调用相应的原生UI类,赋予相应控件的各种UI数据,例如字体大小、字体颜色、边框等。如上述代码,在定义ImageView类时,可以使这个类的对象反射到一个原生控件UIImageView,因此,在获得自定义的view对象后,即可反射到相应的UIView对象。
例如原生UIView*view=[UIView new];
view.width=backgroundView.width;
view.height=backgroundView.height;
return view;
backgroundView即页面渲染数据,他的属性如上文直接赋予反射得到的控件。
步骤510,iOS终端响应于用户界面的打开指令,打开更新后的用户界面。
上述界面更新方法,当需要对应用程序中用户界面进行更新时,通过服务器在该应用程序原生开发的基础上,自定义所需的用户界面的类以及相应属性,进而进而采用JavaScript调用自定义的类编写用户界面的UI逻辑,并在iOS终端接收到应用程序的启动指令,获取与应用程序连接的服务器下发的对应用程序的用户界面的更新数据模型,当检测到对用户界面的打开指令时,采用基于JSCore的单例类解析对用户界面更新的页面布局文件,获取对用户界面更新的渲染数据,采用渲染数据对用户界面进行渲染,生成并打开更新后的用户界面,从而实现在应用程序启动时对iOS终端上应用程序中用户界面的动态更新,且无需开发并发布新版本的应用程序,不仅节省了开发工作量,还降低了更新过程中对网络的依赖性,从而极大的提高了渲染效率可可靠性。
应该理解的是,虽然图1-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种界面更新装置,包括:获取模块601、解析模块602和更新模块603,其中:
获取模块601,用于响应于应用程序的启动指令,获取对应用程序的用户界面进行更新的页面布局文件;
解析模块602,用于当检测到对用户界面的打开指令时,采用单例类解析对用户界面进行更新的页面布局文件,获取对用户界面更新的渲染数据;
更新模块603,用于采用渲染数据对用户界面进行渲染,生成并打开更新后的用户界面。
在一个实施例中,获取模块601具体包括:更新数据模型获取单元,用于获取与所述应用程序对应的更新数据模型;页面布局文件获取单元,用于从更新数据模型中提取应用程序中需要更新的用户界面的页面布局文件,所述页面布局文件包括对应的控件布局及相应属性。
在一个实施例中,更新数据模型获取单元具体用于:在接收到对应用程序的启动指令时,向服务器发送更新数据模型获取请求,所述更新数据模型获取请求用于指示服务器返回对应的更新数据模型;接收服务器返回的采用JS语言对应用程序的原生用户界面***中各用户界面自定义的页面布局文件。
在一个实施例中,解析模块具体用于:采用基于JSCore的单例类对页面布局文件进行语法解析,获取页面布局文件中对应的控件布局及相应属性;根据页面布局文件中对应的控件布局及相应属性,生成对用户界面更新的渲染数据。
在一个实施例中,更新数据模型获取单元具体用于:在接收到对应用程序的启动指令时,从本地的存储空间中获取与应用程序对应的更新数据模型。
在一个实施例中,获取模块601还包括接收单元,用于接收服务器下发的应用程序的更新数据模型,所述更新数据模型是在应用程序运行过程中服务器下发的;将应用程序的更新数据模型保存在本地的存储空间中。在一个实施例中,对用户界面的打开指令是应用程序通过路由方式打开所述用户界面时发送的。
关于界面更新装置的具体限定可以参见上文中对于界面更新方法的限定,在此不再赘述。上述界面更新装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过***总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种界面更新方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
响应于应用程序的启动指令,获取对应用程序的用户界面进行更新的页面布局文件;
当检测到对用户界面的打开指令时,采用单例类解析对用户界面进行更新的页面布局文件,获取对用户界面更新的渲染数据;
采用渲染数据对用户界面进行渲染,生成并打开更新后的用户界面。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取与应用程序对应的更新数据模型;从更新数据模型中提取所述应用程序中需要更新的用户界面的页面布局文件,所述页面布局文件包括对应的控件布局及相应属性。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在接收到对应用程序的启动指令时,向服务器发送更新数据模型获取请求,所述更新数据模型获取请求用于指示服务器返回对应的更新数据模型;接收服务器返回的采用JS语言对应用程序的原生用户界面***中各用户界面自定义的页面布局文件,所述自定义的页面布局文件包括对应的控件布局及相应属性。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:采用基于JSCore的单例类对页面布局文件进行语法解析,获取页面布局文件中对应的控件布局及相应属性;根据页面布局文件中对应的控件布局及相应属性,生成对用户界面更新的渲染数据。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:在接收到对应用程序的启动指令时,从本地的存储空间中获取与应用程序对应的更新数据模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收服务器下发的应用程序的更新数据模型,所述更新数据模型是在应用程序运行过程中服务器下发的;将应用程序的更新数据模型保存在本地的存储空间中。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
响应于应用程序的启动指令,获取对应用程序的用户界面进行更新的页面布局文件;
当检测到对用户界面的打开指令时,采用单例类解析对用户界面进行更新的页面布局文件,获取对用户界面更新的渲染数据;
采用渲染数据对用户界面进行渲染,生成并打开更新后的用户界面。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取与应用程序对应的更新数据模型;从更新数据模型中提取所述应用程序中需要更新的用户界面的页面布局文件,所述页面布局文件包括对应的控件布局及相应属性。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在接收到对应用程序的启动指令时,向服务器发送更新数据模型获取请求,所述更新数据模型获取请求用于指示服务器返回对应的更新数据模型;接收服务器返回的采用JS语言对应用程序的原生用户界面***中各用户界面自定义的页面布局文件,所述自定义的页面布局文件包括对应的控件布局及相应属性。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:采用基于JSCore的单例类对页面布局文件进行语法解析,获取页面布局文件中对应的控件布局及相应属性;根据页面布局文件中对应的控件布局及相应属性,生成对用户界面更新的渲染数据。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:在接收到对应用程序的启动指令时,从本地的存储空间中获取与应用程序对应的更新数据模型。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:接收服务器下发的应用程序的更新数据模型,所述更新数据模型是在应用程序运行过程中服务器下发的;将应用程序的更新数据模型保存在本地的存储空间中。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种界面更新方法,其特征在于,所述方法应用于iOS端,所述方法包括:
当检测到对应用程序的启动指令时,响应于应用程序的启动指令,获取对所述应用程序的用户界面进行更新的页面布局文件,所述页面布局文件是服务器基于获取的开发人员在应用程序原生开发基础上创建的类,并通过JSCore提供的JSExport协议将创建的类暴露给JavaScript端,进而基于开发人员使用JavaScript编写所需的用户界面的UI逻辑生成的;
当检测到对所述用户界面的打开指令时,采用单例类解析对所述用户界面进行更新的页面布局文件,获取对所述用户界面更新的渲染数据;
采用所述渲染数据对所述用户界面进行渲染,生成并打开更新后的用户界面;
所述获取对所述应用程序的用户界面进行更新的页面布局文件,包括:
获取与所述应用程序对应的更新数据模型,所述更新数据模型是所述应用程序更新所需的数据结构,包括更新后的应用程序中各用户界面的页面布局文件;从所述更新数据模型中提取所述应用程序中需要更新的用户界面的页面布局文件,所述页面布局文件包括对应的控件布局及相应属性;
所述获取与所述应用程序对应的更新数据模型,包括:在接收到对所述应用程序的启动指令时,向服务器发送更新数据模型获取请求,所述更新数据模型获取请求用于指示所述服务器返回与所述应用程序对应的更新数据模型;接收所述服务器返回的与所述应用程序对应的更新数据模型,所述更新数据模型是采用JS语言对所述应用程序的原生用户界面***中各用户界面自定义的页面布局文件,所述自定义的页面布局文件包括对应的控件布局及相应属性;
所述采用单例类解析对所述用户界面进行更新的页面布局文件,获取对所述用户界面更新的渲染数据,包括:采用基于JSCore的单例类对所述页面布局文件进行语法解析,获取所述页面布局文件中对应的控件布局及相应属性,所述解析过程包括对所述页面布局文件进行语法解析;根据所述页面布局文件中对应的控件布局及相应属性,建立相应的数据结构,并生成对所述用户界面更新的渲染数据。
2.根据权利要求1所述的界面更新方法,其特征在于,所述获取与所述应用程序对应的更新数据模型,包括:
在接收到对所述应用程序的启动指令时,从本地的存储空间中获取与所述应用程序对应的更新数据模型。
3.根据权利要求2所述的界面更新方法,其特征在于,所述方法还包括:
接收服务器下发的所述应用程序的更新数据模型,所述更新数据模型是在所述应用程序运行过程中所述服务器下发的;
将所述应用程序的更新数据模型保存在本地的存储空间中。
4.根据权利要求2所述的界面更新方法,其特征在于,所述本地的存储空间为本地的缓存空间。
5.根据权利要求1所述的界面更新方法,其特征在于,所述采用所述渲染数据对所述用户界面进行渲染,生成并打开更新后的用户界面之后,所述方法还包括:
当再次检测到对所述用户界面的打开指令时,则直接打开更新后的用户界面。
6.根据权利要求1至5任一项所述的界面更新方法,其特征在于,所述对所述用户界面的打开指令是所述应用程序通过路由方式打开所述用户界面时发送的。
7.一种界面更新装置,其特征在于,所述装置应用于iOS端,所述装置包括:
获取模块,用于当检测到对应用程序的启动指令时,响应于应用程序的启动指令,获取对所述应用程序的用户界面进行更新的页面布局文件,所述页面布局文件是服务器基于获取的开发人员在应用程序原生开发基础上创建的类,并通过JSCore提供的JSExport协议将创建的类暴露给JavaScript端,进而基于开发人员使用JavaScript编写所需的用户界面的UI逻辑生成的;
解析模块,用于当检测到对所述用户界面的打开指令时,采用单例类解析对所述用户界面进行更新的页面布局文件,获取对所述用户界面更新的渲染数据;
更新模块,用于采用所述渲染数据对所述用户界面进行渲染,生成并打开更新后的用户界面;
所述获取模块具体用于:获取与所述应用程序对应的更新数据模型,所述更新数据模型是所述应用程序更新所需的数据结构,包括更新后的应用程序中各用户界面的页面布局文件;从所述更新数据模型中提取所述应用程序中需要更新的用户界面的页面布局文件,所述页面布局文件包括对应的控件布局及相应属性;
所述获取模块具体还用于:在接收到对所述应用程序的启动指令时,向服务器发送更新数据模型获取请求,所述更新数据模型获取请求用于指示所述服务器返回与所述应用程序对应的更新数据模型;接收所述服务器返回的与所述应用程序对应的更新数据模型,所述更新数据模型是采用JS语言对所述应用程序的原生用户界面***中各用户界面自定义的页面布局文件,所述自定义的页面布局文件包括对应的控件布局及相应属性;
所述解析模块具体用于:采用基于JSCore的单例类对所述页面布局文件进行语法解析,获取所述页面布局文件中对应的控件布局及相应属性,所述解析过程包括对所述页面布局文件进行语法解析;根据所述页面布局文件中对应的控件布局及相应属性,建立相应的数据结构,并生成对所述用户界面更新的渲染数据。
8.根据权利要求7所述的界面更新装置,其特征在于,所述获取模块具体还用于:
在接收到对所述应用程序的启动指令时,从本地的存储空间中获取与所述应用程序对应的更新数据模型。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202010731494.6A 2020-07-27 2020-07-27 界面更新方法、装置、计算机设备和存储介质 Active CN111857782B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010731494.6A CN111857782B (zh) 2020-07-27 2020-07-27 界面更新方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010731494.6A CN111857782B (zh) 2020-07-27 2020-07-27 界面更新方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN111857782A CN111857782A (zh) 2020-10-30
CN111857782B true CN111857782B (zh) 2021-11-16

Family

ID=72947684

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010731494.6A Active CN111857782B (zh) 2020-07-27 2020-07-27 界面更新方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN111857782B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112988155B (zh) * 2021-05-17 2021-08-31 成都数联铭品科技有限公司 基于数据模型驱动多种软件***界面变化的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1758794A (zh) * 2005-02-07 2006-04-12 中国联合通信有限公司 一种移动终端界面的生成方法及***
CN106293765A (zh) * 2016-08-23 2017-01-04 乐视控股(北京)有限公司 一种布局更新方法及装置
CN106815055A (zh) * 2017-02-15 2017-06-09 深圳创维-Rgb电子有限公司 移动应用动态布局的方法与***
CN106936871A (zh) * 2015-12-30 2017-07-07 阿里巴巴集团控股有限公司 界面展示数据的方法及装置
CN108804177A (zh) * 2018-05-23 2018-11-13 北京五八信息技术有限公司 更新界面视图的方法、装置、计算机设备及存储介质
CN109408086A (zh) * 2018-09-28 2019-03-01 平安普惠企业管理有限公司 App的界面更新方法、装置、计算机设备及存储介质

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108140089B (zh) * 2015-10-19 2021-05-07 日本电信电话株式会社 分析装置、分析方法以及记录介质
CN107391171B (zh) * 2017-06-14 2020-06-09 广东网金控股股份有限公司 一种解决iOS热修复问题的方法以及用户终端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1758794A (zh) * 2005-02-07 2006-04-12 中国联合通信有限公司 一种移动终端界面的生成方法及***
CN106936871A (zh) * 2015-12-30 2017-07-07 阿里巴巴集团控股有限公司 界面展示数据的方法及装置
CN106293765A (zh) * 2016-08-23 2017-01-04 乐视控股(北京)有限公司 一种布局更新方法及装置
CN106815055A (zh) * 2017-02-15 2017-06-09 深圳创维-Rgb电子有限公司 移动应用动态布局的方法与***
CN108804177A (zh) * 2018-05-23 2018-11-13 北京五八信息技术有限公司 更新界面视图的方法、装置、计算机设备及存储介质
CN109408086A (zh) * 2018-09-28 2019-03-01 平安普惠企业管理有限公司 App的界面更新方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN111857782A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
US11119812B2 (en) Method and device for processing application program page according to a common interface container
WO2021218327A1 (zh) 一种页面处理方法和相关装置
US20210216700A1 (en) Information Processing Method and System
US10831567B2 (en) Application processing method and apparatus
US10740114B2 (en) Component invoking method and apparatus, and component data processing method and apparatus
CN109901834B (zh) 文档页面生成方法、装置、计算机设备和存储介质
WO2018077085A1 (zh) 应用程序处理方法、装置及存储介质
CN109814854B (zh) 项目框架生成方法、装置、计算机设备和存储介质
CN111045655A (zh) 一种页面渲染的方法、装置、渲染服务器和存储介质
CN108021583B (zh) 页面加载方法及客户端
CN105518633A (zh) Web服务器***、应用开发辅助***、Web服务器***中的多语言支持方法、Web服务器***中的多设备支持方法以及应用开发辅助方法
CN111176629A (zh) 一种应用开发的方法和装置
US20110128291A1 (en) Program generation device, program generation method, and computer-readable storage medium
CN114996619A (zh) 一种页面显示的方法、装置、计算机设备及存储介质
CN112650487A (zh) 混合应用程序开发方法、***、计算机设备和存储介质
CN111596911A (zh) 生成控件的方法、装置、计算机设备和存储介质
WO2023082654A1 (zh) 一种业务交互图生成方法、装置、设备及存储介质
CN112506854A (zh) 页面模板文件的存储和页面生成方法、装置、设备及介质
CN117093316A (zh) 一种跨平台页面渲染***、电子设备及存储介质
CN111857782B (zh) 界面更新方法、装置、计算机设备和存储介质
CN110865863A (zh) 快应用的界面显示方法、装置及存储介质
CN110764864A (zh) 一种基于Terraform的可视化资源编排方法
CN106775608A (zh) 独立***进程的实现方法和装置
WO2022099913A1 (zh) 界面配置方法、装置、设备及介质
CN111666068B (zh) 一种平台开发框架、构建方法、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 503, 5 / F, C1 building, 88 Dongchang Road, Suzhou Industrial Park, 215000, Jiangsu Province

Applicant after: Qicha Technology Co.,Ltd.

Address before: Room 503, 5 / F, C1 building, 88 Dongchang Road, Suzhou Industrial Park, Suzhou, Jiangsu 210000

Applicant before: SUZHOU LANGDONG NET TEC Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: No. 8 Huizhi Street, Suzhou Industrial Park, Suzhou Area, China (Jiangsu) Pilot Free Trade Zone, Suzhou City, Jiangsu Province, 215000

Patentee after: Qichacha Technology Co.,Ltd.

Address before: Room 503, 5 / F, C1 building, 88 Dongchang Road, Suzhou Industrial Park, 215000, Jiangsu Province

Patentee before: Qicha Technology Co.,Ltd.