CN117762391A - 一种多平台的业务逻辑代码运行方法 - Google Patents

一种多平台的业务逻辑代码运行方法 Download PDF

Info

Publication number
CN117762391A
CN117762391A CN202410196427.7A CN202410196427A CN117762391A CN 117762391 A CN117762391 A CN 117762391A CN 202410196427 A CN202410196427 A CN 202410196427A CN 117762391 A CN117762391 A CN 117762391A
Authority
CN
China
Prior art keywords
engine
code
bridge
unity
layer
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
CN202410196427.7A
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.)
Happy Mutual Entertainment Shanghai Technology Co ltd
Original Assignee
Happy Mutual Entertainment Shanghai 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 Happy Mutual Entertainment Shanghai Technology Co ltd filed Critical Happy Mutual Entertainment Shanghai Technology Co ltd
Priority to CN202410196427.7A priority Critical patent/CN117762391A/zh
Publication of CN117762391A publication Critical patent/CN117762391A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Devices For Executing Special Programs (AREA)

Abstract

本发明属于通信技术领域,具体涉及一种多平台的业务逻辑代码运行方法,包括开发四个层级代码,分别为业务逻辑层、业务桥阶层、引擎桥阶层和引擎层:其中,四个层级代码的调用关系为:业务逻辑层代码可调用业务桥阶层代码或引擎桥阶层代码;业务桥阶层代码可调用引擎桥阶层代码;引擎桥阶层代码可调用引擎层代码。本发明可以实现一套业务逻辑代码运行在不同引擎上,构建出多平台的应用和游戏,同时方便日常开发调试和Web平台性能优化;利用Unity跨平台的稳定性、丰富的引擎功能和社区生态、先进的渲染管线,制作高质量原生应用和游戏;利用LayaAir在web平台可以方便调试、方便性能优化的优势,构建微信、抖音、网页等Web平台的小程序和小游戏。

Description

一种多平台的业务逻辑代码运行方法
技术领域
本发明涉及通信技术领域,特别涉及一种多平台的业务逻辑代码运行方法。
背景技术
在小程序、小游戏诞生之前,各软件、游戏研发商,大多采用平台原生的开发工具链进行开发,或者使用Unity、虚幻等引擎来进行跨平台开发。
如今随着微信、抖音、QQ、华为等厂商逐渐退出自己的小程序和小游戏平台,越来越多的开发者会在厂商提供的生态上进行软件开发和游戏开发。各厂商为小程序和小游戏的开发者,提供JavaScript语言的运行时,并提供各自平台的开发接口。
Unity作为传统游戏引擎,既可以制作应用软件也可以制作游戏软件,而且支持构建个人电脑(Windows系统、MacOS系统)、安卓系统、iOS系统、Web(使用WebGL标准进行渲染的平台,如网页、微信小程序等)、PlayStation(索尼游戏主机)等多平台软件。它有着诸多优点,在常用的移动端平台(安卓、iOS)上,Unity崩溃率低、对不同GPU渲染实现(opengl图形编程接口、vulkan图形编程接口、metal图形编程接口)兼容性好、能够实现优质的渲染效果。但是对于Web平台的导出,Unity导出的是WebAssembly(一种运行在现代网络浏览器中的字节码),对于开发调试、问题定位、平台优化都是非常不方便的。
LayaAir是一个H5游戏引擎,它主要专注于网页、各小程序(微信、抖音等)、各小游戏(微信、抖音等)的发布。它也可以发布PC、安卓、iOS平台,但官方并未适配Mac、PS平台。LayaAir的优势在于它是JavaScript开发,并且开源,对于web平台的发布天然友好(方便开发调试、源码优化)。但是LayaAir引擎功能较少(如缺少网格寻路、高性能粒子效果)、对渲染管线的封装简单(如缺少全局光照、材质捕获)、社区生态建设不够。
LayaAir引擎是一个运行时引擎,它的工作流为,先在Unity引擎中制作美术资产,然后导出为LayaAir可以识别的数据类型。所以Unity中制作的美术资产,可以同时供Unity和LayaAir引擎使用。
Puerts是腾讯开源的一套JavaScript运行环境,它可以实现JavaScript语言与游戏引擎(Unity、虚幻引擎)的通信。为“一套业务逻辑代码运行在不同引擎”提供了可能。
FairyGUI是一个跨引擎的开源UI解决方案,一套UI源文件,可以导出到不同游戏引擎。它对Unity、Laya等引擎都提供了自己的实现,能够做到各平台的表现高度一致。
目前缺少这样的解决方案,能实现一套业务逻辑代码,在方便开发调试的前提下,同时构建出多平台的应用和游戏。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成本领域普通技术人员已知的现有技术的信息。
发明内容
本发明的目的是为了解决背景技术存在的技术问题,为此,提供了一种多平台的业务逻辑代码运行方法。
为了实现上述目的,本发明所采用的技术方案如下:
一种多平台的业务逻辑代码运行方法,包括开发四个层级代码:
最上层:业务逻辑层;业务逻辑层代码为应用或游戏的业务代码;
第二层:业务桥阶层;业务桥阶层代码以GameBridges为命名空间,对不同引擎特性相同的功能独立实现,另外,管理资源加载与卸载;并向业务逻辑层提供统一的接口,根据不同业务需要进行跨引擎开发;
第三层:引擎桥阶层;引擎桥阶层代码以Engine为命名空间,封装Unity引擎、LayaAir引擎,向业务桥阶层和业务逻辑层提供统一的接口,以及统一FairyGUI API,向业务逻辑层提供相同2D UI接口;
最底层:引擎层;引擎层代码包括有LayaAir引擎和Unity引擎;使用LayaAir引擎构建Web平台软件或游戏;使用Unity引擎的跨平台构建能力,构建除Web以外的其他平台;
其中,四个层级代码的调用关系为:
业务逻辑层代码可调用业务桥阶层代码或引擎桥阶层代码;
业务桥阶层代码可调用引擎桥阶层代码;
引擎桥阶层代码可调用引擎层代码。
以下为本发明进一步限定的技术方案,采用TypeScript或JavaScript开发业务逻辑层代码、业务桥阶层代码和引擎桥阶层代码。
以下为本发明进一步限定的技术方案,为实现获取设备信息功能,在LayaAir引擎的实现为调用Web平台的接口,在Unity引擎的实现为调用Unity接口;
为实现资源管理,在LayaAir引擎的实现为管理从unity导出的LayaAir资源,在Unity引擎的实现为管理Unity引擎资源。
以下为本发明进一步限定的技术方案,应用或游戏在LayaAir引擎的启动流程包括:
加载LayaAir引擎代码;
加载LayaAir引擎桥阶层代码;
加载LayaAir业务桥阶层代码;
加载业务逻辑层代码。
以下为本发明进一步限定的技术方案,应用或游戏在Unity引擎的启动流程包括:
启动Unity软件;
加载Unity引擎桥阶层代码;
加载Unity业务桥阶层代码;
加载业务逻辑代码。
以下为本发明进一步限定的技术方案,引擎桥阶层提供统一接口包括:
对比LayaAir和Unity引擎,抽象Component概念为Engine.Component,在LayaAir引擎上Engine.Component = Laya.Script3D;在Unity引擎上,Engine.Component =CS.UnityEngine.Component;同理,Camera、Light、Transform可以进行相同处理;
对于LayaAir引擎的Laya.Sprite3D,可以类比为Unity的GameObject概念;对于LayaAir引擎的Laya.Scene3D,可以用Unity的GameObject来实现;
为Unity引擎添加Stage概念,与LayaAir对应;
为Unity引擎增加HttpRequest、WebSocket通信;
统一FairyGUI接口,以LayaAir引擎的FairyGUI API实现为标准,在引擎桥阶层开发一套代码,负责调用Unity的FairyGUI实现。
相对于现有技术,本发明具有如下技术效果:
本发明可以实现一套业务逻辑代码运行在不同引擎上,构建出多平台的应用和游戏,同时方便日常开发调试和Web平台性能优化;利用Unity跨平台的稳定性、丰富的引擎功能和社区生态、先进的渲染管线,制作高质量原生应用和游戏;利用LayaAir在web平台可以方便调试、方便性能优化的优势,构建微信、抖音、网页等Web平台的小程序和小游戏。
下面结合附图与实施例,对本发明进一步说明。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的结构框图;
图2是本发明的原理架构示意图;
图3是本发明中获取屏幕宽度的原理架构示意图;
图4是本发明中调用视频接口的原理架构示意图;
图5是本发明中实现一个3D场景的原理架构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施例的限制。
如图1和2所示,本实施例提供一种多平台的业务逻辑代码运行方法,可以实现一套业务逻辑代码运行在不同引擎上,构建出多平台的应用和游戏,同时方便日常开发调试和Web平台性能优化。
需要说明的是,在本实施例中的所有英文名称为本行业的专用名词,本领域技术人员可以清楚知悉这些英文名称代表的含义及其技术用途,且若将这些英文名称翻译成中文,会失去其原本的技术含义,从而造成词不达意的情况,因此,本实施例仍采用英文名称对本发明进行描述。
上述方法包括开发四个层级代码:
最上层:业务逻辑层。业务逻辑层代码为应用或游戏的业务代码。采用TypeScript或JavaScript开发。
第二层:业务桥阶层。业务桥阶层代码以GameBridges为命名空间,对不同引擎特性相同的功能独立实现,另外,管理资源加载与卸载;并向业务逻辑层提供统一的接口,根据不同业务需要进行跨引擎开发。采用TypeScript或JavaScript开发。针对相同功能,提供不同引擎的实现。比如:为获取设备信息功能,在LayaAir引擎的实现为调用微信、抖音等Web平台的接口;在Unity引擎的实现为调用Unity接口。又比如:为实现资源管理,在LayaAir引擎的实现为管理LayaAir的资源(从unity导出的LayaAir资源,如ls, lm, lmat等);在Unity引擎的实现为管理Unity引擎资源(prefab、网格、材质、纹理等)。
第三层:引擎桥阶层。引擎桥阶层代码以Engine为命名空间,封装Unity引擎、LayaAir引擎,向业务桥阶层和业务逻辑层提供统一的接口,以及统一FairyGUI API,向业务逻辑层提供相同2D UI接口;使用FairyGUI作为2D UI制作工具,它在Unity和LayaAir引擎都有实现,且表现一致。采用TypeScript或JavaScript开发。引擎桥阶层提供统一接口包括以下4点:
1、对比LayaAir和Unity引擎,抽象Component概念为Engine.Component,在LayaAir引擎上Engine.Component = Laya.Script3D;在Unity引擎上,Engine.Component= CS.UnityEngine.Component(该语法为Puerts提供,它提供了调用Unity引擎接口的能力);有了相似的概念,即可在TypeScript/JavaScript层统一接口。同理,Camera、Light、Transform可以进行相同处理;对于LayaAir引擎的Laya.Sprite3D,可以类比为Unity的GameObject概念;对于LayaAir引擎的Laya.Scene3D,可以用Unity的GameObject来实现;美术资产在Unity中制作,可以导出为LayaAir支持的格式(LayaAir官方提供导出插件)。
2、为Unity引擎添加Stage概念,与LayaAir对应。
3、为Unity引擎增加HttpRequest、WebSocket通信。
4、统一FairyGUI接口,以LayaAir引擎的FairyGUI API实现为标准,在引擎桥阶层开发一套适配代码,负责调用Unity的FairyGUI实现。如FairyGUI的GObject类,类中有将全局坐标转换为局部坐标的函数,在LayaAir引擎,该API为globalToLocal;在Unity引擎的C#实现中,为GlobalToLocal,存在大小写差异。那么在引擎桥阶层,需要为CS.FairyGUI.GObject.prototype添加一个globalToLocal函数,用来调用C#的GlobalToLocal。对于参数列表不一致的函数,也需要进行类似的适配。
最底层:引擎层。引擎层代码包括有LayaAir引擎和Unity引擎;使用LayaAir引擎构建Web平台软件或游戏;使用Unity引擎的跨平台构建能力,构建除Web以外的其他平台。由引擎桥阶层来调用不同引擎的实现。
其中,四个层级代码的调用关系为:
业务逻辑层代码可调用业务桥阶层代码或引擎桥阶层代码;
业务桥阶层代码可调用引擎桥阶层代码;
引擎桥阶层代码可调用引擎层代码。
综上,最底层的“引擎层”运行时,即为Unity和LayaAir引擎运行;在此之上,是对不同引擎的封装,称为“引擎桥接层”;再向上是“业务桥接层”,它对相同功能,提供不同引擎的实现;最上层为“业务逻辑层”,一套代码可以跑在不同引擎上。因此,通过以上四个层级代码,增加了第二层的“业务桥阶层”和第三层的“引擎桥阶层”后,即可实现一套“业务逻辑层”代码,运行在不同引擎环境下;从而可以充分利用Unity和LayaAir各自的优势。
应用或游戏在LayaAir引擎的启动流程包括:
加载LayaAir引擎代码;
加载LayaAir引擎桥阶层代码;
加载LayaAir业务桥阶层代码;
加载业务逻辑层代码。
应用或游戏在Unity引擎的启动流程包括:
启动Unity软件;
加载Unity引擎桥阶层代码;
加载Unity业务桥阶层代码;
加载业务逻辑代码。
下面以“获取屏幕宽度”、“调用视频接口”和“实现一个3D场景”为例,阐述代码运行流程:
一、获取屏幕宽度(如图3所示):
1、业务逻辑层,调用Engine.Browser.clientWidth函数。
2、Engine.Browser.clientWidth函数,在LayaAir引擎桥阶层实现为Engine.Browser = Laya.Browser;所以Engine.Browser.clientWidth即为调用LayaAir引擎提供的接口;在Unity引擎桥阶层,新建Browser类,添加clientWidth接口,调用CS.UnityEngine.Screen.Width(由Puerts去调用Unity引擎的函数,并返回宽度值)。
业务逻辑层只需要调用Engine命名空间的类和函数,即可获得不同平台的返回值,做到各平台接口统一。
二、调用视频接口(如图4所示):
1、业务逻辑层调用let video = GameBridges.VideoTemple.Create(url:string);video.Play()。
2、VideoTemple类在,在LayaAir业务桥阶层,是对Laya.Video的封装;在Unity业务桥阶层,是对UnityEngine.Video.VideoClip的封装。
业务逻辑层只需要调用GameBridges命名空间的类和函数,即可获得不同平台的返回值,做到各平台接口统一。
三、实现一个3D场景(如图5所示):
1、业务逻辑层调用GameBridges.Scene3dUITemple2.Create()函数,创建一个3D场景。
2、GameBridges.Scene3dUITemple2类,在LayaAir业务桥阶层,调用Engine.Scene, Engine.Camera, Engine.DirectLight, Engine.GameObject来创建场景,但是对于场景的位移,是通过移动相机来实现(因为各Web平台对图形渲染接口gl.viewport的实现存在偏差);在Unity引擎上,同样使用Engine.Scene,Engine.Camera,Engine.DirectLight, Engine.GameObject来创建场景,但是对于场景位移,是通过移动场景根节点来实现,不移动相机。
3、Engine.Scene,在LayaAir引擎桥阶层,为Engine.Scene = Laya.Scene3D,在Unity引擎桥阶层,Engine.Scene继承自Engine.GameObject。 Engine.Camera,在LayaAir引擎桥接层,为Engine.Camera = Laya.Camera,在Unity引擎桥阶层,Engine.Camera =CS.UnityEngine.Camera,并将Laya.Camera中特有的接口,添加到Engine.Camera.prototype原型链上。Engine.DirectLight在LayaAir引擎桥阶层,为Engine.DirectLight = Laya.DirectLight,在Unity引擎桥阶层,Engine.DirectLight =CS.UnityEngine.Light,并将Laya.DirectLight中特有的接口,添加到Engine.DirectLight.prototype原型链上。Engine.GameObject,在LayaAir引擎桥阶层,为Engine.GameObject = Laya.Sprite3D,在Unity引擎桥阶层,Engine.GameObject =CS.UnityEngine.GameObject,并将Laya.Sprite3D中特有的接口,添加到Engine.GameObject.prototype原型链上。
综上,业务逻辑层只需要调用GameBridges和Engine命名空间的函数,业务桥阶层只需要调用Engine命名空间的函数,即可实现一套业务代码,运行在不同平台上。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。故凡是未脱离本发明技术方案的内容,依据本发明之形状、构造及原理所作的等效变化,均应涵盖于本发明的保护范围内。

Claims (6)

1.一种多平台的业务逻辑代码运行方法,其特征在于,包括开发四个层级代码:
最上层:业务逻辑层;业务逻辑层代码为应用或游戏的业务代码;
第二层:业务桥阶层;业务桥阶层代码以GameBridges为命名空间,对不同引擎特性相同的功能独立实现,另外,管理资源加载与卸载;并向业务逻辑层提供统一的接口,根据不同业务需要进行跨引擎开发;
第三层:引擎桥阶层;引擎桥阶层代码以Engine为命名空间,封装Unity引擎、LayaAir引擎,向业务桥阶层和业务逻辑层提供统一的接口,以及统一FairyGUI API,向业务逻辑层提供相同2D UI接口;
最底层:引擎层;引擎层代码包括有LayaAir引擎和Unity引擎;使用LayaAir引擎构建Web平台软件或游戏;使用Unity引擎的跨平台构建能力,构建除Web以外的其他平台;
其中,四个层级代码的调用关系为:
业务逻辑层代码可调用业务桥阶层代码或引擎桥阶层代码;
业务桥阶层代码可调用引擎桥阶层代码;
引擎桥阶层代码可调用引擎层代码。
2.根据权利要求1所述的一种多平台的业务逻辑代码运行方法,其特征在于,采用TypeScript或JavaScript开发业务逻辑层代码、业务桥阶层代码和引擎桥阶层代码。
3.根据权利要求1所述的一种多平台的业务逻辑代码运行方法,其特征在于,为实现获取设备信息功能,在LayaAir引擎的实现为调用Web平台的接口,在Unity引擎的实现为调用Unity接口;
为实现资源管理,在LayaAir引擎的实现为管理从unity导出的LayaAir资源,在Unity引擎的实现为管理Unity引擎资源。
4.根据权利要求1所述的一种多平台的业务逻辑代码运行方法,其特征在于,应用或游戏在LayaAir引擎的启动流程包括:
加载LayaAir引擎代码;
加载LayaAir引擎桥阶层代码;
加载LayaAir业务桥阶层代码;
加载业务逻辑层代码。
5.根据权利要求1所述的一种多平台的业务逻辑代码运行方法,其特征在于,应用或游戏在Unity引擎的启动流程包括:
启动Unity软件;
加载Unity引擎桥阶层代码;
加载Unity业务桥阶层代码;
加载业务逻辑代码。
6.根据权利要求1所述的一种多平台的业务逻辑代码运行方法,其特征在于,引擎桥阶层提供统一接口包括:
对比LayaAir和Unity引擎,抽象Component概念为Engine.Component,在LayaAir引擎上Engine.Component = Laya.Script3D;在Unity引擎上,Engine.Component =CS.UnityEngine.Component;同理,Camera、Light、Transform进行相同处理;
对于LayaAir引擎的Laya.Sprite3D,类比为Unity的GameObject概念;对于LayaAir引擎的Laya.Scene3D,用Unity的GameObject来实现;
为Unity引擎添加Stage概念,与LayaAir对应;
为Unity引擎增加HttpRequest、WebSocket通信;
统一FairyGUI接口,以LayaAir引擎的FairyGUI API实现为标准,在引擎桥阶层开发一套代码,负责调用Unity的FairyGUI实现。
CN202410196427.7A 2024-02-22 2024-02-22 一种多平台的业务逻辑代码运行方法 Pending CN117762391A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410196427.7A CN117762391A (zh) 2024-02-22 2024-02-22 一种多平台的业务逻辑代码运行方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410196427.7A CN117762391A (zh) 2024-02-22 2024-02-22 一种多平台的业务逻辑代码运行方法

Publications (1)

Publication Number Publication Date
CN117762391A true CN117762391A (zh) 2024-03-26

Family

ID=90326110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410196427.7A Pending CN117762391A (zh) 2024-02-22 2024-02-22 一种多平台的业务逻辑代码运行方法

Country Status (1)

Country Link
CN (1) CN117762391A (zh)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140157246A1 (en) * 2012-12-04 2014-06-05 Zynga Inc. Building cross-platform asynchronous games
US20150081726A1 (en) * 2013-09-16 2015-03-19 Erez Izenberg Configurable parser and a method for parsing information units
CN106569799A (zh) * 2016-10-17 2017-04-19 搜游网络科技(北京)有限公司 程序处理方法及其设备
US20170173467A1 (en) * 2015-12-18 2017-06-22 Guangzhen Li Technologies for native game experience in web rendering engine
CN109254793A (zh) * 2018-09-20 2019-01-22 Oppo广东移动通信有限公司 引擎隔离方法、相关设备以及计算机可读存储介质
CN109684106A (zh) * 2018-12-24 2019-04-26 国网江苏省电力有限公司 一种支持多移动浏览器引擎加载运行的方法
CN112351094A (zh) * 2020-11-02 2021-02-09 深圳市安软科技股份有限公司 一种网页推送方法、装置、电子设备及存储介质
CN113625997A (zh) * 2021-07-20 2021-11-09 青岛小鸟看看科技有限公司 一种xr软件开发架构、应用方法和电子设备
US20220244930A1 (en) * 2020-06-03 2022-08-04 Tencent Technology (Shenzhen) Company Limited Application porting method and apparatus, device, and medium
US20220300262A1 (en) * 2021-03-18 2022-09-22 Boe Technology Group Co., Ltd. Method for constructing, running and implementing cross-platform application, terminal, server and system
CN116302366A (zh) * 2023-05-26 2023-06-23 阿里巴巴(中国)有限公司 面向终端开发的xr应用开发系统与方法、设备及介质
CN117009029A (zh) * 2023-05-26 2023-11-07 阿里巴巴(中国)有限公司 Xr应用与内容运行方法、设备及存储介质

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140157246A1 (en) * 2012-12-04 2014-06-05 Zynga Inc. Building cross-platform asynchronous games
US20150081726A1 (en) * 2013-09-16 2015-03-19 Erez Izenberg Configurable parser and a method for parsing information units
US20170173467A1 (en) * 2015-12-18 2017-06-22 Guangzhen Li Technologies for native game experience in web rendering engine
CN106569799A (zh) * 2016-10-17 2017-04-19 搜游网络科技(北京)有限公司 程序处理方法及其设备
CN109254793A (zh) * 2018-09-20 2019-01-22 Oppo广东移动通信有限公司 引擎隔离方法、相关设备以及计算机可读存储介质
CN109684106A (zh) * 2018-12-24 2019-04-26 国网江苏省电力有限公司 一种支持多移动浏览器引擎加载运行的方法
US20220244930A1 (en) * 2020-06-03 2022-08-04 Tencent Technology (Shenzhen) Company Limited Application porting method and apparatus, device, and medium
CN112351094A (zh) * 2020-11-02 2021-02-09 深圳市安软科技股份有限公司 一种网页推送方法、装置、电子设备及存储介质
US20220300262A1 (en) * 2021-03-18 2022-09-22 Boe Technology Group Co., Ltd. Method for constructing, running and implementing cross-platform application, terminal, server and system
CN113625997A (zh) * 2021-07-20 2021-11-09 青岛小鸟看看科技有限公司 一种xr软件开发架构、应用方法和电子设备
CN116302366A (zh) * 2023-05-26 2023-06-23 阿里巴巴(中国)有限公司 面向终端开发的xr应用开发系统与方法、设备及介质
CN117009029A (zh) * 2023-05-26 2023-11-07 阿里巴巴(中国)有限公司 Xr应用与内容运行方法、设备及存储介质

Similar Documents

Publication Publication Date Title
CN108984174B (zh) 跨平台的应用创建方法、装置、服务器和存储介质
US6243856B1 (en) System and method for encoding a scene graph
US9892205B2 (en) Declarative show and hide animations in markup languages
JP2015534145A (ja) 宣言テンプレートを使用してコントロールをスタンプアウトするためのユーザインターフェイスコントロールフレームワーク
CN112331235B (zh) 多媒体内容的编辑控制方法、装置、电子设备和存储介质
US8490117B1 (en) Bridging script engines
KR20140067018A (ko) 메타데이터를 이용하여 운영 체제의 네이티브 애플리케이션 프로그래밍 인터페이스를 기술하는 기법
CN110580174B (zh) 应用组件生成方法、服务器及终端
CN113032708A (zh) 一种无代码Web开发系统
CN111045668A (zh) 一种跨平台的移动端系统开发方法及装置
CN113918195A (zh) 应用界面更新方法、装置、电子设备及可读存储介质
CN116521181B (zh) 基于游戏系统的脚本数据处理方法、装置、设备及介质
US7743387B2 (en) Inheritance context for graphics primitives
CN117762391A (zh) 一种多平台的业务逻辑代码运行方法
CN111708519B (zh) 一种业务组件的处理方法、装置、设备和存储介质
CN112732252A (zh) 一种动态生成ui的方法、装置和电子设备
CN105183491A (zh) 跨平台的桌面gis系统及其启动方法
CN111309322A (zh) 一种基于规则式的响应式智能应用开发系统
US7444583B2 (en) Standard graphics specification and data binding
CN116595284B (zh) 网页系统运行方法、装置、设备、存储介质和程序
CN113485698B (zh) 渲染代码转换生成方法、装置、计算设备及存储介质
CN114546538B (zh) 一种基于osgi的虚拟仿真平台构建方法
WO2024021743A1 (zh) 数据处理方法、装置、设备以及可读存储介质
CN117971350A (zh) 小程序运行方法、装置和计算机可读存储介质
CN117014689A (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