CN111522582B - 一种生成不同应用平台代码的方法及系统 - Google Patents

一种生成不同应用平台代码的方法及系统 Download PDF

Info

Publication number
CN111522582B
CN111522582B CN202010329431.8A CN202010329431A CN111522582B CN 111522582 B CN111522582 B CN 111522582B CN 202010329431 A CN202010329431 A CN 202010329431A CN 111522582 B CN111522582 B CN 111522582B
Authority
CN
China
Prior art keywords
codes
application platform
attribute
target
translated
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
CN202010329431.8A
Other languages
English (en)
Other versions
CN111522582A (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.)
Beijing Si Tech Information Technology Co Ltd
Original Assignee
Beijing Si Tech Information 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 Beijing Si Tech Information Technology Co Ltd filed Critical Beijing Si Tech Information Technology Co Ltd
Priority to CN202010329431.8A priority Critical patent/CN111522582B/zh
Publication of CN111522582A publication Critical patent/CN111522582A/zh
Application granted granted Critical
Publication of CN111522582B publication Critical patent/CN111522582B/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/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/73Program documentation
    • 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)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种生成不同应用平台代码的方法及系统,所述方法包括:获取待转译代码以及目标应用平台系统信息;根据所述目标应用平台系统信息,确定父类标签的属性;根据父类标签的属性确定子类标签的属性;根据所述子类标签的属性,采用相应的拼接方法对所述待转译代码进行拼接,生成目标代码。开发人员仅开发一种原代码,自动生成不同系统类型的目标代码,降低了开发成本,提升了开发效果。

Description

一种生成不同应用平台代码的方法及系统
技术领域
本发明涉及程序开发领域,尤其涉及一种生成不同应用平台代码的方法及系统。
背景技术
随着移动端技术的发展,越来越多的移动应用涌现出来,现有的app原生开发需要Android、iOS两种技术人员进行开发,且需要开发两份代码,造成资源浪费,同时还可能造成两种终端的效果的不统一。现有的解决Android和iOS两种系统代码的方法,通常采用兼容两种系统代码,即在代码中同时包括Android和iOS两种的系统的代码,这样一来,增加了代码数,提高传输量,降低了使用体验。
发明内容
为解决上述技术问题,提供一种生成不同应用平台代码的方法及系统,只需要开发一份代码,自动生成不同平台的代码。
一种生成不同应用平台代码的方法,所述方法包括:获取待转译代码以及目标应用平台系统信息;根据所述目标应用平台系统信息,确定父类标签的属性;根据父类标签的属性确定子类标签的属性;根据所述子类标签的属性,采用相应的拼接方法对所述待转译代码进行拼接,生成目标代码。
优选的,所述目标应用平台系统信息包括目标应用平台的系统类型,所述目标应用平台的系统类型包括Android、iOS或PCWEB。
优选的,获取目标应用平台的系统类型,具体包括:获取输入的平台类型参数;判断所述平台类型参数对应的系统类型。
优选的,所述父类标签为JSTL标签,所述父类标签的属性包括变量和变量值,子类标签继承父类标签的变量及其变量值。
优选的,所述子类标签的变量包括待转译代码、目标代码和判断变量,根据子类标签中判断变量的信息,采用相应的拼接方法对所述待转译代码进行拼接,生成目标代码。
优选的,所述子类标签为JSTL自定义标签。
本发明还提供一种生成不同应用平台代码的系统,包括获取模块、父类标签确定模块、子类标签确定模块和生成模块,所述获取模块用于获取待转译代码以及目标应用平台系统信息;所述父类标签确定模块用于根据所述目标应用平台系统信息,确定父类标签的属性;所述子类标签确定模块用于根据父类标签的属性确定子类标签的属性;所述生成模块用于根据所述子类标签的属性,采用相应的拼接方法对所述待转译代码进行拼接,生成目标代码。
优选的,所述目标应用平台系统信息包括目标应用平台的系统类型,所述目标应用平台的系统类型包括Android、iOS或PCWEB。
优选的,所述父类标签为JSTL标签,所述父类标签的属性包括变量和变量值,子类标签继承父类标签的变量及其变量值。
优选的,所述子类标签的变量包括待转译代码、目标代码和判断变量,根据子类标签中判断变量的信息,采用相应的拼接方法对所述待转译代码进行拼接,生成目标代码。
与现有技术相比本发明的有益效果为:1.开发人员仅开发一种原代码,自动生成不同平台系统类型的目标代码,降低了开发成本,提升了开发效果;2.使不同系统类型的目标代码效果统一。
附图说明
图1是本发明的方法流程图;
图2是本发明的系统结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
一种生成不同应用平台代码的方法,如图1所示,所述方法包括:
步骤101:获取待转译代码以及目标应用平台系统信息。所述目标应用平台系统信息包括目标应用平台的系统类型,目标应用平台系统可以包括包括Android、iOS或WEBPC系统,Android、iOS和WEBPC系统不同,其代码也不相同。
步骤102:根据所述目标应用平台系统信息,确定父类标签的属性。
步骤103:根据父类标签的属性确定子类标签的属性。所述父类标签可以为JSTL标签,所述父类标签的属性包括变量和变量值,子类标签继承父类标签的变量及其变量值。JSTL主要提供给Java开发人员的标准通用标签库,本发明的方法可以基于JSTL框架进行开发。其中子类标签可以是JSTL自定义标签,基于JSTL框架下,子类标签自动继承父类标签中的变量及其变量值。
步骤104:根据所述子类标签的属性,采用相应的拼接方法对所述待转译代码进行拼接,生成目标代码。
所述子类标签的变量可以包括待转译代码、目标代码和判断变量,根据子类标签中判断变量的信息,采用相应的拼接方法对所述待转译代码进行拼接,生成目标代码。
获取目标应用平台的系统类型,具体包括:获取输入的平台类型参数;判断所述平台类型参数对应的系统类型。
通过本发明提供的生成不同应用平台代码的方法,开发人员仅开发一种代码,自动生成不同系统类型的目标代码,降低了开发成本,提升了开发效果。并且,可以使不同系统类型的目标代码效果统一。
在一个具体实施例中,采用DoubleTag的自定义子类标签,其自动获取父类标签的变量值。
public class DoubleTag extends AcWebPlatFormBodyTag{
private String oper;
private String name;
private String valueFromScope;
private String uiName;
private String uiID;
private String uiAttr;
private String value;
private String mUIBoxName;
private String init;
private Object tempStr;
}
根据变量valueFromScope、init和value判断原代码拼接的方式,并生成目标代码tempStr。
以上仅为本发明较佳的实施方法,并不用于限制本发明。
本发明另一方面还提供一种生成不同应用平台代码的系统,如图2所示,包括获取模块1、父类标签确定模块2、子类标签确定模块3和生成模块4,所述获取模块1用于获取待转译代码以及目标应用平台系统信息;所述父类标签确定模块2用于根据所述目标应用平台系统信息,确定父类标签的属性;所述子类标签确定模块3用于根据父类标签的属性确定子类标签的属性;所述生成模块4用于根据所述子类标签的属性,采用相应的拼接方法对所述待转译代码进行拼接,生成目标代码。
所述目标应用平台系统信息包括目标应用平台的系统类型,所述目标应用平台的系统类型包括Android、iOS或PCWEB。
所述父类标签为JSTL标签,所述父类标签的属性包括变量和变量值,子类标签继承父类标签的变量及其变量值。
所述子类标签的变量包括待转译代码、目标代码和判断变量,根据子类标签中判断变量的信息,采用相应的拼接方法对所述待转译代码进行拼接,生成目标代码。
在一个具体实施例中,调用方获取应用平台的系统类型向获取模块1发送转译请求,所述转译请求还包括待转译代码;生成模块4将生成的目标代码返回调用方。调用方可以是移动端app或者代码开发平台。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。

Claims (6)

1.一种生成不同应用平台代码的方法,其特征在于,所述方法包括:
获取待转译代码以及目标应用平台系统信息;
根据所述目标应用平台系统信息,确定父类标签的属性;
根据父类标签的属性确定子类标签的属性;
根据所述子类标签的属性,采用相应的拼接方法对所述待转译代码进行拼接,生成目标代码;
所述父类标签为JSTL标签,所述父类标签的属性包括变量和变量值,子类标签继承父类标签的变量及其变量值;
所述子类标签的变量包括待转译代码、目标代码和判断变量,根据子类标签中判断变量的信息,采用相应的拼接方法对所述待转译代码进行拼接,生成目标代码。
2.根据权利要求1所述的生成不同应用平台代码的方法,其特征在于,所述目标应用平台系统信息包括目标应用平台的系统类型,所述目标应用平台的系统类型包括Android、iOS或PCWEB。
3.根据权利要求2所述的生成不同应用平台代码的方法,其特征在于,获取目标应用平台的系统类型,具体包括:获取输入的平台类型参数;判断所述平台类型参数对应的系统类型。
4.根据权利要求1所述的生成不同应用平台代码的方法,其特征在于,所述子类标签为JSTL自定义标签。
5.一种生成不同应用平台代码的系统,其特征在于,包括获取模块、父类标签确定模块、子类标签确定模块和生成模块,
所述获取模块用于获取待转译代码以及目标应用平台系统信息;
所述父类标签确定模块用于根据所述目标应用平台系统信息,确定父类标签的属性;
所述子类标签确定模块用于根据父类标签的属性确定子类标签的属性;
所述生成模块用于根据所述子类标签的属性,采用相应的拼接方法对所述待转译代码进行拼接,生成目标代码;
所述父类标签为JSTL标签,所述父类标签的属性包括变量和变量值,子类标签继承父类标签的变量及其变量值;
所述子类标签的变量包括待转译代码、目标代码和判断变量,根据子类标签中判断变量的信息,采用相应的拼接方法对所述待转译代码进行拼接,生成目标代码。
6.根据权利要求5所述的生成不同应用平台代码的系统,其特征在于,所述目标应用平台系统信息包括目标应用平台的系统类型,所述目标应用平台的系统类型包括Android、iOS或PCWEB。
CN202010329431.8A 2020-04-23 2020-04-23 一种生成不同应用平台代码的方法及系统 Active CN111522582B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010329431.8A CN111522582B (zh) 2020-04-23 2020-04-23 一种生成不同应用平台代码的方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010329431.8A CN111522582B (zh) 2020-04-23 2020-04-23 一种生成不同应用平台代码的方法及系统

Publications (2)

Publication Number Publication Date
CN111522582A CN111522582A (zh) 2020-08-11
CN111522582B true CN111522582B (zh) 2023-08-22

Family

ID=71905045

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010329431.8A Active CN111522582B (zh) 2020-04-23 2020-04-23 一种生成不同应用平台代码的方法及系统

Country Status (1)

Country Link
CN (1) CN111522582B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003054742A2 (en) * 2001-12-21 2003-07-03 American Airlines System and method for web to mainframe synchronization
CN104156660A (zh) * 2014-08-28 2014-11-19 东南大学 一种基于运行环境状态的Android权限细粒度访问控制方法
CN104333587A (zh) * 2014-10-30 2015-02-04 北京思特奇信息技术股份有限公司 一种多平台事件统一处理的方法及系统
CN104331286A (zh) * 2014-10-30 2015-02-04 北京思特奇信息技术股份有限公司 一种利用浏览器进行应用开发的方法及系统
CN104407907A (zh) * 2014-10-31 2015-03-11 北京思特奇信息技术股份有限公司 一种将web标签转化为不同应用平台代码的方法及系统
ES2531176A1 (es) * 2013-09-11 2015-03-11 Marquez José Luis Fiscal Sistema de variador de velocidad y fuerza
CN107203404A (zh) * 2017-05-27 2017-09-26 北京思特奇信息技术股份有限公司 一种基于web的代码转化方法及系统
CN109976740A (zh) * 2017-12-28 2019-07-05 广州市中跃信息科技有限公司 一种PaaS平台管理系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8627298B2 (en) * 2009-12-14 2014-01-07 International Business Machines Corporation Using appropriate level of code to be executed in runtime environment using metadata describing versions of resources being used by code

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003054742A2 (en) * 2001-12-21 2003-07-03 American Airlines System and method for web to mainframe synchronization
ES2531176A1 (es) * 2013-09-11 2015-03-11 Marquez José Luis Fiscal Sistema de variador de velocidad y fuerza
CN104156660A (zh) * 2014-08-28 2014-11-19 东南大学 一种基于运行环境状态的Android权限细粒度访问控制方法
CN104333587A (zh) * 2014-10-30 2015-02-04 北京思特奇信息技术股份有限公司 一种多平台事件统一处理的方法及系统
CN104331286A (zh) * 2014-10-30 2015-02-04 北京思特奇信息技术股份有限公司 一种利用浏览器进行应用开发的方法及系统
CN104407907A (zh) * 2014-10-31 2015-03-11 北京思特奇信息技术股份有限公司 一种将web标签转化为不同应用平台代码的方法及系统
CN107203404A (zh) * 2017-05-27 2017-09-26 北京思特奇信息技术股份有限公司 一种基于web的代码转化方法及系统
CN109976740A (zh) * 2017-12-28 2019-07-05 广州市中跃信息科技有限公司 一种PaaS平台管理系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于SpringMVC的多平台J2EE开;李枭等;《吉林大学学报(信息科学版)》(第05期);569-575 *

Also Published As

Publication number Publication date
CN111522582A (zh) 2020-08-11

Similar Documents

Publication Publication Date Title
CN110580147B (zh) 一种应用程序的开发方法和装置
CN111639287A (zh) 一种页面处理方法、装置、终端设备及可读存储介质
EP2782008A1 (en) Java application server and web service processing method
CN109359194B (zh) 用于预测信息类别的方法和装置
KR101747424B1 (ko) 애플리케이션 설계와 구현을 통합하는 객체 지향 프로그래밍 장치, 및 방법
CN111459810A (zh) 构建应用程序的方法、编程设备和计算机可读存储介质
CN111522582B (zh) 一种生成不同应用平台代码的方法及系统
CN106528115A (zh) 界面的可视化开发方法及装置
CN111552480A (zh) 跨平台编译方法、装置、设备及可读存储介质
Witte et al. Intelligent software development environments: integrating natural language processing with the eclipse platform
CN108037914B (zh) 一种安卓原生系统结合js开发的方法及装置
CN110795646A (zh) 请求处理方法、装置、电子设备和计算机可读存储介质
CN110262841B (zh) 一种对字节码进行增强的方法和装置
CN107818073B (zh) 一种动态表单页面自动转换为html5页面的方法及系统
Martinez et al. Migrating c/c++ software to mobile platforms in the adm context
Rubano et al. Experiences from declarative markup to improve the accessibility of HTML
CN112068895A (zh) 代码配置方法、装置、视频播放设备及存储介质
CN112764732B (zh) 一种应用于加载目标资源的代码生成方法及装置
CN109144500B (zh) 一种基于图形化编程的皮肤文件处理方法及电子设备
CN117056241B (zh) 用于移动终端的应用程序测试方法和装置
CN113971028B (zh) 数据处理方法、装置、设备、存储介质及计算机程序产品
CN111240856B (zh) 消息处理方法及装置、存储介质
CN112947938B (zh) 一种文件转化方法、装置、电子设备及存储介质
CN117111903A (zh) 一种应用组件集成的方法和装置
CN114153456A (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