CN104111855A - 一种基于Lua的iOS客户端功能动态更新的方法 - Google Patents

一种基于Lua的iOS客户端功能动态更新的方法 Download PDF

Info

Publication number
CN104111855A
CN104111855A CN201410367963.5A CN201410367963A CN104111855A CN 104111855 A CN104111855 A CN 104111855A CN 201410367963 A CN201410367963 A CN 201410367963A CN 104111855 A CN104111855 A CN 104111855A
Authority
CN
China
Prior art keywords
lua
class
userdata
functionality based
bridge
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
Application number
CN201410367963.5A
Other languages
English (en)
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.)
GUANGDONG NENGLONG EDUCATION Co Ltd
Original Assignee
GUANGDONG NENGLONG EDUCATION 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 GUANGDONG NENGLONG EDUCATION Co Ltd filed Critical GUANGDONG NENGLONG EDUCATION Co Ltd
Priority to CN201410367963.5A priority Critical patent/CN104111855A/zh
Publication of CN104111855A publication Critical patent/CN104111855A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于Lua的iOS客户端功能动态更新的方法,包括以下步骤:A、将用Lua脚本语言编写的业务逻辑代码放置在服务端的指定位置,同时在服务端配置相关客户端App代码模块的版本号;B、客户端启动运行时,通过访问服务端、查询相关App代码模块的版本号,根据版本号下载需要更新的Lua脚本业务逻辑代码;C、当客户端执行到App代码模块时,通过LuaCAPI动态地加载已经下载好的Lua脚本业务逻辑代码,并通过已经集成到客户端程序中的Lua解析器和桥接器来解析执行所述Lua脚本业务逻辑代码,以达到动态更新的目的。

Description

一种基于Lua的iOS客户端功能动态更新的方法
技术领域
本发明涉及iOS客户端,尤其是一种基于Lua的iOS客户端功能动态更新的方法。
背景技术
对于一个已经上线苹果商店的App,当开发者需要对客户端进行更新时,最传统的做法是将重新编译生成的完整的App提交到苹果商店,等待苹果商店的审核,当审核通过后,用户可以重新下载安装App以达到更新的目的。
由于iOS平台限制了不允许以动态的方式加载由原生代码编译生成的可执行程序,意味着开发者不可以以动态链接库的方式来组织App的软件架构,也就意味着不可以通过单独更新动态链接库来完成对客户端App的更新。
如果采用传统的方式更新客户端,由于从提交给苹果商店审核到审核通过往往需要耗费较长的等待时间,导致我们的更新版本不能迅速地传递到客户的移动设备上,用户也需要重新下载安装整个客户端App。
一种与本发明相近的实现方案是基于Javascript脚本语言和内置于iOS的WebKit框架的Web App,通过WebKit下载和解析执行Javascript脚本代码,同样可以达到动态更新客户端功能的目的。
如果客户端是做成基于Javascript和WebKit的Web App的方式,更新客户端不需要经过审核,非常便捷,用户也无需重新下载安装整个App,但Web App的运行依赖于WebKit,受Javascript解析库的执行性能的影响,使得用户体验与原生App相比存在一定差距。
名词解释:
Lua:由标准C编写而成的脚本语言,在所有操作***和平台上都可以编译,运行;Lua是一种嵌入式脚本语言,即Lua不是可以单独运行的程序,在实际应用中,通过Lua提供的C API完成C/C++代码两种语言之间的通信的;
iOS:苹果移动设备操作***;
App:应用软件;
JavaScript:是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML(标准通用标记语言的子集)网页添加动态功能,比如响应用户的各种操作;
WebKit是开源的Web浏览器引擎,苹果的Safari、谷歌的Chrome浏览器都是基于这个框架来开发的。WebKit 还支持移动设备和手机,包括iPhone和Android手机都是使用WebKit做为浏览器的核心。
发明内容
针对上述缺点,本发明提出一种基于Lua的iOS客户端功能动态更新的方法,既可以达到客户端在无需提交审核的情况下及时更新的目的,用户也无需重新下载安装一次App,同时能够保持良好的用户体验。
本发明采用的技术方案是:
一种基于Lua的iOS客户端功能动态更新的方法,包括以下步骤:
A、将用Lua脚本语言编写的业务逻辑代码放置在服务端的指定位置,同时在服务端配置相关客户端App代码模块的版本号;
B、客户端启动运行时,通过访问服务端、查询相关App代码模块的版本号,根据版本号下载需要更新的Lua脚本业务逻辑代码;
C、当客户端执行到App代码模块时,通过Lua C API动态地加载已经下载好的Lua脚本业务逻辑代码,并通过已经集成到客户端程序中的Lua解析器来解析执行所述Lua脚本业务逻辑代码,以达到动态更新的目的。 
作为本方案的进一步改进,其还包括一桥接器,该桥接器用于转换Lua解析器不能解析的代码。
具体的,所述桥接器包括标识Object-C类对象和实例对象的userdata结构,该结构作为Lua中的userdata数据类型存在,该结构中存放着指向Object-C对象的指针和其他标识信息,与对象相关的操作基本上在这个结构的基础上完成。
进一步的,所述桥接器将与Object-C对象对应的userdata结构以key-value对的方式存放在两个映射表中,其中key为userdata结构中的Object-C对象的指针,value为userdata结构。
所述两个映射表中,其中一个表是弱表,存储了在Lua层面创建的Object-C对象的弱引用;另一个表是用于保存在桥接器层面创建的Object-C对象,是一个强引用表。
其中,所述桥接器包括Object-C类对象的创建、为一个类注册新方法以及对方法的调用。
进一步的,所述Object-C类对象的创建包括:在Lua元函数中通过定义的类名称字符串和Object-C的运行时API创建一个类,并构造Lua可以识别的userdata类型的结构,再将该userdata结构放入上述的两个映射表中。
上述为一个类注册新方法的过程为:通过Object-C的运行时API给一个类注册新的方法,该运行时API为class_addMethod,该class_addMethod接收一个IMP类型的函数指针,该函数指针指向这个新方法的实现。
所述方法调用的过程为:在桥接器的元方法index里将方法的调用作为一个闭包压入Lua当前维护的堆栈中,在元方法newindex中进行方法的覆盖。
所述方法调用在闭包中是完成Object-C层面的事情,先从Lua中获取当前调用的方法的名称,由方法名称通过Object-C的运行时API-sel_getUid获取到已注册的方法名称对应的方法标识-SEL,再根据方法标识由Object-C层面的API生成NSMethodSignature对象,然后由NSMethodSignature对象构造NSInvocation对象,最后由NSInvocation对象完成方法的调用。
本发明的有益效果:
本发明可以快速地迭代更新客户端,用户无需重新下载安装App,在大多数情况下,更新脚本量不会很大,更新过程不会影响用户的使用体验,最重要是Lua脚本解析器具有优秀的性能,使得客户端App能够保持良好的用户体验。
附图说明
下面结合附图对本发明的具体实施方式做进一步的说明。
图1是本发明的***架构图;
图2是本发明的动态更新方法流程图。
具体实施方式
本技术方案基于以下技术基础:
1. Lua的设计理念是可以使它粘合其他的开发语言,它提供了一系列的Lua C API,根据其规范,我们可以编写一系列的元函数,作为Lua与其他语言编写的应用程序的粘合代码。
2. Object-C作为一种动态语言,提供了运行时丰富的API,提供了根据类名称来动态反射类对象、根据方法名称来动态绑定方法等特性。
3. Object-C可以方便地于C混合编程,为粘合代码的编写提供支持。
如图1-图2所示,为本发明的一种基于Lua的iOS客户端功能动态更新的***及方法,该方法包括以下步骤:
A、将用Lua脚本语言编写的业务逻辑代码放置在服务端的指定位置,同时在服务端配置相关客户端App代码模块的版本号;
B、客户端启动运行时,通过访问服务端、查询相关App代码模块的版本号,根据版本号下载需要更新的Lua脚本业务逻辑代码;
C、当客户端执行到App代码模块时,通过Lua C API动态地加载已经下载好的Lua脚本业务逻辑代码,并通过已经集成到客户端程序中的Lua解析器和桥接器来解析执行所述Lua脚本业务逻辑代码,该桥接器用于转换Lua解析器不能解析的代码,以达到动态更新的目的。
下面针对上述步骤C展开阐述其实现方式:
桥接器主要维护了标识Object-C类对象和实例对象的userdata结构,该结构作为Lua中的userdata数据类型存在。该结构中存放着指向Object-C对象的指针和其他标识信息,与对象相关的操作基本上都是在这个结构的基础上完成。
    桥接器将上述与Object-C对象对应的userdata结构以key-value对的方式存放在两个表中,其中key为userdata结构中的Object-C对象的指针,value为userdata结构。其中一个表是弱表,存储了在Lua层面创建的Object-C对象的弱引用,当对象不再使用时会调用桥接器编写的__gc这个元方法来销毁对象。另一个表是用于保存在桥接器层面创建的Object-C对象,是一个强引用表,需要手动管理内存,框架运行时通过一个定时器不停地轮询这个表中的对象的引用计数,如果小于2,就会销毁对象。
如前面所述,我们可以编写一系列的元函数,作为Lua与Object-C的粘合代码,其中最核心的是在粘合代码中实现Object-C类、对象的创建以及对方法的调用。
1.  Object-C类对象的创建:
为了创建Object-C类对象,可以在Lua元函数中通过定义的类名称字符串和Object-C的运行时API(objc_getClass)创建一个类,并构造Lua可以识别的userdata类型的结构,再将该userdata结构放入上述的两个映射表中。
2.  为一个类注册新方法
通过Object-C的运行时API(class_addMethod)给一个类注册新的方法,class_addMethod接收一个IMP类型的函数指针,该函数指针指向这个新方法的实现。在Lua和Object-C的桥接器中,IMP函数包含了用户在Lua层面写的方法,也包括这个方法的参数和返回值在ObjC与Lua中的相互转换。也就是当调用一个Lua写的方法时会先把参数转化为Lua可识别的数据类型,然后由Lua C API中的lua_pcall函数调用Lua方法,执行完成后再把返回结果转换成ObjC类型。
3.  方法的调用
在桥接器的元方法__index里将方法的调用作为一个闭包(closure)压入Lua当前维护的堆栈中,在元方法__newindex中进行方法的override。在closure中主要是完成ObjC层面的事情,先从Lua中获取当前调用的方法的名称,由方法名称通过Object-C的运行时API(sel_getUid)获取到已注册的方法名称对应的方法标识(SEL),再根据方法标识由ObjC层面的API生成NSMethodSignature(NSMethodSignature存储了该方法的参数类型、数量和返回值类型)。然后由NSMethodSignature构造NSInvocation,最后由NSInvocation完成方法的调用。
以上所述仅为本发明的优先实施方式,本发明并不限定于上述实施方式,只要以基本相同手段实现本发明目的的技术方案都属于本发明的保护范围之内。

Claims (10)

1.一种基于Lua的iOS客户端功能动态更新的方法,其特征在于包括以下步骤:
A、将用Lua脚本语言编写的业务逻辑代码放置在服务端的指定位置,同时在服务端配置相关客户端App代码模块的版本号;
B、客户端启动运行时,通过访问服务端、查询相关App代码模块的版本号,根据版本号下载需要更新的Lua脚本业务逻辑代码;
C、当客户端执行到App代码模块时,通过Lua C API动态地加载已经下载好的Lua脚本业务逻辑代码,并通过已经集成到客户端程序中的Lua解析器来解析执行所述Lua脚本业务逻辑代码,以达到动态更新的目的。
2.根据权利要求1所述的一种基于Lua的iOS客户端功能动态更新的方法,其特征在于:其还包括一桥接器,该桥接器用于转换Lua解析器不能解析的代码。
3.根据权利要求2所述的一种基于Lua的iOS客户端功能动态更新的方法,其特征在于:所述桥接器包括标识Object-C类对象和实例对象的userdata结构,该结构作为Lua中的userdata数据类型存在,该结构中存放着指向Object-C对象的指针和其他标识信息,与对象相关的操作基本上在这个结构的基础上完成。
4.根据权利要求3所述的一种基于Lua的iOS客户端功能动态更新的方法,其特征在于: 所述桥接器将与Object-C对象对应的userdata结构以key-value对的方式存放在两个映射表中,其中key为userdata结构中的Object-C对象的指针,value为userdata结构。
5.根据权利要求4所述的一种基于Lua的iOS客户端功能动态更新的方法,其特征在于: 所述两个映射表中,其中一个表是弱表,存储了在Lua层面创建的Object-C对象的弱引用;另一个表是用于保存在桥接器层面创建的Object-C对象,是一个强引用表。
6.根据权利要求5所述的一种基于Lua的iOS客户端功能动态更新的方法,其特征在于:所述桥接器包括Object-C类对象的创建、为一个类注册新方法以及对方法的调用。
7.根据权利要求6所述的一种基于Lua的iOS客户端功能动态更新的方法,其特征在于: 所述Object-C类对象的创建包括:在Lua元函数中通过定义的类名称字符串和Object-C的运行时API创建一个类,并构造Lua可以识别的userdata类型的结构,再将该userdata结构放入上述的两个映射表中。
8.根据权利要求6所述的一种基于Lua的iOS客户端功能动态更新的方法,其特征在于: 上述为一个类注册新方法的过程为:通过Object-C的运行时API给一个类注册新的方法,该运行时API为class_addMethod,该class_addMethod接收一个IMP类型的函数指针,该函数指针指向这个新方法的实现。
9.根据权利要求6所述的一种基于Lua的iOS客户端功能动态更新的方法,其特征在于: 所述方法调用的过程为:在桥接器的元方法index里将方法的调用作为一个闭包压入Lua当前维护的堆栈中,在元方法newindex中进行方法的覆盖。
10.根据权利要求9所述的一种基于Lua的iOS客户端功能动态更新的方法,其特征在于: 所述方法调用在闭包中是完成Object-C层面的事情,先从Lua中获取当前调用的方法的名称,由方法名称通过Object-C的运行时API-sel_getUid获取到已注册的方法名称对应的方法标识-SEL,再根据方法标识由Object-C层面的API生成NSMethodSignature对象,然后由NSMethodSignature对象构造NSInvocation对象,最后由NSInvocation对象完成方法的调用。
CN201410367963.5A 2014-07-29 2014-07-29 一种基于Lua的iOS客户端功能动态更新的方法 Pending CN104111855A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410367963.5A CN104111855A (zh) 2014-07-29 2014-07-29 一种基于Lua的iOS客户端功能动态更新的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410367963.5A CN104111855A (zh) 2014-07-29 2014-07-29 一种基于Lua的iOS客户端功能动态更新的方法

Publications (1)

Publication Number Publication Date
CN104111855A true CN104111855A (zh) 2014-10-22

Family

ID=51708655

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410367963.5A Pending CN104111855A (zh) 2014-07-29 2014-07-29 一种基于Lua的iOS客户端功能动态更新的方法

Country Status (1)

Country Link
CN (1) CN104111855A (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104363212A (zh) * 2014-10-31 2015-02-18 北京思特奇信息技术股份有限公司 一种基于Lua的socket通信语义解析方法、适配器和应用***
CN106155729A (zh) * 2015-04-21 2016-11-23 阿里巴巴集团控股有限公司 Lua脚本热更新方法、装置及***
CN106227554A (zh) * 2016-07-08 2016-12-14 百度在线网络技术(北京)有限公司 一种在ios***中进行应用热更新的方法和装置
CN106547520A (zh) * 2015-09-16 2017-03-29 腾讯科技(深圳)有限公司 一种代码路径分析方法及装置
CN107092472A (zh) * 2016-08-19 2017-08-25 口碑控股有限公司 一种动态发布方法及设备
CN107423079A (zh) * 2017-03-10 2017-12-01 武汉斗鱼网络科技有限公司 一种同步脚本的方法、解析消息的方法和设备
CN108304205A (zh) * 2018-01-30 2018-07-20 努比亚技术有限公司 一种应用程序的更新方法、终端及计算机可读存储介质
CN108399074A (zh) * 2018-01-30 2018-08-14 努比亚技术有限公司 一种应用程序的更新方法、终端及计算机可读存储介质
CN108737899A (zh) * 2018-03-30 2018-11-02 上海极链网络科技有限公司 视频互动***动态更新方案
CN108845810A (zh) * 2018-05-23 2018-11-20 北京五八信息技术有限公司 一种应用动态更新的方法、装置、电子设备及存储介质
CN108874418A (zh) * 2018-05-23 2018-11-23 北京五八信息技术有限公司 Ui组件的更新方法、装置、终端及计算机可读存储介质
CN108920379A (zh) * 2018-07-18 2018-11-30 苏州思必驰信息科技有限公司 捕获lua代码异常的方法和装置
CN109298877A (zh) * 2018-09-17 2019-02-01 北京智明星通科技股份有限公司 游戏更新方法及***、终端和计算机可读存储介质
CN110020370A (zh) * 2017-12-25 2019-07-16 阿里巴巴集团控股有限公司 在客户端应用中实现动画的方法、装置及动画脚本的框架
CN110209413A (zh) * 2019-05-05 2019-09-06 阿里巴巴集团控股有限公司 一种应用更新方法和装置
CN110489124A (zh) * 2019-07-12 2019-11-22 浙江口碑网络技术有限公司 源代码执行方法、装置、存储介质及计算机设备
CN110597581A (zh) * 2019-08-02 2019-12-20 北京奇艺世纪科技有限公司 动态ui***对外交互方法、装置、电子设备及存储介质
CN110874226A (zh) * 2018-08-29 2020-03-10 山东华软金盾软件股份有限公司 一种android***功能升级的方法
CN111061468A (zh) * 2019-12-20 2020-04-24 北京爱奇艺科技有限公司 一种映射方法及装置
CN112631565A (zh) * 2020-12-25 2021-04-09 深圳云之家网络有限公司 业务融合方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092665A (zh) * 2013-03-01 2013-05-08 畅捷通信息技术股份有限公司 即时更新装置和即时更新方法
CN103353845A (zh) * 2013-06-28 2013-10-16 贵阳朗玛信息技术股份有限公司 脚本加载、推送方法及装置
CN103605551A (zh) * 2013-11-28 2014-02-26 金蝶软件(中国)有限公司 一种基于ios程序的插件更新方法、***及相关设备
CN103731445A (zh) * 2012-10-10 2014-04-16 上海宝信软件股份有限公司 一种基于ios的应用智能更新***及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103731445A (zh) * 2012-10-10 2014-04-16 上海宝信软件股份有限公司 一种基于ios的应用智能更新***及方法
CN103092665A (zh) * 2013-03-01 2013-05-08 畅捷通信息技术股份有限公司 即时更新装置和即时更新方法
CN103353845A (zh) * 2013-06-28 2013-10-16 贵阳朗玛信息技术股份有限公司 脚本加载、推送方法及装置
CN103605551A (zh) * 2013-11-28 2014-02-26 金蝶软件(中国)有限公司 一种基于ios程序的插件更新方法、***及相关设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GEEKERPROBE: ""Wax Lua-使用lua编写原生ios程序的框架实现原理"", 《HTTP://WWW.TUICOOL.COM/ARTICLES/AV77FY》 *
朱克锋-盒子人: ""基于wax的lua IOS插件开发"", 《HTTP://BLOG.CSDN.NET/LINUX_ZKF/ARTICLE/DETAILS/17123275》 *

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104363212A (zh) * 2014-10-31 2015-02-18 北京思特奇信息技术股份有限公司 一种基于Lua的socket通信语义解析方法、适配器和应用***
CN104363212B (zh) * 2014-10-31 2018-10-19 北京思特奇信息技术股份有限公司 一种基于Lua的socket通信语义解析方法和应用***
CN106155729A (zh) * 2015-04-21 2016-11-23 阿里巴巴集团控股有限公司 Lua脚本热更新方法、装置及***
CN106155729B (zh) * 2015-04-21 2020-02-14 阿里巴巴集团控股有限公司 Lua脚本热更新方法、装置及***
CN106547520A (zh) * 2015-09-16 2017-03-29 腾讯科技(深圳)有限公司 一种代码路径分析方法及装置
CN106547520B (zh) * 2015-09-16 2021-05-28 腾讯科技(深圳)有限公司 一种代码路径分析方法及装置
CN106227554A (zh) * 2016-07-08 2016-12-14 百度在线网络技术(北京)有限公司 一种在ios***中进行应用热更新的方法和装置
CN107092472A (zh) * 2016-08-19 2017-08-25 口碑控股有限公司 一种动态发布方法及设备
CN107423079A (zh) * 2017-03-10 2017-12-01 武汉斗鱼网络科技有限公司 一种同步脚本的方法、解析消息的方法和设备
CN110020370A (zh) * 2017-12-25 2019-07-16 阿里巴巴集团控股有限公司 在客户端应用中实现动画的方法、装置及动画脚本的框架
CN110020370B (zh) * 2017-12-25 2023-03-14 阿里巴巴集团控股有限公司 在客户端应用中实现动画的方法、装置及动画脚本的框架
CN108399074A (zh) * 2018-01-30 2018-08-14 努比亚技术有限公司 一种应用程序的更新方法、终端及计算机可读存储介质
CN108304205A (zh) * 2018-01-30 2018-07-20 努比亚技术有限公司 一种应用程序的更新方法、终端及计算机可读存储介质
CN108737899A (zh) * 2018-03-30 2018-11-02 上海极链网络科技有限公司 视频互动***动态更新方案
CN108874418A (zh) * 2018-05-23 2018-11-23 北京五八信息技术有限公司 Ui组件的更新方法、装置、终端及计算机可读存储介质
CN108845810B (zh) * 2018-05-23 2022-04-22 北京五八信息技术有限公司 一种应用动态更新的方法、装置、电子设备及存储介质
CN108874418B (zh) * 2018-05-23 2022-04-05 北京五八信息技术有限公司 Ui组件的更新方法、装置、终端及计算机可读存储介质
CN108845810A (zh) * 2018-05-23 2018-11-20 北京五八信息技术有限公司 一种应用动态更新的方法、装置、电子设备及存储介质
CN108920379B (zh) * 2018-07-18 2022-01-11 思必驰科技股份有限公司 捕获lua代码异常的方法和装置
CN108920379A (zh) * 2018-07-18 2018-11-30 苏州思必驰信息科技有限公司 捕获lua代码异常的方法和装置
CN110874226B (zh) * 2018-08-29 2023-05-02 山东华软金盾软件股份有限公司 一种android***功能升级的方法
CN110874226A (zh) * 2018-08-29 2020-03-10 山东华软金盾软件股份有限公司 一种android***功能升级的方法
CN109298877B (zh) * 2018-09-17 2021-10-19 北京智明星通科技股份有限公司 游戏更新方法及***、终端和计算机可读存储介质
WO2020057253A1 (en) * 2018-09-17 2020-03-26 Beijing Elex Technology Co., Ltd Method and system for game updating, terminal and computer readable storage medium
CN109298877A (zh) * 2018-09-17 2019-02-01 北京智明星通科技股份有限公司 游戏更新方法及***、终端和计算机可读存储介质
CN110209413A (zh) * 2019-05-05 2019-09-06 阿里巴巴集团控股有限公司 一种应用更新方法和装置
CN110489124A (zh) * 2019-07-12 2019-11-22 浙江口碑网络技术有限公司 源代码执行方法、装置、存储介质及计算机设备
CN110597581A (zh) * 2019-08-02 2019-12-20 北京奇艺世纪科技有限公司 动态ui***对外交互方法、装置、电子设备及存储介质
CN111061468A (zh) * 2019-12-20 2020-04-24 北京爱奇艺科技有限公司 一种映射方法及装置
CN111061468B (zh) * 2019-12-20 2023-10-10 北京爱奇艺科技有限公司 一种映射方法及装置
CN112631565A (zh) * 2020-12-25 2021-04-09 深圳云之家网络有限公司 业务融合方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
CN104111855A (zh) 一种基于Lua的iOS客户端功能动态更新的方法
CN104793946B (zh) 基于云计算平台的应用部署方法和***
KR102281052B1 (ko) 이동 단말 애플리케이션 업데이트 방법 및 장치
CN104731589A (zh) 用户界面的自动生成方法及自动生成装置
CN106686200B (zh) 移动应用程序更新方法、移动终端及更新***
CN109669692B (zh) 源码共享方法、服务器、计算机可读存储介质及***
WO2011156743A2 (en) Methods for utilizing a javascript emulator in a web content proxy server and devices thereof
CN103049320A (zh) 在浏览器中启动外部应用程序的方法和装置
US10191751B2 (en) Information processing device for generating application programming interface information
CN104615462A (zh) 跨平台的移动应用生成服务端及***
CN106372250A (zh) 通过url协议启动本地应用的参数传递方法及装置
CN108170430B (zh) 一种界面展示的方法及***
CN104267972A (zh) 浏览器本地接口扩展方法及装置
CN112035112A (zh) 应用程序开发方法、***、介质和电子设备
CN109240733A (zh) 一种基于安卓***更新广告sdk的方法及终端
CN107193565B (zh) 跨移动端开发原生app的方法
CN116719523A (zh) 页面渲染方法及电子设备
CN110109671B (zh) 一种webpack标签尺寸样式转换方法及装置
CN108804120B (zh) 一种页面构建方法、装置、设备及存储介质
CN106293790B (zh) 基于Firefox操作***的应用程序升级方法和装置
CN101876998A (zh) 一种实现数据编辑的方法和***
CN114116062A (zh) 一种在鸿蒙兼容运行安卓h5的方法、设备、存储介质
CN105094787B (zh) 企业互联网应用的处理方法及装置
CN107239265B (zh) Java函数与C函数的绑定方法及装置
CN109857374B (zh) 移动应用的开发方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20141022