CN110737468A - 一种可执行程序的跨平台实现方法 - Google Patents

一种可执行程序的跨平台实现方法 Download PDF

Info

Publication number
CN110737468A
CN110737468A CN201810794542.9A CN201810794542A CN110737468A CN 110737468 A CN110737468 A CN 110737468A CN 201810794542 A CN201810794542 A CN 201810794542A CN 110737468 A CN110737468 A CN 110737468A
Authority
CN
China
Prior art keywords
operating system
interface
abstract class
abstract
abstracting
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
CN201810794542.9A
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.)
Beijing Road Traffic Technology Service Co Ltd
Original Assignee
Beijing Road Traffic Technology Service 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 Road Traffic Technology Service Co Ltd filed Critical Beijing Road Traffic Technology Service Co Ltd
Priority to CN201810794542.9A priority Critical patent/CN110737468A/zh
Publication of CN110737468A publication Critical patent/CN110737468A/zh
Pending legal-status Critical Current

Links

Images

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/20Software design
    • G06F8/24Object-oriented

Landscapes

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

Abstract

本发明涉及一种可执行程序的跨平台实现方法,包括:S1.对至少两种操作系统的硬件驱动进行抽象并生成第一抽象类;S2.对所述操作系统的界面渲染进行抽象并生成第二抽象类;S3.基于所述第一抽象类和所述第二抽象类编写可执行程序的源代码;S4.根据所述操作系统的接口类型,将所述源代码打包成与所述操作系统相匹配的实现类。根据本发明,可以只通过编写一次源代码,通过对源代码按照不同操作系统的接口对源代码进行相应的编译及封装后,即可得到不同平台的多套餐饮管理系统。同时,还保持了界面样式、操作逻辑的完全一致。不需要开展多个开发小组分别开发不同操作系统的餐饮管理系统,极大的简化了跨平台开发的成本,节约了资源。

Description

一种可执行程序的跨平台实现方法
技术领域
本发明涉及一种可执行程序的跨平台实现方法,尤其涉及一种用于餐饮管理系统的可执行程序的跨平台实现方法。
背景技术
近年来,随着移动设备,如手机、平板、智能穿戴设备的兴起,使得应用程序的开发和应用达到了一个前所未有的高度。通常情况下,一般APP的研发都是针对操作系统,针对特定服务平台而制定的,如果在不同平台,不同操作系统上发布产品,必须要研发多套应用程序。目前市面上存在多种餐饮管理系统,他们主要运行在windows或者是安卓操作系统上。两个操作系统开发软件的方式都有着非常大的差异,导致餐饮软件不能同时兼容两个平台。如果想在两个操作系统上同时运行,需要对于每个操作系统平台投入相应的开发人员各自进行开发不同的应用程序版本,从而导致高昂的研发成本,时间成本和发布成本。
发明内容
本发明的目的在于提供一种可执行程序的跨平台实现方法,解决可执行程序不能同时兼容多个平台的问题。
为实现上述发明目的,本发明提供一种可执行程序的跨平台实现方法,包括:
S1.对至少两种操作系统的硬件驱动进行抽象并生成第一抽象类;
S2.对所述操作系统的界面渲染进行抽象并生成第二抽象类;
S3.基于所述第一抽象类和所述第二抽象类编写可执行程序的源代码;
S4.根据所述操作系统的接口类型,将所述源代码打包成与所述操作系统相匹配的实现类。
根据本发明的一个方面,步骤S1中包括:
S11.根据所述操作系统的系统特性,分析所述操作系统的硬件驱动的驱动特性;
S12.根据各所述操作系统的所述驱动特性,将各所述操作系统的硬件驱动抽象为同一格式的第一抽象类。
根据本发明的一个方面,步骤S2中包括:
S21.根据所述操作系统的界面特性,获取所述操作系统的界面特性;
S22.根据各所述操作系统的所述界面特性,将各所述操作系统的界面渲染抽象为同一格式的第二抽象类。
根据本发明的一个方面,步骤S22中,将各所述操作系统的界面渲染抽象为同一格式的第二抽象类的过程中,将界面样式抽象为一系列基本操作空间的组合,并且界面布局通过相对位置描述;以及将交互行为抽象为一系列的动作。
根据本发明的一个方面,步骤S3中包括:
S31.建立标准的基础控件抽象类;
S32.基于所述第二抽象类对用户界面进行配置,并基于所述第一抽象类对所述源代码进行封装。
根据本发明的一个方面,步骤S4包括;
S41.根据所述操作系统的接口类型,对所述源代码进行编译成相应格式的程序;
S42.将编译后形成的所述程序打包生成相应格式的安装程序。
根据本发明的一个方面,所述操作系统包括:Windows mobile操作系统、Android操作系统、苹果iso操作系统、Windows操作系统及Linux操作系统。
根据本发明的一个方面,步骤S33中,通过采用Java AWT并基于所述第二抽象类对用户界面进行配置。
根据本发明的一种方案,可以只通过编写一次源代码,通过对源代码按照不同操作系统的接口对源代码进行相应的编译及封装后,即可得到不同平台的多套餐饮管理系统。同时,还保持了界面样式、操作逻辑的完全一致。不需要开展多个开发小组分别开发不同操作系统的餐饮管理系统,极大的简化了跨平台开发的成本,节约了资源,从而可节省(1-(1/N))*100%的资源,N为跨越的目标平台数量。采用本发明的方法,还有利于对餐饮管理系统的维护,降低了维护人员的工作量,进一步节约了人力资源。同时,多种操作系统上的餐饮管理系统的界面样式和操作逻辑保持一致,还进一步保证用户操作的便利性,提高了用户的使用体验。
附图说明
图1示意性表示根据本发明的一种实施方式的流程图;
图2示意性表示根据本发明的一种实施方式的应用程序封装流程图;
图3示意性表示根据本发明的一种实施方式的系统开发库框图。
具体实施方式
为了更清楚地说明本发明实施方式或现有技术中的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
在针对本发明的实施方式进行描述时,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”所表达的方位或位置关系是基于相关附图所示的方位或位置关系,其仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此上述术语不能理解为对本发明的限制。
下面结合附图和具体实施方式对本发明作详细地描述,实施方式不能在此一一赘述,但本发明的实施方式并不因此限定于以下实施方式。
如图1所示,根据本发明的一种实施方式,本发明的一种可执行程序的跨平台实现方法,包括:
S1.对至少两种操作系统的硬件驱动进行抽象并生成第一抽象类;
S2.对操作系统的界面渲染进行抽象并生成第二抽象类;
S3.基于第一抽象类和第二抽象类编写可执行程序的源代码;
S4.根据操作系统的接口类型,将源代码打包成与操作系统相匹配的实现类。
根据本发明的一种实施方式,步骤S1中包括:
S11.根据操作系统的系统特性,分析操作系统的硬件驱动的驱动特性;
S12.根据各操作系统的驱动特性,将各操作系统的硬件驱动抽象为同一格式的第一抽象类。
根据本发明的一种实施方式,步骤S2中包括:
S21.根据操作系统的界面特性,获取操作系统的界面特性;
S22.根据各操作系统的界面特性,将各操作系统的界面渲染抽象为同一格式的第二抽象类。在本实施方式中,将各操作系统的界面渲染抽象为同一格式的第二抽象类的过程中,将界面样式抽象为一系列基本操作空间的组合,其中基本操作空间包括按钮、输入框、单选框、复选框等,并且界面布局通过相对位置描述;以及将交互行为抽象为一系列的动作。
根据本发明的一种实施方式,步骤S3中包括:
S31.建立标准的基础控件抽象类,其中,基础控件的抽象类包括按钮、输入框、单选框、复选框等;
S32.基于第二抽象类对用户界面进行配置,并基于第一抽象类对源代码进行封装。在本实施方式中,通过采用Java AWT并基于第二抽象类对用户界面进行配置。
根据本发明的一种实施方式,步骤S4包括;
S41.根据操作系统的接口类型,对源代码进行编译成相应格式的程序;
S42.将编译后形成的程序打包生成相应格式的安装程序。
在本实施方式中,操作系统包括:Windows mobile操作系统、Android操作系统、苹果iso操作系统、Windows操作系统及Linux操作系统。如图2所示,在本实施方式中,通过选择应用程序需要运行的目标平台对源代码进行编译。根据需要选取Windows操作系统和Android操作系统为应用程序的运行平台。针对Windows操作系统,复制Windows操作系统接口的实现类,对源代码编译构建JAVA程序,完成源代码的编译后打包成可在Windows操作系统上运行的EXE安装程序。针对Android操作系统,复制Android操作系统接口的实现类,对源代码编译构建JAVA程序,完成源代码的编译后打包成可在Android操作系统上运行的APK安装程序。
如图3所示,根据本发明的一种实施方式,本发明的可执行程序的跨平台实现方法通过系统开发库进行开发。在本实施方式中,适用于本发明的系统开发库包括核心代码编辑模块、GUI代码编辑模块、扩展模块、工具集模块和封装模块。在本实施方式中,扩展模块包括事件模块、驱动模块、XML模块、Sqlite数据库模块和打印模块。在本实施方式中,工具集模块包括打包工具模块和可编辑UI布局器模块。在本实施方式中,通过本系统开发库中的核心代码编辑模块编辑可执行程序的核心代码,并且通过GUI代码编辑模块编辑可执行程序的图形界面代码。通过分别选择相应的扩展模块对可执行程序所需执行的任务或功能进行添加,构成本发明的可执行程序的源代码。在本实施方式中,源代码通过打包工具模块进行打包,以Windows操作系统和Android操作系统为例,打包工具模块包括Windows操作系统打包工具和Android操作系统打包工具,分别将源代码打包成相应格式。在本实施方式中,完成对源代码的打包后,通过封装模块进行封装,以Windows操作系统和Android操作系统为例,封装模块包括Windows操作系统封装模块和Android操作系统封装模块,完成封装后生成在不同操作系统上运行的可执行程序。
根据本发明的方法,可以只通过编写一次源代码,通过对源代码按照不同操作系统的接口对源代码进行相应的编译及封装后,即可得到不同平台的多套餐饮管理系统。同时,还保持了界面样式、操作逻辑的完全一致。不需要开展多个开发小组分别开发不同操作系统的餐饮管理系统,极大的简化了跨平台开发的成本,节约了资源,从而可节省(1-(1/N))*100%的资源,N为跨越的目标平台数量。采用本发明的方法,还有利于对餐饮管理系统的维护,降低了维护人员的工作量,进一步节约了人力资源。同时,多种操作系统上的餐饮管理系统的界面样式和操作逻辑保持一致,还进一步保证用户操作的便利性,提高了用户的使用体验。
上述内容仅为本发明的具体方案的例子,对于其中未详尽描述的设备和结构,应当理解为采取本领域已有的通用设备及通用方法来予以实施。
以上所述仅为本发明的一个方案而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种可执行程序的跨平台实现方法,包括:
S1.对至少两种操作系统的硬件驱动进行抽象并生成第一抽象类;
S2.对所述操作系统的界面渲染进行抽象并生成第二抽象类;
S3.基于所述第一抽象类和所述第二抽象类编写可执行程序的源代码;
S4.根据所述操作系统的接口类型,将所述源代码打包成与所述操作系统相匹配的实现类。
2.根据权利要求1所述的跨平台实现方法,其特征在于,步骤S1中包括:
S11.根据所述操作系统的系统特性,分析所述操作系统的硬件驱动的驱动特性;
S12.根据各所述操作系统的所述驱动特性,将各所述操作系统的硬件驱动抽象为同一格式的第一抽象类。
3.根据权利要求2所述的跨平台实现方法,其特征在于,步骤S2中包括:
S21.根据所述操作系统的界面特性,获取所述操作系统的界面特性;
S22.根据各所述操作系统的所述界面特性,将各所述操作系统的界面渲染抽象为同一格式的第二抽象类。
4.根据权利要求3所述的跨平台实现方法,其特征在于,步骤S22中,将各所述操作系统的界面渲染抽象为同一格式的第二抽象类的过程中,将界面样式抽象为一系列基本操作空间的组合,并且界面布局通过相对位置描述;以及将交互行为抽象为一系列的动作。
5.根据权利要求1所述的跨平台实现方法,其特征在于,步骤S3中包括:
S31.建立标准的基础控件抽象类;
S32.基于所述第二抽象类对用户界面进行配置,并基于所述第一抽象类对所述源代码进行封装。
6.根据权利要求1所述的跨平台实现方法,其特征在于,步骤S4包括;
S41.根据所述操作系统的接口类型,对所述源代码进行编译成相应格式的程序;
S42.将编译后形成的所述程序打包生成相应格式的安装程序。
7.根据权利要求3所述的跨平台实现方法,其特征在于,所述操作系统包括:Windowsmobile操作系统、Android操作系统、苹果iso操作系统、Windows操作系统及Linux操作系统。
8.根据权利要求3所述的跨平台实现方法,其特征在于,步骤S33中,通过采用Java AWT并基于所述第二抽象类对用户界面进行配置。
CN201810794542.9A 2018-07-19 2018-07-19 一种可执行程序的跨平台实现方法 Pending CN110737468A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810794542.9A CN110737468A (zh) 2018-07-19 2018-07-19 一种可执行程序的跨平台实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810794542.9A CN110737468A (zh) 2018-07-19 2018-07-19 一种可执行程序的跨平台实现方法

Publications (1)

Publication Number Publication Date
CN110737468A true CN110737468A (zh) 2020-01-31

Family

ID=69233632

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810794542.9A Pending CN110737468A (zh) 2018-07-19 2018-07-19 一种可执行程序的跨平台实现方法

Country Status (1)

Country Link
CN (1) CN110737468A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111796898A (zh) * 2020-07-03 2020-10-20 北京三快在线科技有限公司 布局调整方法、装置、计算机设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080127070A1 (en) * 2006-10-23 2008-05-29 Roland Barcia System and method for instantiating an interface or abstract class in application code
CN101295247A (zh) * 2008-06-24 2008-10-29 杭州义益自动化有限公司 一种跨cpu平台的嵌入式图形界面生成方法
CN101303644A (zh) * 2007-05-08 2008-11-12 西北民族大学 基于Windows OS与Linux OS的梵音藏文输入法
CN101304496A (zh) * 2008-06-19 2008-11-12 上海交通大学 基于java的手机电视实现方法
CN102681893A (zh) * 2011-03-09 2012-09-19 腾讯科技(深圳)有限公司 可执行程序的跨平台实现方法及移动终端
CN106990966A (zh) * 2017-03-31 2017-07-28 中国科学技术大学苏州研究院 基于前端框架的移动端跨平台应用开发框架及开发方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080127070A1 (en) * 2006-10-23 2008-05-29 Roland Barcia System and method for instantiating an interface or abstract class in application code
CN101303644A (zh) * 2007-05-08 2008-11-12 西北民族大学 基于Windows OS与Linux OS的梵音藏文输入法
CN101304496A (zh) * 2008-06-19 2008-11-12 上海交通大学 基于java的手机电视实现方法
CN101295247A (zh) * 2008-06-24 2008-10-29 杭州义益自动化有限公司 一种跨cpu平台的嵌入式图形界面生成方法
CN102681893A (zh) * 2011-03-09 2012-09-19 腾讯科技(深圳)有限公司 可执行程序的跨平台实现方法及移动终端
CN106990966A (zh) * 2017-03-31 2017-07-28 中国科学技术大学苏州研究院 基于前端框架的移动端跨平台应用开发框架及开发方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111796898A (zh) * 2020-07-03 2020-10-20 北京三快在线科技有限公司 布局调整方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN107168749B (zh) 一种编译方法、装置、设备和计算机可读存储介质
WO2017185606A1 (zh) 基于overlay机制的APK开发方法及系统
CN110442327B (zh) 一种应用程序构建方法、装置、服务器
CN103677835B (zh) 软件集成方法及系统
CN105760162A (zh) 混合型app软件的开发方法
CN111061489B (zh) 一种多平台编译检测方法、装置、设备及介质
CN104679513A (zh) 一种智能终端中的设备驱动架构开发方法
KR102156371B1 (ko) 네이티브 빌드 기반의 임베디드 소프트웨어 개발 환경을 지원하기 위한 임베디드 소프트웨어 개발 도구 제공 방법 및 장치
CN111176629A (zh) 一种应用开发的方法和装置
CN113590104B (zh) 实现图形化无代码软件开发平台及方法
US12032941B2 (en) Method and system for updating legacy software
CN101145982A (zh) 一种基于对象模型与协议组态配置的通用网关设计方法
CN110659031A (zh) 应用程序的编译方法、装置、电子设备及存储介质
CN104035778A (zh) 一种Android应用程序开发方法
US20010047512A1 (en) Method and system for linking multiple processors having shared memory
CN111338925A (zh) 小程序测试方法及装置、系统、电子设备和存储介质
CN102541566A (zh) 半导体软件界面框架生成方法
CN111124420A (zh) 编译方法、装置、电子设备及可读存储介质
CN111158690A (zh) 桌面应用框架、构建方法、桌面应用运行方法及存储介质
CN104331315A (zh) 一种任意层次json对象的解析与生成方法及系统
CN104598267A (zh) 应用的调起方法及装置
CN102023857B (zh) 基于ServiceOS的多平台应用程序服务管理方法及系统
CN112114896A (zh) 一种插件框架及业务功能扩展的方法
CN105511935A (zh) 资源索引值的获取方法及装置
US10891113B2 (en) Source code rewriting during recording to provide both direct feedback and optimal code

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
AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20240614