CN110806856A - 一种数据加载方法、装置及电子设备 - Google Patents
一种数据加载方法、装置及电子设备 Download PDFInfo
- Publication number
- CN110806856A CN110806856A CN201911043181.5A CN201911043181A CN110806856A CN 110806856 A CN110806856 A CN 110806856A CN 201911043181 A CN201911043181 A CN 201911043181A CN 110806856 A CN110806856 A CN 110806856A
- Authority
- CN
- China
- Prior art keywords
- application
- interface template
- terminal
- application interface
- version information
- 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.)
- Pending
Links
- 238000011068 loading method Methods 0.000 title claims abstract description 67
- 238000000034 method Methods 0.000 claims description 20
- 230000010365 information processing Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 7
- 230000006837 decompression Effects 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 238000011161 development Methods 0.000 description 44
- 230000006870 function Effects 0.000 description 18
- 238000009877 rendering Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 230000007547 defect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种数据加载方法、装置及电子设备,在终端的应用程序启动、且终端内保存的应用程序的应用界面模板的版本信息与服务器内存储的所述应用程序的版本信息一致,即终端内保存的应用界面模板为最新版本时,直接从终端内获取到该应用程序的应用界面模板,不需要在从服务器获取,本地获取仅需要通过预设原生接口获取即可,不需要占用网络资源,进而减少了终端对该应用界面模板的加载时间,提高了用户体验。
Description
技术领域
本发明涉及移动端业务支撑系统设计和开发领域,更具体的说,涉及一种数据加载方法、装置及电子设备。
背景技术
随着安卓Android和iOS移动设备的普及以及网络环境质量的不断提升,手机上的应用程序越来越多,应用开发也越来越普及。另一方面,随着手机厂家的不断加入,Android和iOS设备的碎片化程度也越来越高,预计在未来可见的几年内,两种设备的共同发展和并存将是一个稳定的形态,这就意味着绝大多数的手机应用都需要同时面对Android和iOS两种设备的用户。但Android应用程序和iOS应用程序基于不同的平台开发,如Android应用程序主要使用计算机编程语言Java语言和C++语言开发,iOS应用程序使用扩充C的面向对象编程语言Objetive-C语言开发,除此之外还有一些根据不同设备的硬件适配问题,导致针对应用程序的跨平台开发对应用程序具体业务的开发团队在成本上和管理上都提出了很高的要求。
目前针对应用程序跨平台开发问题的解决方案为:使用网络视图webview加载服务端页面实现业务的方式,Android和iOS原生开发框架均提供了webview视图,通过简单的调用即可实现页面的加载和业务功能的调用。但此方案的缺点非常明显,由于加载的是远端页面,因此页面的加载和渲染受网络影响较大,应用程序加载时间较长,导致用户体验较差。
发明内容
有鉴于此,本发明提供一种数据加载方法、装置及电子设备,以解决使用网络视图webview加载服务端页面实现业务的方式受网络影响较大,应用程序加载时间较长,导致用户体验较差的问题。
为解决上述技术问题,本发明采用了如下技术方案:
一种数据加载方法,包括:
在终端的应用程序启动时,获取所述终端保存的与所述应用程序对应的应用界面模板的应用版本信息;
若所述应用版本信息与所述应用程序对应的服务器内存储的所述应用程序的版本信息一致,则通过所述终端的预设原生接口获取所述终端保存的所述应用界面模板,并加载所述应用界面模板。
可选地,判断所述版本信息与所述应用程序对应的服务器内存储的所述应用程序的版本信息一致的过程包括:
与所述服务器建立通信连接,并获取所述服务器内存储的所述应用程序的版本信息;
判断所述应用版本信息与所述版本信息是否一致。
可选地,通过所述终端的预设原生接口获取所述终端保存的所述应用界面模板,包括:
判断所述终端是否保存有自定义资源名称的应用界面模板;
若有,则获取所述自定义资源名称的应用界面模板;
若否,则获取预设应用界面模板,并作为所述应用界面模板。
可选地,还包括:
若所述应用版本信息与所述应用程序对应的服务器内存储的所述应用程序的版本信息不一致,从所述服务器下载所述服务器保存的所述应用程序的最新应用界面模板;
对所述最新应用界面模板进行解压缩和解密操作,得到初始应用界面模板;
加载所述初始应用界面模板。
可选地,还包括:
将所述终端内保存的所述应用界面模板替换为所述初始应用界面模板。
一种数据加载装置,包括:
信息获取模块,用于在终端的应用程序启动时,获取所述终端保存的与所述应用程序对应的应用界面模板的应用版本信息;
信息处理模块,用于若所述应用版本信息与所述应用程序对应的服务器内存储的所述应用程序的版本信息一致,则通过所述终端的预设原生接口获取所述终端保存的所述应用界面模板,并加载所述应用界面模板。
可选地,还包括判断模块,所述判断模块用于:
与所述服务器建立通信连接,并获取所述服务器内存储的所述应用程序的版本信息,判断所述应用版本信息与所述版本信息是否一致。
可选地,所述信息处理模块用于通过所述终端的预设原生接口获取所述终端保存的所述应用界面模板时,具体用于:
判断所述终端是否保存有自定义资源名称的应用界面模板;
若有,则获取所述自定义资源名称的应用界面模板;
若否,则获取预设应用界面模板,并作为所述应用界面模板。
可选地,还包括:
数据下载模块,用于若所述应用版本信息与所述应用程序对应的服务器内存储的所述应用程序的版本信息不一致,从所述服务器下载所述服务器保存的所述应用程序的最新应用界面模板;
数据处理模块,用于对所述最新应用界面模板进行解压缩和解密操作,得到初始应用界面模板,并加载所述初始应用界面模板。
可选地,还包括:
数据替换模块,用于将所述终端内保存的所述应用界面模板替换为所述初始应用界面模板。
一种电子设备,包括:存储器和处理器;
其中,所述存储器用于存储程序;
处理器调用程序并用于:
在终端的应用程序启动时,获取所述终端保存的与所述应用程序对应的应用界面模板的应用版本信息;
若所述应用版本信息与所述应用程序对应的服务器内存储的所述应用程序的版本信息一致,则通过所述终端的预设原生接口获取所述终端保存的所述应用界面模板,并加载所述应用界面模板。
相较于现有技术,本发明具有以下有益效果:
本发明提供了一种数据加载方法、装置及电子设备,在终端的应用程序启动、且终端内保存的应用程序的应用界面模板的版本信息与服务器内存储的所述应用程序的版本信息一致,即终端内保存的应用界面模板为最新版本时,直接从终端内获取到该应用程序的应用界面模板,不需要在从服务器获取,本地获取仅需要通过预设原生接口获取即可,不需要占用网络资源,进而减少了终端对该应用界面模板的加载时间,提高了用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种数据加载方法的方法流程图;
图2为本发明实施例提供的一种模板引擎的逻辑结构图;
图3为本发明实施例提供的一种数据加载装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了避免使用网络视图webview加载服务端页面实现业务的方式受网络影响较大,应用程序加载时间较长,导致用户体验较差的问题,特提出本发明实施例中的数据加载方法,参照图1,可以包括:
S11、在终端的应用程序启动时,获取所述终端保存的与所述应用程序对应的应用界面模板的应用版本信息。
为了实现本发明实施例中的数据加载方法,对应用程序的webview控件进行了调整,具体参照图2,图2为模板引擎的逻辑结构。
其中,1、模板引擎部分,即为本发明实施例的核心功能部分,该部分在客户端手机软件APP中执行,针对资源模板进行渲染和加载,使得页面在APP中呈现。应用界面模板的加载,仍然使用Android和iOS原生开发框架中的webview控件进行加载,界面元素即HTML页面及CSS样式,可称之为模板。加载模板的时候,从框架设定的本地路径下找到模板文件并通过设备上的webview进行HTML语法渲染即可展现,因此界面模板只需要开发一次即可在不同设备上运行,实现了跨平台的目标。界面模板由四类元素组成:HTML5、CSS、JS(全称javascript)、图片,可实现基于Web视图的跨平台。图片本身作为一种资源来使用,在页面渲染加载的时候,有一些页面元素本身是以图片形式展现的。在Android和iOS双平台实现统一标准的模板语法解析,实现模板引擎跨平台。配合插件的跨平台,可实现一个基于模板引擎的跨平台功能界面。模板中的javascript(简称为JS)程序通过原生接口对客户端程序进行调用,在客户端进行接口逻辑的调用,这样一方面渲染与数据完全分离,实现了真正意义上的跨平台模板加载保证了用户体验,另一方面解决了javascript调用数据接口的跨域问题,使得业务逻辑被正常执行。
2、原生接口层,即通过资源模板中的javascript代码调用原生应用的逻辑功能,原生应用只需要实现对应的接口,即可响应资源模板的javascript发起的调用;原生程序接口由Android和iOS程序提供,但是本发明实施例中,在javascript程序中进行了较好的封装,使得业务调用中按照规范统一调用即可,不会有复杂的技能要求。在本实施例实际使用中,如果有特殊应用场景需要分别在Android和iOS手机上调用原生应用的功能,本模板引擎还提供了一套原生的接口,开发人员只需要遵循规范开发原生接口即可实现功能调用。
3、原生功能,即原生应用程序编程接口
API调用的代码,向上实现了插件接口,向下实现了具体的软硬件业务逻辑,使得系统原生能力被客户端资源模板进行使用。原生功能包括网络请求、蓝牙和本地存储等功能,本实施例中主要使用的是本地存储功能。
在上述模板引擎的逻辑结构的实施例的基础上,讲解本发明的步骤S11。具体的,应用界面模板不像现有技术一样在应用程序的服务器,即服务端执行并下载,而是在进入应用程序时即进行下载、解压以及解密,之后的加载和渲染都在客户端本地进行,这样大大减少了加载的等候时间,很大程度地提高了用户体验,用户在业务功能的使用过程中几乎感受不到加载和渲染的过程。
但是上述的下载、解压以及解密过程仅限于第一次服务器下载,当第二次加载应用界面模板时,可以首先使用本地保存,即终端保存的引用界面模板,但是需要注意的是,此时需要验证本地保存的应用界面模板是否是最新版本。由于服务器存储的应用程序的版本信息是最新的,进而判断是否是最新版本的过程即是判断终端保存的与所述应用程序对应的应用界面模板的应用版本信息与所述应用程序对应的服务器内存储的所述应用程序的版本信息是否一致的过程。而执行该过程的前提是获取终端保存的与所述应用程序对应的应用界面模板的应用版本信息以及与服务器建立通信连接,获取所述应用程序对应的服务器内存储的所述应用程序的版本信息。其中,应用版本信息和版本信息均为资源版本号,如V1.0、V2.0等等。
S12、判断应用版本信息与所述应用程序对应的服务器内存储的所述应用程序的版本信息是否一致;若一致,执行步骤S13;若不一致,执行步骤S14。
S13、通过所述终端的预设原生接口获取所述终端保存的所述应用界面模板,并加载所述应用界面模板。
在实际应用中,比较是否一致,即为比较应用版本信息的版本信息的内容是否一致,如若均为V2.0,则一致;若一个为V1.0,一个为V2.0,则不一致。
若二者一致,即可认为终端本地保存的应用界面模板是最新版本,则可以直接获取该应用界面模板,并加载即可,应用界面模板加载完成后,即进行页面渲染,页面渲染完成后,用户即可看到应用程序的界面。需要说明的是,本实施例中的预设原生接口即为上述图2中的原生接口层。
需要说明的是,在获取应用界面模板时,配置文件中会配置默认加载的模板资源名称,如果加载时有具体的模板资源名称,则通过模板资源名称找到对应的模板资源(即为自定义资源名称的应用界面模板)进行加载,否则加载默认的模板资源(即为预设应用界面模板)。其中,默认加载的模板资源名称为Index首页配置。
本实施例可以实现本地加载,前端页面加载和后端数据提供彻底分离。页面均在本地加载,加载效率得到极大的提高,并且加载和数据彻底分离,如果没有数据,等同于加载忽略了模板语法的静态界面,程序屏蔽了数据缺失的异常处理,界面会正常显示,不会报错。也即是说,理论上没有数据也可以进行加载,用户体验达到了原生页面同等水平。
另外,本发明实施例可以提供原生插件扩展能力,理论上可以适应设备本身能够支撑的所有业务场景:在业务场景的渲染和数据加载上实现了模板引擎,彻底屏蔽了复杂业务逻辑的开发,但是在需要进行特殊设备能力应用的时候提供了开发接口,有一定的Android和iOS设备开发能力的团队可以根据自己的需要,依据规范进行原生程序开发,而在调用上仍然没有任何特殊化要求。
S14、从所述服务器下载所述服务器保存的所述应用程序的最新应用界面模板。
S15、对所述最新应用界面模板进行解压缩和解密操作,得到初始应用界面模板。
S16、加载所述初始应用界面模板。
在步骤S14-S16中,若应用版本信息与所述应用程序对应的服务器内存储的所述应用程序的版本信息不一致,即本地保存的应用界面模板不是最新版本,此时仍采用从服务器下载最新的应用界面模板、然后解压、解密,得到最新的应用界面模板,本实施例中称为初始应用界面模板,然后进行加载即可。
需要注意的是,在得到初始应用界面模板之后,需要将本地的资源版本号更新为与服务器最新版本号一致,即将所述终端内保存的所述应用界面模板替换为所述初始应用界面模板,以便下次使用。
本实施例中,在终端的应用程序启动、且终端内保存的应用程序的应用界面模板的版本信息与服务器内存储的所述应用程序的版本信息一致,即终端内保存的应用界面模板为最新版本时,直接从终端内获取到该应用程序的应用界面模板,不需要在从服务器获取,本地获取仅需要通过预设原生接口获取即可,不需要占用网络资源,进而减少了终端对该应用界面模板的加载时间,提高了用户体验。
另外,本发明实施例在解决移动端跨平台的业务系统开发过程中有一定的优势,能够较大地提高开发效率,并且由于前端页面的渲染和逻辑执行都是本地,因此在用户体验上跟一般的业务应用也有很大的提升,达到与纯原生应用在响应和体验方面的同等水平,同时又保留了极低的开发门槛,使得基础开发人员可以在短时间能上手并使用本框架进行业务开发。
此外,还可以以facebook的react native为代表的跨平台开发框架,与之类似的还有微信小程序,淘宝推出的weex等,这类框架的方式是定义一套自身的脚本语言以及一些xml规范下的页面布局方式等,来进行统一开发,在运行时,框架根据脚本语言和设备情况进行转化,生成Android和iOS设备上的原生控件;此方案因为生成了原生控件,因此在用户体验上相较加载远端页面的方案有了较大程度的提高,与原生控件的体验的差距被很大程度的缩小,但是其带来了新的缺点----为了基于新框架进行开发,开发人员不得不学习一门全新的开发规范极其对应的特殊“语言”,并且在此框架下开发的功能,脱离了框架完全无法运行,其功能需要移植到其他平台或者框架的话,代码几乎需要全部重写。本发明实施例与该方案相比,使用本发明实施例的开发者在开发业务逻辑时仅需要使用通用的HTML、CSS和javascript进行开发,其调试还可以在电脑浏览器上进行,仅仅在特殊硬件功能的调用和打包发布中需要掌握简单通用的客户端开发技术,对于开发人员来说,其开发的页面都是普通的web页面,完全使用HTML、CSS和javascript进行开发,与开发其他web应用程序在整体上没有区别,进而降低了开发技术人员的学习难度。
可选的,在上述数据加载方法的实施例的基础上,本发明的另一实施例提供了一种数据加载装置,参照图3,可以包括:
信息获取模块101,用于在终端的应用程序启动时,获取所述终端保存的与所述应用程序对应的应用界面模板的应用版本信息;
信息处理模块102,用于若所述应用版本信息与所述应用程序对应的服务器内存储的所述应用程序的版本信息一致,则通过所述终端的预设原生接口获取所述终端保存的所述应用界面模板,并加载所述应用界面模板。
进一步,还包括判断模块,所述判断模块用于:
与所述服务器建立通信连接,并获取所述服务器内存储的所述应用程序的版本信息,判断所述应用版本信息与所述版本信息是否一致。
进一步,所述信息处理模块用于通过所述终端的预设原生接口获取所述终端保存的所述应用界面模板时,具体用于:
判断所述终端是否保存有自定义资源名称的应用界面模板;
若有,则获取所述自定义资源名称的应用界面模板;
若否,则获取预设应用界面模板,并作为所述应用界面模板。
进一步,还包括:
数据下载模块,用于若所述应用版本信息与所述应用程序对应的服务器内存储的所述应用程序的版本信息不一致,从所述服务器下载所述服务器保存的所述应用程序的最新应用界面模板;
数据处理模块,用于对所述最新应用界面模板进行解压缩和解密操作,得到初始应用界面模板,并加载所述初始应用界面模板。
进一步,还包括:
数据替换模块,用于将所述终端内保存的所述应用界面模板替换为所述初始应用界面模板。
本实施例中,在终端的应用程序启动、且终端内保存的应用程序的应用界面模板的版本信息与服务器内存储的所述应用程序的版本信息一致,即终端内保存的应用界面模板为最新版本时,直接从终端内获取到该应用程序的应用界面模板,不需要在从服务器获取,本地获取仅需要通过预设原生接口获取即可,不需要占用网络资源,进而减少了终端对该应用界面模板的加载时间,提高了用户体验。
另外,本发明实施例在解决移动端跨平台的业务系统开发过程中有一定的优势,能够较大地提高开发效率,并且由于前端页面的渲染和逻辑执行都是本地,因此在用户体验上跟一般的业务应用也有很大的提升,达到与纯原生应用在响应和体验方面的同等水平,同时又保留了极低的开发门槛,使得基础开发人员可以在短时间能上手并使用本框架进行业务开发。
此外,还可以以facebook的react native为代表的跨平台开发框架,与之类似的还有微信小程序,淘宝推出的weex等,这类框架的方式是定义一套自身的脚本语言以及一些xml规范下的页面布局方式等,来进行统一开发,在运行时,框架根据脚本语言和设备情况进行转化,生成Android和iOS设备上的原生控件;此方案因为生成了原生控件,因此在用户体验上相较加载远端页面的方案有了较大程度的提高,与原生控件的体验的差距被很大程度的缩小,但是其带来了新的缺点----为了基于新框架进行开发,开发人员不得不学习一门全新的开发规范极其对应的特殊“语言”,并且在此框架下开发的功能,脱离了框架完全无法运行,其功能需要移植到其他平台或者框架的话,代码几乎需要全部重写。本发明实施例与该方案相比,使用本发明实施例的开发者在开发业务逻辑时仅需要使用通用的HTML、CSS和javascript进行开发,其调试还可以在电脑浏览器上进行,仅仅在特殊硬件功能的调用和打包发布中需要掌握简单通用的客户端开发技术,对于开发人员来说,其开发的页面都是普通的web页面,完全使用HTML、CSS和javascript进行开发,与开发其他web应用程序在整体上没有区别,进而降低了开发技术人员的学习难度。
需要说明的是,本实施例中的各个模块的工作过程,请参照上述实施例中的相应说明,在此不再赘述。
可选的,在上述数据加载方法的实施例的基础上,本发明的另一实施例提供了一种电子设备,可以包括:存储器和处理器;
其中,所述存储器用于存储程序;
处理器调用程序并用于:
在终端的应用程序启动时,获取所述终端保存的与所述应用程序对应的应用界面模板的应用版本信息;
若所述应用版本信息与所述应用程序对应的服务器内存储的所述应用程序的版本信息一致,则通过所述终端的预设原生接口获取所述终端保存的所述应用界面模板,并加载所述应用界面模板。
进一步,判断所述版本信息与所述应用程序对应的服务器内存储的所述应用程序的版本信息一致的过程包括:
与所述服务器建立通信连接,并获取所述服务器内存储的所述应用程序的版本信息;
判断所述应用版本信息与所述版本信息是否一致。
进一步,通过所述终端的预设原生接口获取所述终端保存的所述应用界面模板,包括:
判断所述终端是否保存有自定义资源名称的应用界面模板;
若有,则获取所述自定义资源名称的应用界面模板;
若否,则获取预设应用界面模板,并作为所述应用界面模板。
进一步,还包括:
若所述应用版本信息与所述应用程序对应的服务器内存储的所述应用程序的版本信息不一致,从所述服务器下载所述服务器保存的所述应用程序的最新应用界面模板;
对所述最新应用界面模板进行解压缩和解密操作,得到初始应用界面模板;
加载所述初始应用界面模板。
进一步,还包括:
将所述终端内保存的所述应用界面模板替换为所述初始应用界面模板。
本实施例中,在终端的应用程序启动、且终端内保存的应用程序的应用界面模板的版本信息与服务器内存储的所述应用程序的版本信息一致,即终端内保存的应用界面模板为最新版本时,直接从终端内获取到该应用程序的应用界面模板,不需要在从服务器获取,本地获取仅需要通过预设原生接口获取即可,不需要占用网络资源,进而减少了终端对该应用界面模板的加载时间,提高了用户体验。
另外,本发明实施例在解决移动端跨平台的业务系统开发过程中有一定的优势,能够较大地提高开发效率,并且由于前端页面的渲染和逻辑执行都是本地,因此在用户体验上跟一般的业务应用也有很大的提升,达到与纯原生应用在响应和体验方面的同等水平,同时又保留了极低的开发门槛,使得基础开发人员可以在短时间能上手并使用本框架进行业务开发。
此外,还可以以facebook的react native为代表的跨平台开发框架,与之类似的还有微信小程序,淘宝推出的weex等,这类框架的方式是定义一套自身的脚本语言以及一些xml规范下的页面布局方式等,来进行统一开发,在运行时,框架根据脚本语言和设备情况进行转化,生成Android和iOS设备上的原生控件;此方案因为生成了原生控件,因此在用户体验上相较加载远端页面的方案有了较大程度的提高,与原生控件的体验的差距被很大程度的缩小,但是其带来了新的缺点----为了基于新框架进行开发,开发人员不得不学习一门全新的开发规范极其对应的特殊“语言”,并且在此框架下开发的功能,脱离了框架完全无法运行,其功能需要移植到其他平台或者框架的话,代码几乎需要全部重写。本发明实施例与该方案相比,使用本发明实施例的开发者在开发业务逻辑时仅需要使用通用的HTML、CSS和javascript进行开发,其调试还可以在电脑浏览器上进行,仅仅在特殊硬件功能的调用和打包发布中需要掌握简单通用的客户端开发技术,对于开发人员来说,其开发的页面都是普通的web页面,完全使用HTML、CSS和javascript进行开发,与开发其他web应用程序在整体上没有区别,进而降低了开发技术人员的学习难度。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (11)
1.一种数据加载方法,其特征在于,包括:
在终端的应用程序启动时,获取所述终端保存的与所述应用程序对应的应用界面模板的应用版本信息;
若所述应用版本信息与所述应用程序对应的服务器内存储的所述应用程序的版本信息一致,则通过所述终端的预设原生接口获取所述终端保存的所述应用界面模板,并加载所述应用界面模板。
2.根据权利要求1所述的数据加载方法,其特征在于,判断所述版本信息与所述应用程序对应的服务器内存储的所述应用程序的版本信息一致的过程包括:
与所述服务器建立通信连接,并获取所述服务器内存储的所述应用程序的版本信息;
判断所述应用版本信息与所述版本信息是否一致。
3.根据权利要求1所述的数据加载方法,其特征在于,通过所述终端的预设原生接口获取所述终端保存的所述应用界面模板,包括:
判断所述终端是否保存有自定义资源名称的应用界面模板;
若有,则获取所述自定义资源名称的应用界面模板;
若否,则获取预设应用界面模板,并作为所述应用界面模板。
4.根据权利要求1所述的数据加载方法,其特征在于,还包括:
若所述应用版本信息与所述应用程序对应的服务器内存储的所述应用程序的版本信息不一致,从所述服务器下载所述服务器保存的所述应用程序的最新应用界面模板;
对所述最新应用界面模板进行解压缩和解密操作,得到初始应用界面模板;
加载所述初始应用界面模板。
5.根据权利要求4所述的数据加载方法,其特征在于,还包括:
将所述终端内保存的所述应用界面模板替换为所述初始应用界面模板。
6.一种数据加载装置,其特征在于,包括:
信息获取模块,用于在终端的应用程序启动时,获取所述终端保存的与所述应用程序对应的应用界面模板的应用版本信息;
信息处理模块,用于若所述应用版本信息与所述应用程序对应的服务器内存储的所述应用程序的版本信息一致,则通过所述终端的预设原生接口获取所述终端保存的所述应用界面模板,并加载所述应用界面模板。
7.根据权利要求6所述的数据加载装置,其特征在于,还包括判断模块,所述判断模块用于:
与所述服务器建立通信连接,并获取所述服务器内存储的所述应用程序的版本信息,判断所述应用版本信息与所述版本信息是否一致。
8.根据权利要求6所述的数据加载装置,其特征在于,所述信息处理模块用于通过所述终端的预设原生接口获取所述终端保存的所述应用界面模板时,具体用于:
判断所述终端是否保存有自定义资源名称的应用界面模板;
若有,则获取所述自定义资源名称的应用界面模板;
若否,则获取预设应用界面模板,并作为所述应用界面模板。
9.根据权利要求6所述的数据加载装置,其特征在于,还包括:
数据下载模块,用于若所述应用版本信息与所述应用程序对应的服务器内存储的所述应用程序的版本信息不一致,从所述服务器下载所述服务器保存的所述应用程序的最新应用界面模板;
数据处理模块,用于对所述最新应用界面模板进行解压缩和解密操作,得到初始应用界面模板,并加载所述初始应用界面模板。
10.根据权利要求9所述的数据加载装置,其特征在于,还包括:
数据替换模块,用于将所述终端内保存的所述应用界面模板替换为所述初始应用界面模板。
11.一种电子设备,其特征在于,包括:存储器和处理器;
其中,所述存储器用于存储程序;
处理器调用程序并用于:
在终端的应用程序启动时,获取所述终端保存的与所述应用程序对应的应用界面模板的应用版本信息;
若所述应用版本信息与所述应用程序对应的服务器内存储的所述应用程序的版本信息一致,则通过所述终端的预设原生接口获取所述终端保存的所述应用界面模板,并加载所述应用界面模板。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911043181.5A CN110806856A (zh) | 2019-10-30 | 2019-10-30 | 一种数据加载方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911043181.5A CN110806856A (zh) | 2019-10-30 | 2019-10-30 | 一种数据加载方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110806856A true CN110806856A (zh) | 2020-02-18 |
Family
ID=69489634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911043181.5A Pending CN110806856A (zh) | 2019-10-30 | 2019-10-30 | 一种数据加载方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110806856A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111432265A (zh) * | 2020-03-31 | 2020-07-17 | 腾讯科技(深圳)有限公司 | 一种处理视频画面的方法、相关装置及存储介质 |
CN114518912A (zh) * | 2022-02-21 | 2022-05-20 | 度小满科技(北京)有限公司 | 一种页面加载方法、装置、设备及可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060134397A (ko) * | 2005-06-22 | 2006-12-28 | (주)에이티솔루션 | 모바일 단말기용 어플리케이션 갱신 시스템 |
CN103023941A (zh) * | 2011-09-26 | 2013-04-03 | 腾讯科技(深圳)有限公司 | 基于Web页面的终端应用程序的更新方法及更新系统 |
CN107491320A (zh) * | 2017-06-26 | 2017-12-19 | 北京五八信息技术有限公司 | 基于混合模式移动应用的载入方法和装置 |
CN108304207A (zh) * | 2018-03-01 | 2018-07-20 | 上海找钢网信息科技股份有限公司 | 混合app应用程序的资源更新方法及系统 |
CN108874412A (zh) * | 2017-05-16 | 2018-11-23 | 北京海鲸科技有限公司 | 用于更新界面布局的方法、装置、设备及系统 |
CN110377360A (zh) * | 2019-07-12 | 2019-10-25 | 深圳市酷开网络科技有限公司 | webview快速加载的方法、显示终端及计算机可读存储介质 |
CN110377361A (zh) * | 2019-07-15 | 2019-10-25 | 北京奇艺世纪科技有限公司 | 数据加载方法、装置、计算机设备和存储介质 |
-
2019
- 2019-10-30 CN CN201911043181.5A patent/CN110806856A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060134397A (ko) * | 2005-06-22 | 2006-12-28 | (주)에이티솔루션 | 모바일 단말기용 어플리케이션 갱신 시스템 |
CN103023941A (zh) * | 2011-09-26 | 2013-04-03 | 腾讯科技(深圳)有限公司 | 基于Web页面的终端应用程序的更新方法及更新系统 |
CN108874412A (zh) * | 2017-05-16 | 2018-11-23 | 北京海鲸科技有限公司 | 用于更新界面布局的方法、装置、设备及系统 |
CN107491320A (zh) * | 2017-06-26 | 2017-12-19 | 北京五八信息技术有限公司 | 基于混合模式移动应用的载入方法和装置 |
CN108304207A (zh) * | 2018-03-01 | 2018-07-20 | 上海找钢网信息科技股份有限公司 | 混合app应用程序的资源更新方法及系统 |
CN110377360A (zh) * | 2019-07-12 | 2019-10-25 | 深圳市酷开网络科技有限公司 | webview快速加载的方法、显示终端及计算机可读存储介质 |
CN110377361A (zh) * | 2019-07-15 | 2019-10-25 | 北京奇艺世纪科技有限公司 | 数据加载方法、装置、计算机设备和存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111432265A (zh) * | 2020-03-31 | 2020-07-17 | 腾讯科技(深圳)有限公司 | 一种处理视频画面的方法、相关装置及存储介质 |
CN111432265B (zh) * | 2020-03-31 | 2021-08-31 | 腾讯科技(深圳)有限公司 | 一种处理视频画面的方法、相关装置及存储介质 |
CN114518912A (zh) * | 2022-02-21 | 2022-05-20 | 度小满科技(北京)有限公司 | 一种页面加载方法、装置、设备及可读存储介质 |
CN114518912B (zh) * | 2022-02-21 | 2023-04-25 | 度小满科技(北京)有限公司 | 一种页面加载方法、装置、设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170147323A1 (en) | Method and electronic device for upgrading software development kit of an application | |
CN107741844B (zh) | 一种应用安装包的生成方法和装置 | |
CN111580879A (zh) | 小程序的运行方法、装置、电子设备及计算机存储介质 | |
CN104821954A (zh) | 一种跨平台远程过程调用方法 | |
CN101123676A (zh) | 显示设备、图像处理设备及用于升级其控制程序的方法 | |
CN112954717B (zh) | 基于h5页面的家电配网方法和装置 | |
CN106230977B (zh) | 一种客户端功能加载方法、系统、客户端和服务端 | |
US20140258891A1 (en) | Electronic device, storage medium and method for processing information | |
CN110908704A (zh) | 一种移动端跨平台原生功能的调用方法及装置 | |
CN110806856A (zh) | 一种数据加载方法、装置及电子设备 | |
CN110825448A (zh) | 实现多业务模块相互调用的方法、装置、电子设备和存储介质 | |
CN111625260A (zh) | 基于混合移动应用程序升级的方法、系统 | |
CN114168460A (zh) | 混合开发中前端代码的远程调试方法、设备及存储介质 | |
CN112214250A (zh) | 一种应用程序组件的加载方法和装置 | |
CN107438097B (zh) | 网络请求处理方法及装置 | |
CN110221855B (zh) | 一种app与服务器协同更新和离线运行的方法 | |
CN110727416B (zh) | 开发框架的生成方法及相关装置 | |
CN106919375B (zh) | 一种移动终端设备上的屏幕自适应方法及系统 | |
CN107515763A (zh) | 一种应用程序及其安装资源的处理方法及服务器、终端设备 | |
US12022284B2 (en) | System and methods for over-the-air SIM profile transfer | |
CN104182331A (zh) | 浏览器性能测试方法、系统及终端 | |
CN113840275B (zh) | 终端会话连接的确认方法、usim、终端、设备及介质 | |
CN109669679B (zh) | 服务检测及处理方法、装置及电子设备 | |
CN113709171A (zh) | 一种用于跨组件状态通信的方法和装置 | |
CN109714470B (zh) | 一种基于nodejs实现手机应用模块化的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200218 |