CN104111855A - 一种基于Lua的iOS客户端功能动态更新的方法 - Google Patents
一种基于Lua的iOS客户端功能动态更新的方法 Download PDFInfo
- 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
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
技术领域
本发明涉及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对象完成方法的调用。
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)
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)
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的应用智能更新系统及方法 |
-
2014
- 2014-07-29 CN CN201410367963.5A patent/CN104111855A/zh active Pending
Patent Citations (4)
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)
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)
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) | 이동 단말 애플리케이션 업데이트 방법 및 장치 | |
US20110307238A1 (en) | Methods for utilizing a javascript emulator in a web content proxy server and devices thereof | |
CN104731589A (zh) | 用户界面的自动生成方法及自动生成装置 | |
CN106686200B (zh) | 移动应用程序更新方法、移动终端及更新系统 | |
CN109669692B (zh) | 源码共享方法、服务器、计算机可读存储介质及系统 | |
CN103049320A (zh) | 在浏览器中启动外部应用程序的方法和装置 | |
US10191751B2 (en) | Information processing device for generating application programming interface information | |
CN104615462A (zh) | 跨平台的移动应用生成服务端及系统 | |
CN113703862B (zh) | 基于配置的接口调用方法、装置、设备及存储介质 | |
CN106372250A (zh) | 通过url协议启动本地应用的参数传递方法及装置 | |
CN108170430B (zh) | 一种界面展示的方法及系统 | |
CN104267972A (zh) | 浏览器本地接口扩展方法及装置 | |
CN109240733A (zh) | 一种基于安卓系统更新广告sdk的方法及终端 | |
CN112035112A (zh) | 应用程序开发方法、系统、介质和电子设备 | |
CN106257418A (zh) | 用于通过使用辅助应用来评价应用的技术 | |
CN117093286B (zh) | 插件生成方法、装置、设备及计算机可读存储介质 | |
CN106775754A (zh) | 应用的兼容性处理方法及装置 | |
CN110109671B (zh) | 一种webpack标签尺寸样式转换方法及装置 | |
CN108804120B (zh) | 一种页面构建方法、装置、设备及存储介质 | |
CN114116062A (zh) | 一种在鸿蒙兼容运行安卓h5的方法、设备、存储介质 | |
CN107193565B (zh) | 跨移动端开发原生app的方法 | |
CN109857374B (zh) | 移动应用的开发方法及装置 | |
CN116719523A (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 |