CN111813438A - 一种基于JavaScript的跨平台应用打包方法 - Google Patents

一种基于JavaScript的跨平台应用打包方法 Download PDF

Info

Publication number
CN111813438A
CN111813438A CN202010688659.6A CN202010688659A CN111813438A CN 111813438 A CN111813438 A CN 111813438A CN 202010688659 A CN202010688659 A CN 202010688659A CN 111813438 A CN111813438 A CN 111813438A
Authority
CN
China
Prior art keywords
code
module
javascript
customized
platform
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.)
Granted
Application number
CN202010688659.6A
Other languages
English (en)
Other versions
CN111813438B (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.)
Chengdu DBAPPSecurity Co Ltd
Original Assignee
Chengdu DBAPPSecurity 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 Chengdu DBAPPSecurity Co Ltd filed Critical Chengdu DBAPPSecurity Co Ltd
Priority to CN202010688659.6A priority Critical patent/CN111813438B/zh
Publication of CN111813438A publication Critical patent/CN111813438A/zh
Application granted granted Critical
Publication of CN111813438B publication Critical patent/CN111813438B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于JavaScript的跨平台应用打包方法,传入已完成功能的electron代码,并进行分析,解构出需要根据不同平台生成定制化代码的模块,并对模块进行注入多平台定制化代码,然后调用electron代码混淆,打包模块,最终生成出符合操作系统的桌面应用安装包。本发明实现了从一份代码中构建出满足多个操作系统的应用,减少了大量的冗余工作,提高了开发效率。

Description

一种基于JavaScript的跨平台应用打包方法
技术领域
本发明属于计算机技术领域,具体涉及一种基于JavaScript的跨平台应用打包方法。
背景技术
electron是github的一款使用JavaScript来完成windows,mac,linux操作系统的跨平台桌面应用框架,但是开发人员有时候需要根据不同的平台为其做很多的定制化的开发来满足不同操作系统的统一功能,使得开发人员不能够完全的从一份代码中构建出满足多个操作系统的应用,做了许多的冗余工作,降低了开发效率。
发明内容
本发明的目的在于提供一种基于JavaScript的跨平台应用打包方法,旨在实现从一份代码中构建出满足多个操作系统的应用。
本发明主要通过以下技术方案实现:一种基于JavaScript的跨平台应用打包方法,传入已完成功能的electron代码,并进行分析,解构出需要根据不同平台生成定制化代码的模块,并对模块进行注入多平台定制化代码,然后调用electron代码混淆,打包模块,最终生成出符合操作系统的桌面应用安装包。
为了更好地实现本发明,进一步的,主要包括以下步骤:
步骤S100:上传electron代码完成后,并创建一个初始版本v1用于后续比对回滚;
步骤S200:运用代码逻辑分析器对electron代码进行分析:首先将代码映射为对应的语法树,方便精准的获取到代码的每一个节点;然后同步所有匹配规则,此时用户可以选择匹配规则进行代码分析;
步骤S300:自动定制化代码流程完成后,通过手动差异编辑模块完成手动定制化代码流程。
为了更好地实现本发明,进一步的,所述步骤S200包括以下步骤:
步骤S201:首先执行模块匹配规则,对语法树中的模块引入相关的树节点进行遍历,根据模块匹配对引入的模块进行操作,使用跨平台兼容语法生成器为引入该模块的树节点添加属性,根据模块匹配规则中相关模块的操作系统支持情况,对需要忽略的模块就加上忽略的属性;
步骤S202:执行关键字匹配规则,遍历语法树中除模块引入相关的树节点之外的所有树节点;根据关键字匹配规则对遍历的树节点进行匹配,然后利用跨平台兼容语法生成器对匹配的树节点进行子节点添加,添加子节点的逻辑依据关键字匹配规则中对应的参数,对涉及到不同操作系统的方法以及类进行替换,然后生成定制化的子节点,并将其挂载到匹配的树节点,最终根据编辑后的语法树生成对应的定制化的代码;
步骤S203:当关键字匹配规则完成后,则会得到一棵分析以及编辑完成的语法树,这时再通过将这一棵语法还原为代码,并将该版本的代码设置为更改版本v2,并记录下来,至此自动定制化代码流程完成。
为了更好地实现本发明,进一步的,所述步骤S300包括以下步骤:
步骤S301:将原代码初始版本v1以及更改代码版本v2同视图打开,针对生成了定制化代码的模块,将每个模块在页面单独列出,允许开发人员进行校对以及更改;
步骤S302:同时模块还支持编辑原代码初始版本v1,这样方便操作者可以手动review代码,查漏补缺。
为了更好地实现本发明,进一步的,还包括以下步骤:
步骤S400:代码定制化流程完成后,然后调用electron项目中的程序代码打包逻辑对代码进行混淆以及打包,生成混淆后的JavaScript代码;
步骤S500:然后进入可执行程序打包配置页面,生成的安装包下载到本地机器或者远程机器;
步骤S600:最后生成不同操作系统的安装包,并自动分发到操作人员配置的机器中。
为了更好地实现本发明,进一步的,所述步骤S400中程序代码打包逻辑为JavaScript项目中的通用打包逻辑,是每个JavaScript项目中自带的逻辑。
1.代码逻辑分析器:
主要是由Javascript的抽象语法树(AST)和模块匹配规则,以及关键字匹配规则组成。(AST的主要功能为将代码使用树状结构来表示),(模块匹配规则与关键字匹配规则主要是用来发现一条语句中是否包含相应的字符,例如当匹配规则为“今天”,则当遇到语句内容为“今天天气真好”和“明天天气很好”的两句话时,将会匹配到第一句话“今天天气真好”)
分析器的主要能力就是如第三章的第3过程所诉,首先AST将代码转换为一颗语法树,并对这一棵语法树进行遍历(浏览每个节点),然后通过模块匹配规则和关键字匹配规则来判断是否使用相应的逻辑来对代码进行处理。最终当遍历完成后,输出为处理之后的代码。
2.模块匹配规则与关键字匹配规则:
模块匹配规则的结构为一个key/value结构的对象,key为模块名,value为支持的平台数组。
关键字匹配规则的结构为一个key/value结构的对象,key为模块名,value为支持的平台以及对应的值。
3.兼容语法生成器:
为打包平台代码逻辑分析器的子模块,主要功能为根据匹配规则来操作语法树的树节点增加,删除以及编辑树节点,例如匹配到Flash Player将会生成条件判断逻辑,该逻辑为基于原有代码的语法树以及关键字匹配规则来为原有的语法树增加节点(原有代码的节点为1,增加之后为3),(增加条件判断逻辑,在不同的平台下的Flash Player的插件名称)。
4.Web打包平台的构成
A)打包平台代码逻辑分析器:主要模块用于分析并生成兼容性代码
B)手动差异编辑模块:该模块的主要功能为显示打包平台代码逻辑分析器对代码进行的改动以及与源文件的差异,用于让用户可视化操作改动并对改动进行校准或者忽略
C)可视化打包配置:该模块的主要功能为可视化执行程序代码打包以及最终的安装包打包配置(例如生成哪几个平台的安装包,windows还是macos,以及对应平台的安装包类型,例如windows平台是msi安装包还是exe安装包,应用是32位还是64位)
D)应用分发地址:该模块的主要内容为配置打包后的应用需要分发到什么地方,(即,应用需要复制到ftp服务器还是下载到本地)。
本发明的有益效果:
本发明基于JavaScript实现了一个web平台,该平台的功能是通过传入已完成功能的electron代码,然后对传入的代码进行分析,解构出需要根据不同平台生成定制化代码的模块,然后对该模块进行注入多平台定制化代码,然后调用electron代码混淆,打包模块,最终生成出符合windows,mac,linux操作系统的桌面应用安装包。本发明实现了从一份代码中构建出满足多个操作系统的应用,减少冗余工作,提高了开发效率。
具体实施方式
实施例1:
一种基于JavaScript的跨平台应用打包方法,主要包括以下步骤:
1.首先是选择一个linux/windows/mac机器,运行自动化跨平台应用打包web平台(以下简称打包平台)。
2.然后将已完成功能的electron项目上传到打包平台,当项目上传完成后,首先会为该项目的代码创建一个初始版本v1用于后续比对回滚,操作人员通过操作打包平台开始应用打包(该代码应该包含需要生成定制化功能的模块,就是需要实现某一个平台的功能,例如需要生成不同平台的菜单,那至少需要实现linux/windows/mac三个操作系统中的一个操作系统的菜单)。
3.然后进入自动定制化代码流程,运用打包平台代码逻辑分析器对electron项目代码进行分析,该分析主要包括
(1)首先将代码映射为对应的语法树,方便精准的获取到代码的每一个节点,为分析做好前置准备;
(2)然后打包平台将会同步所有匹配规则(包含模块匹配规则,关键字匹配规则),(注:匹配规则可配置和新增,如果未配置将使用默认匹配规则进行处理),此时用户可以选择匹配规则的进行代码分析;
(3)操作人员选择匹配规则后,开始执行代码分析,分析包含以下步骤:
a)首先执行模块匹配规则,对语法树中的模块引入相关的树节点进行遍历,根据模块匹配对引入的模块进行操作,使用跨平台兼容语法生成器为引入该模块的树节点添加属性,根据模块匹配规则中相关模块的操作系统支持情况,对需要忽略的模块就加上忽略的属性(包括但不限于windows-ignore,linux-ignore,mac-ignore等),(这样在后续根据语法树生成定制化代码的时候就可以依据忽略来生成定制化忽略代码)例如:
i.例如当用户为mac平台的应用使用了自定义Dock(mac系统下面的程序坞),这时打包平台将会根据模块匹配规则发现,该Dock模块并不适合windows以及linux平台,将会在与引入Dock模块的树节点加上忽略属性,在通过语法树生成定制化代码时就会根据该属性生成linux,windows忽略代码以忽略该模块(不导入该模块),以保证应用代码的兼容性。
b)当模块匹配规则执行完成后,将开始执行关键字匹配规则,该规则将会遍历语法树中除模块引入相关的树节点之外的所有树节点。根据关键字匹配规则对遍历的树节点进行匹配,然后利用跨平台兼容语法生成器对于匹配的树节点对其进行子节点添加,添加子节点的逻辑则依据关键字匹配规则中对应的参数,对涉及到不同操作系统的方法以及类进行替换,然后生成定制化的子节点,并将其挂载到匹配的树节点,同上步骤,最终根据编辑后的语法树生成对应的定制化的代码,例如:
i.当需要为应用集成Flash Player时,在不同的平台会表现为不同的集成方式,例如在windows平台的插件名称为pepflashplayer.dll,mac平台的插件名称为PepperFlashPlayer.plugin,这时如果开发者没有编写针对不同平台的判断逻辑,当上传到打包平台时,打包平台将会根据关键字匹配规则来发现此处缺少针对不同平台的FlashPlayer集成逻辑,不能成功的集成flash Player到多个平台,此时打包平台将会根据flashPlayer的关键字匹配规则来进行定制化树节点添加,例如原本flash Player关键字匹配规则匹配到的树节点只有windows平台的子节点,内容假设为pepflashplayer.dll,此时打包平台根据关键字规则将会为flash Player加上子节点a和b,内容分别为linux平台的libpepflashplayer.so以及mac平台的PepperFlashPlayer.plugin,这样该树节点的子节点就从原来只有windows平台的pepflashplayer.dll,变成了还包含windows的pepflashplayer.dll以及linux平台的libpepflashplayer.so以及mac平台的PepperFlashPlayer.plugin三个子节点,这样在最终根据语法树生成定制化代码时,将会包含3个平台的定制化内容
c)然后当关键字匹配规则完成后,则会得到一棵分析以及编辑完成的语法树,这时再通过将这一棵语法还原为代码,并将该版本的代码设置为更改版本v2,并记录下来,至此自动定制化代码流程完成。
4.自动定制化代码流程完成后,然后进入手动定制化代码流程,该流程主要由手动差异编辑模块完成,流程如下:
将原代码初始版本v1以及更改代码版本v2同视图打开,针对生成了定制化代码的模块,将每个模块在页面单独列出,允许开发人员进行校对以及更改,
a)同时该模块还支持编辑原代码初始版本v1,这样方便操作者可以手动review代码,查漏补缺,(注:该步骤可以跳过,如果操作了该步骤将会回到步骤a,以便操作人员预览代码改动)
b)以上步骤完成后,手动定制化代码流程完成,至此,所有的代码定制化流程完成
5.代码定制化流程完成后,完整的跨平台代码兼容性全部完成,然后将会调用electron项目中的程序代码打包逻辑对代码进行混淆以及打包,生成混淆后的JavaScript代码;(注:
a)该步骤为正常的代码打包(该打包逻辑仅仅是为了生成混淆后的代码,而不是生成最终的安装包代码,该步骤为打包生成最终的安装包的前置条件)
b).程序代码打包逻辑为JavaScript项目中的通用打包逻辑,是每个JavaScript项目中自带的逻辑(即,是独立于打包平台的)
6.然后进入可执行程序打包配置页面,允许开发人员可视化选择配置生成哪些操作系统以及硬件架构的可执行程序,以及选择安装包分发地址,即生成的安装包下载到本地机器,还是远程机器
7.最后生成不同操作系统的安装包,并自动分发到操作人员配置的机器中,至此,操作人员将会的到各个平台的安装包,可以直接安装到对应的平台,将可以和原生应用一样无缝运行,不需要在运行时在额外的进行跨平台兼容性操作。
本发明基于JavaScript实现了一个web平台,该平台的功能是通过传入已完成功能的electron代码,然后对传入的代码进行分析,解构出需要根据不同平台生成定制化代码的模块,然后对该模块进行注入多平台定制化代码,然后调用electron代码混淆,打包模块,最终生成出符合windows,mac,linux操作系统的桌面应用安装包。本发明实现了从一份代码中构建出满足多个操作系统的应用,减少冗余工作,提高了开发效率。
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。

Claims (6)

1.一种基于JavaScript的跨平台应用打包方法,其特征在于,传入已完成功能的electron代码,并进行分析,解构出需要根据不同平台生成定制化代码的模块,并对模块进行注入多平台定制化代码,然后调用electron代码混淆,打包模块,最终生成出符合操作系统的桌面应用安装包。
2.根据权利要求1所述的一种基于JavaScript的跨平台应用打包方法,其特征在于,主要包括以下步骤:
步骤S100:上传electron代码完成后,并创建一个初始版本v1用于后续比对回滚;
步骤S200:运用代码逻辑分析器对electron代码进行分析:首先将代码映射为对应的语法树,方便精准的获取到代码的每一个节点;然后同步所有匹配规则,此时用户可以选择匹配规则进行代码分析;
步骤S300:自动定制化代码流程完成后,通过手动差异编辑模块完成手动定制化代码流程。
3.根据权利要求2所述的一种基于JavaScript的跨平台应用打包方法,其特征在于,所述步骤S200包括以下步骤:
步骤S201:首先执行模块匹配规则,对语法树中的模块引入相关的树节点进行遍历,根据模块匹配对引入的模块进行操作,使用跨平台兼容语法生成器为引入该模块的树节点添加属性,根据模块匹配规则中相关模块的操作系统支持情况,对需要忽略的模块就加上忽略的属性;
步骤S202:执行关键字匹配规则,遍历语法树中除模块引入相关的树节点之外的所有树节点;根据关键字匹配规则对遍历的树节点进行匹配,然后利用跨平台兼容语法生成器对匹配的树节点进行子节点添加,添加子节点的逻辑依据关键字匹配规则中对应的参数,对涉及到不同操作系统的方法以及类进行替换,然后生成定制化的子节点,并将其挂载到匹配的树节点,最终根据编辑后的语法树生成对应的定制化的代码;
步骤S203:当关键字匹配规则完成后,则会得到一棵分析以及编辑完成的语法树,这时再通过将这一棵语法还原为代码,并将该版本的代码设置为更改版本v2,并记录下来,至此自动定制化代码流程完成。
4.根据权利要求3所述的一种基于JavaScript的跨平台应用打包方法,其特征在于,所述步骤S300包括以下步骤:
步骤S301:将原代码初始版本v1以及更改代码版本v2同视图打开,针对生成了定制化代码的模块,将每个模块在页面单独列出,允许开发人员进行校对以及更改;
步骤S302:同时模块还支持编辑原代码初始版本v1,这样方便操作者可以手动review代码,查漏补缺。
5.根据权利要求2-4任一项所述的一种基于JavaScript的跨平台应用打包方法,其特征在于,还包括以下步骤:
步骤S400:代码定制化流程完成后,然后调用electron项目中的程序代码打包逻辑对代码进行混淆以及打包,生成混淆后的JavaScript代码;
步骤S500:然后进入可执行程序打包配置页面,生成的安装包下载到本地机器或者远程机器;
步骤S600:最后生成不同操作系统的安装包,并自动分发到操作人员配置的机器中。
6.根据权利要求5所述的一种基于JavaScript的跨平台应用打包方法,其特征在于,所述步骤S400中程序代码打包逻辑为JavaScript项目中的通用打包逻辑,是每个JavaScript项目中自带的逻辑。
CN202010688659.6A 2020-07-16 2020-07-16 一种基于JavaScript的跨平台应用打包方法 Active CN111813438B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010688659.6A CN111813438B (zh) 2020-07-16 2020-07-16 一种基于JavaScript的跨平台应用打包方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010688659.6A CN111813438B (zh) 2020-07-16 2020-07-16 一种基于JavaScript的跨平台应用打包方法

Publications (2)

Publication Number Publication Date
CN111813438A true CN111813438A (zh) 2020-10-23
CN111813438B CN111813438B (zh) 2023-08-22

Family

ID=72865619

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010688659.6A Active CN111813438B (zh) 2020-07-16 2020-07-16 一种基于JavaScript的跨平台应用打包方法

Country Status (1)

Country Link
CN (1) CN111813438B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732328A (zh) * 2020-12-30 2021-04-30 望海康信(北京)科技股份公司 webpack打包系统、方法及相应设备和存储介质
CN113312030A (zh) * 2021-06-15 2021-08-27 京东数科海益信息科技有限公司 构建应用程序的方法、电子设备及存储介质
CN113326481A (zh) * 2021-06-02 2021-08-31 北京联创新天科技有限公司 一种项目代码自动构建打包方法、装置、系统及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700620B1 (en) * 2010-04-27 2014-04-15 Jeremy Lieberman Artificial intelligence method and apparatus
CN107729004A (zh) * 2017-10-11 2018-02-23 成都安恒信息技术有限公司 一种基于javascript的二维码生成方法
US20180107940A1 (en) * 2010-04-27 2018-04-19 Jeremy Lieberman Artificial intelligence method and apparatus
CN108038241A (zh) * 2018-03-01 2018-05-15 上海品顺信息科技有限公司 集成web可视化工作流方法、装置、可读存储介质及系统
CN110275700A (zh) * 2019-06-17 2019-09-24 河南大学 一种基于electron的跨平台桌面应用程序开发框架及方法
CN110297624A (zh) * 2019-07-03 2019-10-01 四川长虹电器股份有限公司 基于electron框架的Widget系统的实现方法及采用该系统的电视机
CN110347383A (zh) * 2019-06-28 2019-10-18 深圳市中农易讯信息技术有限公司 跨平台桌面应用的前端开发方法及装置
CN110888644A (zh) * 2019-12-06 2020-03-17 成都安恒信息技术有限公司 一种自定义混淆方案的JavaScript代码混淆方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700620B1 (en) * 2010-04-27 2014-04-15 Jeremy Lieberman Artificial intelligence method and apparatus
US20180107940A1 (en) * 2010-04-27 2018-04-19 Jeremy Lieberman Artificial intelligence method and apparatus
CN107729004A (zh) * 2017-10-11 2018-02-23 成都安恒信息技术有限公司 一种基于javascript的二维码生成方法
CN108038241A (zh) * 2018-03-01 2018-05-15 上海品顺信息科技有限公司 集成web可视化工作流方法、装置、可读存储介质及系统
CN110275700A (zh) * 2019-06-17 2019-09-24 河南大学 一种基于electron的跨平台桌面应用程序开发框架及方法
CN110347383A (zh) * 2019-06-28 2019-10-18 深圳市中农易讯信息技术有限公司 跨平台桌面应用的前端开发方法及装置
CN110297624A (zh) * 2019-07-03 2019-10-01 四川长虹电器股份有限公司 基于electron框架的Widget系统的实现方法及采用该系统的电视机
CN110888644A (zh) * 2019-12-06 2020-03-17 成都安恒信息技术有限公司 一种自定义混淆方案的JavaScript代码混淆方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
张佳伟等: "基于Electron的跨平台客户端技术", 《智能计算机与应用》, vol. 7, no. 3, pages 120 - 122 *
王俊杰: "基于react-native的原型设计开发工具的设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》, no. 12, pages 138 - 271 *
面圈网: "TitanOne开发Electron应用程序", pages 2 - 13, Retrieved from the Internet <URL:《https://www.mianshigee.com/tutorial/TitanOne-electron/》> *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112732328A (zh) * 2020-12-30 2021-04-30 望海康信(北京)科技股份公司 webpack打包系统、方法及相应设备和存储介质
CN113326481A (zh) * 2021-06-02 2021-08-31 北京联创新天科技有限公司 一种项目代码自动构建打包方法、装置、系统及介质
CN113326481B (zh) * 2021-06-02 2023-07-14 北京联创新天科技有限公司 一种项目代码自动构建打包方法、装置、系统及介质
CN113312030A (zh) * 2021-06-15 2021-08-27 京东数科海益信息科技有限公司 构建应用程序的方法、电子设备及存储介质

Also Published As

Publication number Publication date
CN111813438B (zh) 2023-08-22

Similar Documents

Publication Publication Date Title
CN111813438A (zh) 一种基于JavaScript的跨平台应用打包方法
US8091071B2 (en) Method and system for template-based code generation
CN106293664A (zh) 代码生成方法及装置
CN103942086B (zh) 基于aadl的创建、分析和仿真混成系统模型的方法
CN112882700A (zh) iOS应用程序构建方法及装置、电子设备及存储介质
CN111142903A (zh) 一种基于文件对比的配置文件交互式更新方法及装置
JP4001286B2 (ja) プログラム保守支援装置、プログラム保守支援方法、およびプログラム
US20070100871A1 (en) Method and system for creating management information base specifications
CN113553035A (zh) 一种通用的前端ui组件库的设计和构建方法
CN111309327A (zh) 应用程序的自动编译方法及计算机可读存储介质
US20230119466A1 (en) Code block element for integrated graphic design system
Kats et al. Domain-specific languages for composable editor plugins
US20060041873A1 (en) Computer system and method for verifying functional equivalence
US11029934B2 (en) Method and system for updating legacy software
US20200097260A1 (en) Software application developer tools platform
Salvador et al. Embedded Linux Development Using Yocto Project: Leverage the power of the Yocto Project to build efficient Linux-based products
KR101416096B1 (ko) 하이브리드 웹 어플리케이션 개발을 위한 호환성 높은 플러그인 시스템
Zhang et al. Automated extraction of grammar optimization rule configurations for metamodel-grammar co-evolution
CN117234529A (zh) 一种基于dsl解析资源生成api的方法
CN110110299B (zh) 文本变换方法、装置以及服务器
CN112230919A (zh) 页面模板化配置发布方法、系统、存储介质及服务器
Dalibor et al. Mind the gap: lessons learned from translating grammars between MontiCore and Xtext
WO2023069561A1 (en) Code block element for integrated graphic design system
WO2022102109A1 (ja) 差分抽出装置、差分抽出方法及びプログラム
CN115113850A (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