CN117348948B - 一种在自有App上运行的小程序引擎 - Google Patents

一种在自有App上运行的小程序引擎 Download PDF

Info

Publication number
CN117348948B
CN117348948B CN202311647205.4A CN202311647205A CN117348948B CN 117348948 B CN117348948 B CN 117348948B CN 202311647205 A CN202311647205 A CN 202311647205A CN 117348948 B CN117348948 B CN 117348948B
Authority
CN
China
Prior art keywords
applet
file
engine
app
jsx
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
CN202311647205.4A
Other languages
English (en)
Other versions
CN117348948A (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.)
Nanjing Zhangkong Network Science & Technology Co ltd
Original Assignee
Nanjing Zhangkong Network Science & 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 Nanjing Zhangkong Network Science & Technology Co ltd filed Critical Nanjing Zhangkong Network Science & Technology Co ltd
Priority to CN202311647205.4A priority Critical patent/CN117348948B/zh
Publication of CN117348948A publication Critical patent/CN117348948A/zh
Application granted granted Critical
Publication of CN117348948B publication Critical patent/CN117348948B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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)
  • Stored Programmes (AREA)

Abstract

本发明提出一种在自有App上运行的小程序引擎,所述小程序引擎通过所述自有App上的接口和机制集成在自有App中;所述小程序引擎包括编译器和文档对象模型接口;所述编译器用于获取所述自有App响应于用户的触发操作而发送的小程序文件,并将所述小程序文件转换为JSX组件,然后将JSX组件发送给所述文档对象模型接口;所述文档对象模型接口用于激活所述JSX组件,以使所述JSX组件运行,并将所述JSX组件运行时生成的所述渲染指令传送到所述自有App的渲染引擎,以使所述渲染引擎在所述自有App中完成所述小程序页面的渲染。该小程序引擎能够不依赖第三方平台,直接在自有App上运行小程序。

Description

一种在自有App上运行的小程序引擎
技术领域
本发明涉及计算机技术领域,具体涉及一种在自有App上运行的小程序引擎。
背景技术
随着移动互联网的快速发展,越来越多的企业和个人开始使用微信小程序、支付宝小程序等进行业务拓展。然而,这些第三方平台的小程序功能有限,且需要与后端服务器进行频繁的数据交互,导致很大的局限性。
当前,市场上出现了一些基于云原生的小程序引擎,如FinClip、mpaas、uniapp等。这些引擎虽然提升了一定的开发效率,但仍存在一定的局限性,如需要额外搭建服务器环境、数据安全性较低等。
FinClip:FinClip是一种将小程序嵌入到App中的解决方案,与本发明类似。然而需要额外搭建服务器环境,数据安全性较低,且依赖于FinCinp IDE等特定工具。
mpaas:mpaas是移动开发平台,提供了小程序、App开发的一体化解决方案。但是在不同平台间切换的复杂性太高,且依赖于第三方平台,数据安全性较低。
uniapp:uniapp是跨平台应用开发框架,支持将代码编译到不同平台。虽然具有较高的开发效率,但仍需要与后端服务器进行频繁的数据交互,且依赖于HBuilder X等特定工具。而且uniapp仍需要在不同平台上发布不同版本的应用。
因此,现有的小程序容器技术存在以下问题:
1、额外搭建服务器环境
2、数据安全性较低
3、依赖于第三方平台
4、依赖于FinCinp IDE,HBuilder X等特定工具
5、需要与后端服务器进行频繁的数据交互。
发明内容
发明目的:本发明旨在至少部分地克服现有技术的缺陷,提出一种在自有App上运行的小程序引擎,该引擎能够不依赖第三方平台,直接在自有App上运行小程序。
发明内容:为实现上述目的,本发明提出以下技术方案:
一种在自有App上运行的小程序引擎,所述小程序引擎通过所述自有App上的接口和机制集成在自有App中;所述小程序引擎包括编译器和文档对象模型接口;
所述编译器用于获取所述自有App响应于用户的触发操作而发送的小程序文件,并将所述小程序文件转换为JSX组件,然后将JSX组件发送给所述文档对象模型接口;
所述文档对象模型接口用于激活所述JSX组件,以使所述JSX组件运行,并将所述JSX组件运行时生成的所述渲染指令传送到所述自有App的渲染引擎,以使所述渲染引擎在所述自有App中完成所述小程序页面的渲染。
在一些可行的实施方式中,所述小程序引擎接入所述自有App后,所述自有App预加载网络资源和所述渲染引擎。
在一些可行的实施方式中,所述小程序引擎还具有离线包增量更新机制,具体包括:
获取所述小程序文件的原始版本文件和目标版本文件;
对所述原始版本文件计算哈希值,得到第一哈希值;
对所述目标版本文件计算哈希值,得到第二哈希值;
基于所述第一哈希值和所述第二哈希值,确定所述原始版本文件和所述目标版本文件是否相同;若不相同,则基于所述原始版本文件和所述目标版本文件,采用差分算法生成差异文件,所述差异文件用于描述所述原始版本文件到所述目标版本文件的全部变化内容;
将所述差异文件打包成增量更新包;
对所述增量更新包进行验证,确保它能够正确应用于所述原始版本文件,以便生成所述目标版本文件;
发布所述增量更新包。
在一些可行的实施方式中,所述离线包增量更新还包括:
在用户端实现一个更新程序,所述更新程序能够下载所述增量更新包并将所述增量更新包应用于所述原始版本文件,以便生成所述目标版本文件。
在一些可行的实施方式中,所述小程序文件是由JS和Rust编写而成的;所述编译器将所述小程序文件转换为所述JSX组件,具体包括:
使用 Rust 中的解析器生成器库构建解析器,为所述小程序文件中的WXML文件构建相应的语法树;
遍历所述语法树,将所述语法树中的每个WXML元素和属性转换为相应的JSX代码;
将转换后的JSX语法树重新组合成字符串形式的JSX代码,得到所述JSX组件。
在一些可行的实施方式中,所述文档对象模型接口激活所述JSX组件,以使所述JSX组件运行,具体包括:
判断所述小程序文件的类型;
采用虚拟DOM的方式对所述小程序文件中不包含画布元素的页面和组件进行渲染;
采用Reflect的数据劫持实现所述小程序文件中画布元素的渲染。
在一些可行的实施方式中,若所述自有App是ios应用,则采用Nitro引擎作为所述小程序引擎。
在一些可行的实施方式中,若所述自有App是安卓应用,则采用webkit的v8引擎作为所述小程序引擎。
在一些可行的实施方式中,所述小程序引擎采用IO通道传输数据,以实现与所述自有App的数据交互。
在一些可行的实施方式中,所述渲染引擎还用于在所述自有App的启动页或主界面上添加一个入口按钮,用户点击所述入口按钮即可进入所述小程序页面。
有益效果:与现有技术相比,本发明具有以下优势:
本发明通过小程序容器集成技术,构建了包含编译器和文档对象模型接口的前端框架,通过与自有App中的渲染引擎交互,从而提供了一种不依赖第三方平台、直接在自有App中运行小程序的方案,该技术方案具有更高的性能和更广泛的应用场景,可以为企业和开发者提供更加便捷、高效、灵活的小程序集成方案。
附图说明
图1为实施例涉及的小程序前端框架结构示意图;
图2为实施例涉及的小程序引擎的工作流程图。
具体实施方式
下面将结合附图和具体实施例对本发明作更进一步的说明。但应当理解的是,本发明可以以各种形式实施,以下在附图中出示并且在下文中描述的一些示例性和非限制性实施例,并不意图将本发明限制于所说明的具体实施例。
应当理解的是,在技术上可行的情况下,以上针对不同实施例所列举的技术特征可以相互组合,从而形成本发明范围内的另外的实施例。此外,本发明所述的特定示例和实施例是非限制性的,并且可以对以上所阐述的结构、步骤、顺序做出相应修改而不脱离本发明的保护范围。
本实施例提出一种在自有App上运行的小程序引擎,以至少部分地克服上述技术缺陷。
请参考图1,图1示例性地给出了集成在自有App上的小程序引擎的前端框架结构,包括:渲染引擎Webview、编译器和文档对象模型接口DOM。其中,渲染引擎Webview是自有App的渲染引擎,用于响应于用户的触发操作而将对应的小程序文件发送给编译器,渲染引擎可以在自有App的启动页或主界面上添加一个入口按钮,用户点击入口按钮即可进入小程序页面。编译器用于将小程序文件转换为JSX组件,然后将JSX组件发送给文档对象模型接口DOM。文档对象模型接口DOM用于激活JSX组件,以使该JSX组件运行,并将该JSX组件运行时生成的渲染指令传送到渲染引擎,由渲染引擎执行渲染指令,在自有App中完成小程序页面渲染。
通过上述方案,该小程序引擎可以不依赖第三方平台,直接在自有App上运行小程序。
下面结合图2对上述前端框架结构中的各组件进行详细介绍。
请参考图2,图2示出了本实施例所述的小程序引擎的工作流程图,该流程如下:
首先,用户在自有App的渲染引擎Webview提供的页面中,选取小程序的按钮,触发小程序引擎工作。
在用户的触发操作后,渲染引擎Webview会将用户所要运行的小程序文件发送给编译器。
编译器将小程序文件编译为JSX组件后发送到文档对象模型接口DOM。
文档对象模型接口DOM对收到的小程序文件的类型进行判断,然后根据小程序文件的类型执行不同的数据对比算法来更新DOM树的节点,从而确定待渲染页面中不同元素的渲染方式。例如,可以判断小程序文件的类型是否是微信小程序,如果是微信小程序,就采用data diff算法(数据对比算法)来更新节点。如果不是微信小程序,就采用vdom diff算法(虚拟节点对比算法)来更新节点。
文档对象模型接口DOM完成DOM树的节点更新后,将渲染指令发送到webview,使得webview执行渲染指令,实现小程序页面的渲染。
本实施例中,小程序引擎是采用小程序容器原理,通过自有App上的接口和机制集成在自有App中的。在自有App中,通过使用轻量级的Webview(WebView是网络视图组件,能够加载并显示网页,可以将其视为一个浏览器。主要用于展示网络请求后的内容,就是将网络地址请求的内容展示在里面)作为小程序的渲染引擎,以提供更好的性能和用户体验,同时还能利用iframe天然的沙箱隔离实现小程序与自有App的资源隔离,保证了自有App和小程序在运行时互不影响,保证彼此运行的稳定性。
在小程序引擎中,集成了各种API和组件库,如JavaScript、CSS、图片等,以支持小程序的基本功能和特性,还提供了套完整的小程序开发工具链,包括代码编辑器、调试器、模拟器等,以方便开发者进行开发和测试;还支持小程序的热更新和版本管理,以提高小程序的迭代效率和质量。
在小程序容器中,保存了各种不同的小程序,这些小程序文件由JS和Rust编写而成的,包含wxml/wxss/js格式的文件。为解析小程序文件,在我们的小程序生态中,采用了esbuild来处理JS和Rust编写的wxml部分。esbuild是一个快速、可扩展的JavaScript和TypeScript构建工具,它能将小程序文件(wxml/wxss/js)转化为React理解的JSX格式,使复杂的任务变得简单,能同时处理大量IO操作,其编译速度极快。
在编译器将小程序文件转换为JSX组件的过程中,可以采用esbuild来处理小程序文件的js部分。Rust是一种系统级编程语言,可以使用 Rust 编写代码来解析小程序文件中的WXML部分文件和小程序转换后的JSX组件,并构建相应的语法树。
具体来说,将小程序文件转换为JSX组件,可以采用以下具体步骤:
通过使用 Rust 中的解析器生成器库(如 pest)实现解析器,为WXML文件构建相应的语法树;
遍历WXML的语法树,并将每个WXML元素和属性转换为相应的JSX代码。在这一步可能需要处理一些语法上的差异,例如标签的差异、属性的命名等。
最后将转换后的JSX语法树重新组合成字符串形式的JSX代码,得到上述的JSX组件。
创建出JSX组件后。下一步就是激活这个组件,让它运行,并将生成的指令传送到Webview。webview是没有逻辑的,纯受控渲染,因此,将渲染指令交给内置的小程序引擎来处理。在一些具体的实施方式中,我们采用了虚拟DOM和使用Reflect的数据劫持DOM操作的策略实现页面渲染。
DOM的中文含义是“文档对象模型”,是一种与浏览器、平台、语言无关的接口,使用该接口可以轻松访问页面中所有的标准组件;DOM操作可以分为三个方面即DOM Core(核心)、HTM-DOM和CSS-DOM。JQuery中的DOM操作主要包括:新建、添加、删除、修改和查找DOM节点。
在本实施例中,采用了虚拟DOM的方式来实现普通页面和组件的渲染,即不包含画布(Canvas)等特殊元素的页面和组件的渲染,而画布等元素则通过Reflect的数据劫持实现。
具体来说,实现画布绘制图形接口(Canvas API)时使用fetch同步请求。在逻辑层使用画布绘制图形接口,然后通过Reflect的数据劫持,将同步请求发送到ServiceWorker,最终由Service Worker等待Webview的内容。这样,小程序引擎就能够顺利地实现普通DOM渲染和画布(Canvas)元素渲染。
在一些能够实现的方式中,小程序引擎可以采用JS引擎实现,或者,也可以采用客户端内默认引擎实现。例如:
对于iOS应用,其采用的是Safari浏览器,可以使用Nitro引擎。
对安卓应用,可以采用webkit的v8引擎。
在一些能够实现的方式中,在内置JS引擎的同时,需要确保引擎的版本与小程序引擎的版本相匹配,以确保兼容性。
同时,可以在自有App启动时预加载渲染引擎和网络资源,这样可以减少网络请求和加载时间,加速小程序的启动时间,提升用户体验。
在一些能够实现的方式中,上述小程序引擎还具有离线包增量更新机制,具体包括:
获取小程序文件的原始版本文件和目标版本文件。
对原始版本文件计算哈希值,得到第一哈希值。
对目标版本文件计算哈希值,得到第二哈希值。
基于第一哈希值和第二哈希值,确定原始版本文件和目标版本文件是否相同;若不相同,则基于原始版本文件和目标版本文件,采用差分算法生成差异文件,差异文件用于描述原始版本文件到目标版本文件的全部变化内容。
将差异文件打包成增量更新包。
对增量更新包进行验证,确保它能够正确应用于原始版本文件,以便生成目标版本文件。
发布增量更新包:将增量更新包发布到需要更新的系统或用户,用户可以下载并应用这个增量更新包,而不是重新下载整个目标版本。
应用增量更新包:在用户端,实现一个更新程序,该程序能够下载增量更新包并将其应用于原始版本文件,生成目标版本文件。
在一些能够实现的方式中,上述小程序引擎通过IO通道传输数据,而不是HTTP请求,该方式可以提高小程序的数据获取效率。可以考虑使用本地存储或其他高效的IO方式,避免不必要的网络开销。在设计IO通道时,需要确保数据的安全性和完整性,防止数据被篡改或损坏。
本实施例通过小程序容器集成技术,构建了包含编译器和文档对象模型接口的前端框架,通过与自有App中的渲染引擎交互,从而提供了一种不依赖第三方平台、直接在自有App中运行小程序的方案,该技术方案具有更高的性能和更广泛的应用场景,可以为企业和开发者提供更加便捷、高效、灵活的小程序集成方案。
另一方面,本实施例采用上述方案,可以用一套代码实现自有app的页面和小程序的页面,从而能够实现多端代码拉齐统一,减少开发量的技术效果。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (7)

1.一种在自有App上运行的小程序引擎,其特征在于,所述小程序引擎通过所述自有App上的接口和机制集成在自有App中;所述小程序引擎包括编译器和文档对象模型接口;
所述编译器用于获取所述自有App响应于用户的触发操作而发送的小程序文件,所述小程序文件是由JS和Rust编写而成的;
所述编译器使用 Rust 中的解析器生成器库构建解析器,为所述小程序文件中的WXML文件构建相应的语法树;遍历所述语法树,将所述语法树中的每个 WXML 元素和属性转换为相应的 JSX 代码;将转换后的 JSX 语法树重新组合成字符串形式的JSX代码,得到JSX组件;
所述编译器将JSX组件发送给所述文档对象模型接口;
所述文档对象模型接口用于激活所述JSX组件,以使所述JSX组件运行,具体包括:判断所述小程序文件的类型;采用虚拟DOM的方式对所述小程序文件中不包含画布元素的页面和组件进行渲染;采用Reflect的数据劫持策略实现所述小程序文件中画布元素的渲染;
所述文档对象模型接口还用于将所述JSX组件运行时生成的渲染指令传送到所述自有App的渲染引擎,以使所述渲染引擎在所述自有App中完成所述小程序页面的渲染;
所述渲染引擎还用于在所述自有App的启动页或主界面上添加一个入口按钮,用户点击所述入口按钮即可进入所述小程序页面。
2.如权利要求1所述的小程序引擎,其特征在于,所述小程序引擎接入所述自有App后,所述自有App预加载网络资源和所述渲染引擎。
3.如权利要求1所述的小程序引擎,其特征在于,所述小程序引擎还具有离线包增量更新机制,具体包括:
获取所述小程序文件的原始版本文件和目标版本文件;
对所述原始版本文件计算哈希值,得到第一哈希值;
对所述目标版本文件计算哈希值,得到第二哈希值;
基于所述第一哈希值和所述第二哈希值,确定所述原始版本文件和所述目标版本文件是否相同;若不相同,则基于所述原始版本文件和所述目标版本文件,采用差分算法生成差异文件,所述差异文件用于描述所述原始版本文件到所述目标版本文件的全部变化内容;
将所述差异文件打包成增量更新包;
对所述增量更新包进行验证,确保它能够正确应用于所述原始版本文件,以便生成所述目标版本文件;
发布所述增量更新包。
4.如权利要求3所述的小程序引擎,其特征在于,所述离线包增量更新还包括:
在用户端实现一个更新程序,所述更新程序能够下载所述增量更新包并将所述增量更新包应用于所述原始版本文件,以便生成所述目标版本文件。
5.如权利要求1所述的小程序引擎,其特征在于,若所述自有App是ios应用,则采用Nitro引擎作为所述小程序引擎。
6.如权利要求1所述的小程序引擎,其特征在于,若所述自有App是安卓应用,则采用webkit的v8引擎作为所述小程序引擎。
7.如权利要求1所述的小程序引擎,其特征在于,所述小程序引擎采用IO通道传输数据,以实现与所述自有App的数据交互。
CN202311647205.4A 2023-12-04 2023-12-04 一种在自有App上运行的小程序引擎 Active CN117348948B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311647205.4A CN117348948B (zh) 2023-12-04 2023-12-04 一种在自有App上运行的小程序引擎

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311647205.4A CN117348948B (zh) 2023-12-04 2023-12-04 一种在自有App上运行的小程序引擎

Publications (2)

Publication Number Publication Date
CN117348948A CN117348948A (zh) 2024-01-05
CN117348948B true CN117348948B (zh) 2024-03-22

Family

ID=89367785

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311647205.4A Active CN117348948B (zh) 2023-12-04 2023-12-04 一种在自有App上运行的小程序引擎

Country Status (1)

Country Link
CN (1) CN117348948B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268262A (zh) * 2017-12-27 2018-07-10 广东耐思尼克信息技术有限公司 实现将html转换为微信小程序的方法、装置及系统
CN108664248A (zh) * 2018-05-14 2018-10-16 北京汉能光伏投资有限公司 一种微信小程序的生成方法及装置
CN109375918A (zh) * 2018-11-23 2019-02-22 天津字节跳动科技有限公司 小程序的界面渲染方法、装置、电子设备和存储介质
CN110888645A (zh) * 2019-10-12 2020-03-17 贝壳技术有限公司 一种转换为小程序的方法、装置和存储介质
CN111124576A (zh) * 2019-12-23 2020-05-08 焦点科技股份有限公司 一种多平台小程序及h5页面适配的方法及系统
CN111580879A (zh) * 2020-04-30 2020-08-25 北京字节跳动网络技术有限公司 小程序的运行方法、装置、电子设备及计算机存储介质
CN112764757A (zh) * 2021-01-18 2021-05-07 深圳前海微众银行股份有限公司 小程序处理方法、装置、设备及存储介质
CN112861057A (zh) * 2021-02-10 2021-05-28 北京百度网讯科技有限公司 基于小程序的页面渲染方法、装置、设备及存储介质
CN113515286A (zh) * 2021-05-08 2021-10-19 上海安畅网络科技股份有限公司 一种小程序生成运行方法、装置、设备及存储介质
CN113885967A (zh) * 2021-10-22 2022-01-04 北京字跳网络技术有限公司 一种小程序的启动方法、装置、设备及介质
CN115220803A (zh) * 2021-04-16 2022-10-21 腾讯云计算(长沙)有限责任公司 一种数据处理方法以及设备
CN115586893A (zh) * 2021-07-05 2023-01-10 京东科技控股股份有限公司 一种跨平台软件开发系统及方法
CN116225385A (zh) * 2023-01-09 2023-06-06 杭州易现先进科技有限公司 一种渲染引擎跨小程序平台运行方法、设备、存储介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268262A (zh) * 2017-12-27 2018-07-10 广东耐思尼克信息技术有限公司 实现将html转换为微信小程序的方法、装置及系统
CN108664248A (zh) * 2018-05-14 2018-10-16 北京汉能光伏投资有限公司 一种微信小程序的生成方法及装置
CN109375918A (zh) * 2018-11-23 2019-02-22 天津字节跳动科技有限公司 小程序的界面渲染方法、装置、电子设备和存储介质
CN110888645A (zh) * 2019-10-12 2020-03-17 贝壳技术有限公司 一种转换为小程序的方法、装置和存储介质
CN111124576A (zh) * 2019-12-23 2020-05-08 焦点科技股份有限公司 一种多平台小程序及h5页面适配的方法及系统
CN111580879A (zh) * 2020-04-30 2020-08-25 北京字节跳动网络技术有限公司 小程序的运行方法、装置、电子设备及计算机存储介质
CN112764757A (zh) * 2021-01-18 2021-05-07 深圳前海微众银行股份有限公司 小程序处理方法、装置、设备及存储介质
CN112861057A (zh) * 2021-02-10 2021-05-28 北京百度网讯科技有限公司 基于小程序的页面渲染方法、装置、设备及存储介质
CN115220803A (zh) * 2021-04-16 2022-10-21 腾讯云计算(长沙)有限责任公司 一种数据处理方法以及设备
CN113515286A (zh) * 2021-05-08 2021-10-19 上海安畅网络科技股份有限公司 一种小程序生成运行方法、装置、设备及存储介质
CN115586893A (zh) * 2021-07-05 2023-01-10 京东科技控股股份有限公司 一种跨平台软件开发系统及方法
CN113885967A (zh) * 2021-10-22 2022-01-04 北京字跳网络技术有限公司 一种小程序的启动方法、装置、设备及介质
CN116225385A (zh) * 2023-01-09 2023-06-06 杭州易现先进科技有限公司 一种渲染引擎跨小程序平台运行方法、设备、存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"‘全民阅读’背景下基于微信小程序的图书社交平台设计及实现";张琼;《图书情报导刊》;20201022;第29-34页 *
"基于微信小程序的区块链商城系统的设计与实现";康娇兰;《中国优秀硕士学位论文全文数据库信息科技辑》;20230115;I138-556 *
"基于微信小程序的轻量化AR关键技术研究与系统实现";李亚男;《中国优秀硕士学位论文全文数据库 信息科技辑》;20220115;I138-620 *

Also Published As

Publication number Publication date
CN117348948A (zh) 2024-01-05

Similar Documents

Publication Publication Date Title
US9063765B2 (en) System and methods for distributed execution of computer executable programs utilizing asymmetric translation
US10204031B2 (en) Methods and system to create applications and distribute applications to a remote device
Taivalsaari et al. Web browser as an application platform
US8978023B2 (en) Canonical mechanism for securely assembling features into a mobile application
US7779429B2 (en) Method and machine-readable medium for building distributed software
CN108279902B (zh) 基于Lua脚本技术的多终端共享底层框架生成、应用方法
US20110082984A1 (en) Shared Script Files in Multi-Tab Browser
US20230036980A1 (en) Micro-frontend system, sub-application loading method, electronic device, computer program product, and computer-readable storage medium
US20130024759A1 (en) Shared Script Files in Multi-Tab Browser
US8812683B2 (en) Service scripting framework
KR20060082353A (ko) 실행가능 웹 컨텐트 제공 및 처리 시스템 및 방법
CN109240697B (zh) 调用处理方法及装置、存储介质
US11474796B1 (en) Build system for distributed applications
CN112114890A (zh) 小程序的处理方法、装置、设备及存储介质
MXPA06000106A (es) Arquitectura de aplicacion web.
CN110716720A (zh) 一种实现应用热部署的方法和装置
CN112799663A (zh) 页面显示方法、装置、计算机可读存储介质及电子设备
CN112052235A (zh) 一种区块链交易数据迁移的方法及装置
CN111723314B (zh) 网页展示方法、装置、电子设备及计算机可读存储介质
CN117348948B (zh) 一种在自有App上运行的小程序引擎
CN116362336B (zh) 一种模型推理交互方法、电子设备、可读存储介质
EP3611616A1 (en) Software code optimizer and method
US11429358B2 (en) Representing asynchronous state machine in intermediate code
CN111427770B (zh) 一种资源测试方法及相关设备
CN113469740A (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
GR01 Patent grant
GR01 Patent grant