CN106775618A - Html5格式移动应用开发平台的代码自动生成方法 - Google Patents

Html5格式移动应用开发平台的代码自动生成方法 Download PDF

Info

Publication number
CN106775618A
CN106775618A CN201610993832.7A CN201610993832A CN106775618A CN 106775618 A CN106775618 A CN 106775618A CN 201610993832 A CN201610993832 A CN 201610993832A CN 106775618 A CN106775618 A CN 106775618A
Authority
CN
China
Prior art keywords
code
template
section
generation
fixed
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
CN201610993832.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.)
State Grid Corp of China SGCC
Beijing Xuji Electric Co Ltd
Original Assignee
State Grid Corp of China SGCC
Beijing Xuji Electric 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 State Grid Corp of China SGCC, Beijing Xuji Electric Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201610993832.7A priority Critical patent/CN106775618A/zh
Publication of CN106775618A publication Critical patent/CN106775618A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents

Abstract

本发明提供一种HTML5格式移动应用开发平台的代码自动生成方法,包括:生成可运行代码模板,并将多个可运行代码模板生成一个源库;对待迁移的应用程序的源代码进行分析以将其中固定代码段和动态代码段进行分离;将其中的固定代码段保留,并将其中的每一动态代码段分别生成其对应的基于Freemarker模板引擎的变量表达式;利用Freemarker模板引擎以及预生成的可运行代码模板,将固定代码段和根据动态代码段生成的变量表达式,生成可执行代码。

Description

HTML5格式移动应用开发平台的代码自动生成方法
技术领域
本发明属于涉及信息技术领域,尤其涉及一种HTML5格式移动应用开发平台的代码自动生成方法。
背景技术
随着信息技术的在广泛的运用,越来越多的工作可以通过智能移动终端来完成,这也彻底改变了人们生活和工作的方式。现有很多企业为了方便员工,将很多原来必须由计算机完成的工作迁移到智能移动终端上;在迁移时大多是将计算机版本的应用程序直接转换为智能终端版本的应用程序。但是这种迁移存在着以下的缺陷:
1、难以应对的终端多样性的问题面对众多的移动操作系统:如何解决多平台开发的技术差异性,如何降低移动应用开发的复杂度,如何在提高移动应用的交付速度的同时又保证高质的用户体验?
2、企业业务系统的集成问题:后端的集成问题,一直是企业领域传统难题,如何利用已有资源,快速的集成各种异构系统?
3、移动应用更新发布的问题:如何快速的同步的发布应用,如何做到应用无感知更新,如何做到应用增量更新,如果避免应用被第三方审核?
4、移动互联网特有的安全问题:如何避免移动终端易丢失造成的企业数据安全问题,如何防止无线网络的开放性易窃听问题,如何解决移动终端公私混用的造成的安全问题
针对上述问题,目前国际国内的解决方案层出不穷,方法都是一个,即使用HTML5来替代原生代码,并再此基础上建立一个移动应用开发平台。基于HTML5的移动应用开发平台虽然解决了上述诸多的问题,但其本身的问题也迅速爆发出来,包括:
1、性能问题:HTML5开发的APP使用时的流程度明显较原生APP慢;
2、功能问题:部分原生的功能无法调用。
HTML5应用APP虽然统一了代码标准,大幅降低了开发成本,但是由于HTML5的开发人员水平参差不齐,造成了产品性能和功能严重滞后的问题。
发明内容
针对现有技术中采用HTML5的应用APP存在的问题,本发明要解决的技术问题是提供一种有效且高效的面HTML5格式移动应用开发平台的代码自动生成方法,能够提高应用程序在迁移到智能终端时的效率。
为了解决上述问题,本发明实施例提出了一种HTML5格式移动应用开发平台的代码自动生成方法,包括:
生成可运行代码模板,并将多个可运行代码模板生成一个源库;
对待迁移的应用程序的源代码进行分析以将其中固定代码段和动态代码段进行分离;将其中的固定代码段保留,并将其中的每一动态代码段分别生成其对应的基于Freemarker模板引擎的变量表达式;
利用Freemarker模板引擎以及预生成的可运行代码模板,将固定代码段和根据动态代码段生成的变量表达式,生成可执行代码。
其中,所述对待迁移的应用程序的源代码进行分析以将其中固定代码段和动态代码段进行分离,具体包括:
利于预存储的固定代码库对所述待迁移的应用程序的源代码进行分析以将其中固定代码段和动态代码段进行分离,其中所述固定代码库内设有根据历史数据提取出的固定代码段样本。
其中,所述方法中利用开源的eclipse开发平台生成可运行代码模板,所述可运行代码模板是基于HTML5和/或Java代码算法。
本发明的上述技术方案的有益效果如下:上述的技术方案对提高项目建设效率和质量、提升项目建设管理水平起到积极的推动作用,其直接和间接效益如下所述:
1、直接效益分析
通过高质量的代码模板自动生成代码,统一了HTML5和Java等代码的编写标准,这样就解决了因为程序员水平参差不齐导致的代码质量和性能低下的问题,同时也大大提高了开发人员的工作效率,进一步的降低了HTML5移动应用的开发成本。
2、间接效益分析
通过长时间的模板积累,可以期待能形成一套完备的产品模板库,产品代码的开发和维护不再过度依赖高水平的开发人员,开发人员的交接成本就大幅降低,企业也不用担心项目组研发人员过于频繁的流动了。
附图说明
图1为本发明实施例的待迁移的应用程序的源代码的示意图;
图2为将图1中的源代码分离为固定代码和业务相关代码后的代码段示意图;
图3为本发明实施例的流程示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明实施例提出了一种如图3所示的HTML5格式移动应用开发平台的代码自动生成方法,能够对代码进行分析以提取代码的结构,并根据预设的代码模板自动生成代码。具体包括:
生成可运行代码模板,并将多个可运行代码模板生成一个源库;
对待迁移的应用程序的源代码进行分析以将其中固定代码段和动态代码段进行分离;将其中的固定代码段保留,并将其中的每一动态代码段分别生成其对应的基于Freemarker模板引擎的变量表达式;
利用Freemarker模板引擎以及预生成的可运行代码模板,将固定代码段和根据动态代码段生成的变量表达式,生成可执行代码。
其中,所述对待迁移的应用程序的源代码进行分析以将其中固定代码段和动态代码段进行分离,具体包括:
利于预存储的固定代码库对所述待迁移的应用程序的源代码进行分析以将其中固定代码段和动态代码段进行分离,其中所述固定代码库内设有根据历史数据提取出的固定代码段样本。
其中,所述方法中利用开源的eclipse开发平台生成可运行代码模板,所述可运行代码模板是基于HTML5和/或Java代码算法。
具体的,本发明实施例同时将代码分析提取功能和自动身材代码算法结合起来,具体功能如下:
1、代码模板的导入功能:本专利使用开源的eclipse开发平台,编写高质量的可运行代码,然后将其导入到模板库成为一键生成代码的源库;
2、自动代码分析功能:通过源库代码分析算法引擎,算法会分析和剥离源库代码中固定代码片段和动态代码片段,然后将剥离出来的动态代码片段生成各自对应的Freemarker模板语言变量表达式,最后生成完整的Freemarker最终可运行模板代码;
3、模板到正式代码的生成功能:通过使用FreeMarker,结合移动应用开发平台的实际结构和环境,生成对应的最终代码。
其中,自动代码分析可以采用以下方法:
代码分析是自动提取已有代码中的固定代码和业务相关代码,并将固定代码保留,将业务相关代码变为可变变量形式,如下图1。已有代码经过分析提取固定代码和业务代码后,可生成如图2所示的代码。由图1和图2可看出,代码分析和提取的重点在于区分固定代码和业务相关代码,这个功能需要长期的实践和修改才能日趋完善和稳定。
其中,自动代码生成方案可以采用以下方法:
使用FreeMarker,通过引用模板文件(.ftl)与模板数据,自动生成对应的可执行代码。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (3)

1.HTML5格式移动应用开发平台的代码自动生成方法,其特征在于,包括:
生成可运行代码模板,并将多个可运行代码模板生成一个源库;
对待迁移的应用程序的源代码进行分析以将其中固定代码段和动态代码段进行分离;将其中的固定代码段保留,并将其中的每一动态代码段分别生成其对应的基于Freemarker模板引擎的变量表达式;
利用Freemarker模板引擎以及预生成的可运行代码模板,将固定代码段和根据动态代码段生成的变量表达式,生成可执行代码。
2.根据权利要求1所述的HTML5格式移动应用开发平台的代码自动生成方法,其特征在于,所述对待迁移的应用程序的源代码进行分析以将其中固定代码段和动态代码段进行分离,具体包括:
利于预存储的固定代码库对所述待迁移的应用程序的源代码进行分析以将其中固定代码段和动态代码段进行分离,其中所述固定代码库内设有根据历史数据提取出的固定代码段样本。
3.根据权利要求1所述的HTML5格式移动应用开发平台的代码自动生成方法,其特征在于,所述方法中利用开源的eclipse开发平台生成可运行代码模板,所述可运行代码模板是基于HTML5和/或Java代码算法。
CN201610993832.7A 2016-11-09 2016-11-09 Html5格式移动应用开发平台的代码自动生成方法 Pending CN106775618A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610993832.7A CN106775618A (zh) 2016-11-09 2016-11-09 Html5格式移动应用开发平台的代码自动生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610993832.7A CN106775618A (zh) 2016-11-09 2016-11-09 Html5格式移动应用开发平台的代码自动生成方法

Publications (1)

Publication Number Publication Date
CN106775618A true CN106775618A (zh) 2017-05-31

Family

ID=58973210

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610993832.7A Pending CN106775618A (zh) 2016-11-09 2016-11-09 Html5格式移动应用开发平台的代码自动生成方法

Country Status (1)

Country Link
CN (1) CN106775618A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184266A (zh) * 2011-06-27 2011-09-14 武汉大学 一种页面与数据分离的动态wap网站自动生成方法
CN103019684A (zh) * 2012-11-20 2013-04-03 北京思特奇信息技术股份有限公司 一种基于动态模板的配置业务页面的方法
CN105242914A (zh) * 2015-09-06 2016-01-13 江苏马上游科技股份有限公司 一种基于模型驱动生成代码的方法及系统
CN105260189A (zh) * 2015-11-02 2016-01-20 江苏马上游科技股份有限公司 基于模型驱动生成代码的方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184266A (zh) * 2011-06-27 2011-09-14 武汉大学 一种页面与数据分离的动态wap网站自动生成方法
CN103019684A (zh) * 2012-11-20 2013-04-03 北京思特奇信息技术股份有限公司 一种基于动态模板的配置业务页面的方法
CN105242914A (zh) * 2015-09-06 2016-01-13 江苏马上游科技股份有限公司 一种基于模型驱动生成代码的方法及系统
CN105260189A (zh) * 2015-11-02 2016-01-20 江苏马上游科技股份有限公司 基于模型驱动生成代码的方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张果: "Spring MVC 学习总结(七)——FreeMarker模板引擎与动态页面静态化", 《HTTPS://WWW.CNBLOGS.COM/BEST/P/5681511.HTML》 *

Similar Documents

Publication Publication Date Title
CN103176804B (zh) 一种用户界面实现方法
CN104881320A (zh) 一种可伸缩的生成文本的方法
CN102184107B (zh) 一种用户界面服务组合方法及系统
ATE553448T1 (de) Intelligenter import von informationen von der benutzerschnittstelle einer drittanwendung mit künstlicher intelligenz
CN103631763A (zh) 多人协作的大型文档编辑装置和大型文档编辑方法
CN106503496A (zh) 基于操作码替换与合并的Python脚本程序防逆转方法
CN104615710A (zh) 一种电子地图框架数据更新方法
CN104111857A (zh) 一种多机型bios参数自动配置的方法
CN105718601A (zh) 一种业务动态集成模型及其应用方法
CN107783820A (zh) 一种云平台虚拟机定时操作任务设置方法
CN102214281A (zh) 一种软件保护方法和装置
CN112261045A (zh) 一种基于攻击原理的网络攻击数据自动生成方法及系统
CN107479866A (zh) 基于重构技术实现开放终端应用数据与功能的方法
CN105094848A (zh) 一种基于模板的轻量级动态门户计算方法
CN214311539U (zh) 基于园区服务生态系统的结构可调式显示框架
CN105159974A (zh) 一种跨数据源的web服务自动生成方法
CN114048188A (zh) 一种跨数据库的数据迁移系统及方法
CN106775618A (zh) Html5格式移动应用开发平台的代码自动生成方法
CN105700934A (zh) 一种智能编译方法和智能编译系统
CN104361484A (zh) 一种实现多平台数据交互的办公自动化系统及方法
US20120078967A1 (en) Integration of a Framework Application and a Task Database
CN107688990A (zh) 一种企业客户定制团建旅行平台运营管理系统
CN106648828A (zh) 一种面向领域的虚拟机快速部署方法
Martinuzzi et al. The Austrian strategy for sustainable development: process review and policy analysis
CN113867714A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20170531

RJ01 Rejection of invention patent application after publication