CN103631585A - 一种用于开发应用程序的方法及系统 - Google Patents
一种用于开发应用程序的方法及系统 Download PDFInfo
- Publication number
- CN103631585A CN103631585A CN201310573604.0A CN201310573604A CN103631585A CN 103631585 A CN103631585 A CN 103631585A CN 201310573604 A CN201310573604 A CN 201310573604A CN 103631585 A CN103631585 A CN 103631585A
- Authority
- CN
- China
- Prior art keywords
- operating system
- application program
- terminal
- dll
- dynamic link
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供一种用于开发应用程序的方法及系统,通过第一编程接口在第一操作系统中编写应用程序;通过第二编程接口在第二操作系统中调试所述应用程序,其中,所述第一操作系统与所述第二操作系统为不同的操作系统,编写应用程序的过程中访问所述第一编程接口使用的程序语言,与调试所述应用程序的过程中访问所述第二编程接口使用的程序语言相同。应用本发明提供的方法及系统可实现基于多种操作系统平行地进行应用程序的开发过程。
Description
技术领域
本发明涉及应用程序开发技术领域,尤其涉及一种用于开发应用程序的方法及系统。
背景技术
应用程序开发是在某一种操作系统环境下进行应用程序的编写和调试等工作,开发出的应用程序运行环境单一,与开发时所使用的操作系统环境。而目前各公司的操作系统有很多,如Android、BSD、iOS、Linux、Mac OS X、Windows、Windows Phone和z/OS等,因此,对于不同的操作系统,开发应用程序所使用的开发工具或者程序语言也不相同。
目前,若要使一个应用程序能够在多种操作系统下都能运行,就需要针对每种操作系统分别编写程序代码,导致开发过程效率很低。
发明内容
为解决上述问题,本发明提供一种用于开发应用程序的方法及系统,实现针对多种操作系统只需编写一份程序代码完成平行开发的目的。具体方案如下:
一种用于开发应用程序的方法,包括:
通过第一编程接口在第一操作系统中编写应用程序;
通过第二编程接口在第二操作系统中调试所述应用程序,其中,所述第一操作系统与所述第二操作系统为不同的操作系统,编写应用程序的过程中访问所述第一编程接口使用的程序语言,与调试所述应用程序的过程中访问所述第二编程接口使用的程序语言相同。
一种用于开发应用程序的系统,包括:
第一终端,用于通过第一编程接口在第一操作系统中编写应用程序;
第二终端,用于通过第二编程接口在第二操作系统中调试所述应用程序,其中,所述第一终端中的第一操作系统与所述第二终端中的第二操作系统为不同的操作系统,在所述第一终端和所述第二终端中,访问所述第一编程接口与所述第二编程接口所使用的程序语言相同。
本发明实施例提供的用于开发应用程序的方法及系统,通过对编程接口的访问方式,实现了针对多种操作系统使用相同的一份程序代码完成应用程序的平行开发。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明实施例提供的一种用于开发应用程序的方法流程图;
图2是本发明实施例提供的一种用于开发应用程序的系统结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。
实施例一
如图1所示,本实施例提供一种用于开发应用程序的方法,包括:
步骤101,通过第一编程接口在第一操作系统中编写应用程序;
步骤102,通过第二编程接口在第二操作系统中调试所述应用程序,其中,所述第一操作系统与所述第二操作系统为不同的操作系统,编写应用程序的过程中访问所述第一编程接口使用的程序语言,与调试所述应用程序的过程中访问所述第二编程接口使用的程序语言相同。
本发明所述编程接口是应用程序编程接口,即Application ProgrammingInterface,简称API,应用程序编程接口,是一些预先定义的函数、定义、程序及协议的集合,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。通过API接口实现计算机软件之间的相互通信。API的一个主要功能是提供通用功能集。开发人员通过调用API函数对应用程序进行开发,可以减轻编程任务。
本发明所述操作系统是指管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机系统的关键组成部分,负责管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本任务。操作系统的种类很多,各种设备安装的操作系统可从简单到复杂,可从手机的嵌入式操作系统到超级计算机的大型操作系统。例如,现代操作系统主要有Android(安卓)、iOS(iphone OperationSystem)、Linux、Windows等。
本实施例提供的用于开发应用程序的方法,针对不同的操作系统分别定义API,针对每个操作系统分别将基础的功能函数封装成多个功能模块或函数集合,用于完成应用程序的功能,并且以相同的方式对功能模块或者函数集合进行声明,例如,以相同的名称为功能模块或者函数集合命名,以便于在不同的操作系统中以相同的程序语言实现对功能模块或函数集合的调用,从而实现跨操作系统的平行开发,并且本发明提供的方法可以在多于两个的终端上进行平行开发。
示例性的,所述第一操作系统为视窗,即Windows、IOS和安卓中的一个操作系统,所述第二操作系统为视窗、IOS和安卓中除所述第一操作系统以外的一个操作系统。
开发应用程序可在Windows、IOS和安卓系统间平行开发。
示例性的,通过第二编程接口在第二操作系统中调试所述应用程序,包括:
在所述第二操作系统中,利用应用于所述第二操作系统的编译工具确定所述应用程序中使用的函数;
利用应用于所述第二操作系统的编译工具从所述第二编程接口调用所述应用程序中使用的函数,进行编译。
开发应用程序可在任意一种操作系统环境下,应用该环境下的软件开发工具进行编写和编译以及调试工作,当所述应用程序在某一种操作系统中编写完成并经过调试直到程序代码无误后,可将所述程序代码在另一种操作系统中直接进行编译,用于本方法在先对API的声明方式,使得所述程序代码在另一操作系统中的编译过程不会遇到障碍。
示例性的,应用于所述第二操作系统的编译和发布工具为visual studio、xcode和NDK中的一种工具。
visual studio即Microsoft Visual Studio,简称VS,是美国微软公司的开发工具包系列产品。VS是一个基本完整的开发工具集,它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境等等。visual studio支持开发人员使用C、C++等程序语言,所写的目标代码适用于微软支持的所有平台,包括Windows、Windows Mobile、Windows CE、.NETFramework、.NET Compact Framework和Microsoft Silverlight及WindowsPhone。
Xcode是苹果公司向开发人员提供的应用程序开发工具,用于开发Mac OSX,iOS的应用程序。运行于苹果公司的Mac操作系统下。Xcode支持开发人员使用C、C++、Objective C、AppleScript和Java。所写的目标代码适用于MacOS X、iOS等操作系统。
NDK,即Native Development Kit。NDK是应用于安卓系统的应用程序开发工具,帮助开发者快速开发C或C++的动态库。所写的目标代码适用于安卓操作系统。
上述三种开发工具都支持C语言或C++语言,所以应用本发明实施例提供的方法进行应用程序开发时可使用C语言或C++语言程序代码实现应用程序的编写工作。
示例性的,当完成所述的应用程序平行开发的步骤后,还可针对不同的操作系统分别制作shell程序,用于管理和维护所述应用程序,以及完成系统调用工作。
Shell程序是一种具备特殊功能的程序,它是介于使用者和核心应用程序间的一个接口。应用程序由编译器将程序转为二进制代码,而shell程序,由输入设备读取命令,再将其转为计算机可以了解的机械码,然后执行它。
shell是计算机用来解释用户输入的命令然后决定进行何种处理的程序。shell也可以在非交互模式下调用。例如,可以把一些要输入的命令预先存放在文本文件里,叫做shell脚本,然后执行该文件。
实施例二
如图2所示,本实施例提供一种用于开发应用程序的系统,用于实现图1所示的方法,包括:
第一终端201,用于通过第一编程接口在第一操作系统中编写应用程序;
第二终端202,用于通过第二编程接口在第二操作系统中调试所述应用程序,其中,所述第一终端中的第一操作系统与所述第二终端中的第二操作系统为不同的操作系统,在所述第一终端和所述第二终端中,访问所述第一编程接口与所述第二编程接口所使用的程序语言相同。
本发明所述第一终端201、第二终端202可以是具有运算功能的计算机,并且可在所述计算机上安装某一种操作系统。
示例性的,所述第一终端201中的第一操作系统为Windows、IOS和安卓中的一个操作系统;所述第二终端202中的第二操作系统为Windows、IOS和安卓中除所述第一操作系统以外的一个操作系统。
为了实现平行开发的目的,可应用多个终端并且在每个终端上安装不同的操作系统。
示例性的,所述第二终端202还用于在所述第二操作系统中,利用应用于所述第二操作系统的编译工具确定所述应用程序中使用的函数;
所述第二终端202还用于利用应用于所述第二操作系统的编译工具从所述第二编程接口调用所述应用程序中使用的函数,进行编译。
示例性的,所述第二终端202中的所述第二操作系统应用的编译和发布工具为visual studio、xcode和NDK中的一种工具。
上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (8)
1.一种用于开发应用程序的方法,其特征在于,包括:
通过第一编程接口在第一操作系统中编写应用程序;
通过第二编程接口在第二操作系统中调试所述应用程序,其中,所述第一操作系统与所述第二操作系统为不同的操作系统,编写应用程序的过程中访问所述第一编程接口使用的程序语言,与调试所述应用程序的过程中访问所述第二编程接口使用的程序语言相同。
2.根据权利要求1所述的方法,其特征在于,
所述第一操作系统为视窗、IOS和安卓中的一个操作系统,所述第二操作系统为视窗、IOS和安卓中除所述第一操作系统以外的一个操作系统。
3.根据权利要求1或2所述的方法,其特征在于,通过第二编程接口在第二操作系统中调试所述应用程序,包括:
在所述第二操作系统中,利用应用于所述第二操作系统的编译工具确定所述应用程序中使用的函数;
利用应用于所述第二操作系统的编译工具从所述第二编程接口调用所述应用程序中使用的函数,进行编译。
4.根据权利要求3所述的方法,其特征在于,应用于所述第二操作系统的编译和发布工具为visual studio、xcode和NDK中的一种工具。
5.一种用于开发应用程序的系统,其特征在于,包括:
第一终端,用于通过第一编程接口在第一操作系统中编写应用程序;
第二终端,用于通过第二编程接口在第二操作系统中调试所述应用程序,其中,所述第一终端中的第一操作系统与所述第二终端中的第二操作系统为不同的操作系统,在所述第一终端和所述第二终端中,访问所述第一编程接口与所述第二编程接口所使用的程序语言相同。
6.根据权利要求5所述的系统,其特征在于,所述第一终端中的第一操作系统为视窗、IOS和安卓中的一个操作系统;所述第二终端中的第二操作系统为视窗、IOS和安卓中除所述第一操作系统以外的一个操作系统。
7.根据权利要求5或6所述的系统,其特征在于,所述第二终端还用于在所述第二操作系统中,利用应用于所述第二操作系统的编译工具确定所述应用程序中使用的函数;
所述第二终端还用于利用应用于所述第二操作系统的编译工具从所述第二编程接口调用所述应用程序中使用的函数,进行编译。
8.根据权利要求7所述的系统,其特征在于,所述第二终端中的所述第二操作系统应用的编译和发布工具为visual studio、xcode和NDK中的一种工具。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310573604.0A CN103631585A (zh) | 2013-11-13 | 2013-11-13 | 一种用于开发应用程序的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310573604.0A CN103631585A (zh) | 2013-11-13 | 2013-11-13 | 一种用于开发应用程序的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103631585A true CN103631585A (zh) | 2014-03-12 |
Family
ID=50212683
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310573604.0A Pending CN103631585A (zh) | 2013-11-13 | 2013-11-13 | 一种用于开发应用程序的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103631585A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105607896A (zh) * | 2015-09-25 | 2016-05-25 | 中国铁路总公司 | 应用程序的开发方法和系统 |
CN103870284B (zh) * | 2014-04-01 | 2017-09-22 | 广州番禺职业技术学院 | 手机游戏开发装置与方法 |
CN108427636A (zh) * | 2018-01-09 | 2018-08-21 | 阿里巴巴集团控股有限公司 | 应用的测试方法、系统和电子设备 |
WO2020010554A1 (en) * | 2018-07-11 | 2020-01-16 | Accenture Global Solutions Limited | Managing software components for software application development |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040095386A1 (en) * | 2002-11-14 | 2004-05-20 | Sun Microsystems, Inc. | Java interface for accessing graphical user interface-based java tools |
US7174542B2 (en) * | 2002-04-12 | 2007-02-06 | Sun Microsystems, Inc. | System and method Xlet and applet manager testing |
CN101630251A (zh) * | 2009-08-05 | 2010-01-20 | 中国船舶重工集团公司第七○九研究所 | 跨桌面和嵌入式系统的图形界面开发方法及系统 |
-
2013
- 2013-11-13 CN CN201310573604.0A patent/CN103631585A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7174542B2 (en) * | 2002-04-12 | 2007-02-06 | Sun Microsystems, Inc. | System and method Xlet and applet manager testing |
US20040095386A1 (en) * | 2002-11-14 | 2004-05-20 | Sun Microsystems, Inc. | Java interface for accessing graphical user interface-based java tools |
EP1439464A2 (en) * | 2002-11-14 | 2004-07-21 | Sun Microsystems, Inc. | Java interface for accessing graphical user interface-based java tools |
CN101630251A (zh) * | 2009-08-05 | 2010-01-20 | 中国船舶重工集团公司第七○九研究所 | 跨桌面和嵌入式系统的图形界面开发方法及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103870284B (zh) * | 2014-04-01 | 2017-09-22 | 广州番禺职业技术学院 | 手机游戏开发装置与方法 |
CN105607896A (zh) * | 2015-09-25 | 2016-05-25 | 中国铁路总公司 | 应用程序的开发方法和系统 |
CN105607896B (zh) * | 2015-09-25 | 2018-10-02 | 中国铁路总公司 | 应用程序的开发方法和系统 |
CN108427636A (zh) * | 2018-01-09 | 2018-08-21 | 阿里巴巴集团控股有限公司 | 应用的测试方法、系统和电子设备 |
WO2020010554A1 (en) * | 2018-07-11 | 2020-01-16 | Accenture Global Solutions Limited | Managing software components for software application development |
CN110945478A (zh) * | 2018-07-11 | 2020-03-31 | 埃森哲环球解决方案有限公司 | 管理用于软件应用开发的软件组件 |
US10768911B2 (en) | 2018-07-11 | 2020-09-08 | Accenture Global Solutions Limited | Managing software components for software application development |
CN110945478B (zh) * | 2018-07-11 | 2021-07-06 | 埃森哲环球解决方案有限公司 | 管理用于软件应用开发的软件组件 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6122493B2 (ja) | 適応的に移植性を有したライブラリ | |
Lin et al. | Benchmark dalvik and native code for android system | |
CN101667154A (zh) | 用于改善片上仿真系统中高级语言的仿真速度的装置和方法 | |
KR20140054948A (ko) | 임베디드 시스템을 위한 오픈씨엘 응용 소프트웨어 개발 지원 도구 구성 및 방법 | |
US9047101B2 (en) | Method for compiling an intermediate code of an application | |
CN106020921B (zh) | 外设应用程序的移植方法及其系统 | |
CN101859244A (zh) | 多工具链工程构建方法及系统 | |
CN100492387C (zh) | 基于Keil C51的软件保护开发的方法和系统 | |
CN106648755B (zh) | 一种在安卓art环境中动态加载dex的方法及装置 | |
CN110659031A (zh) | 应用程序的编译方法、装置、电子设备及存储介质 | |
WO2015032311A1 (zh) | 一种代码生成方法、编译器、调度方法、装置及调度系统 | |
CN103631585A (zh) | 一种用于开发应用程序的方法及系统 | |
JP6401235B2 (ja) | コントラクトのためのオペレーティングシステムサポート | |
CN102004662A (zh) | 嵌入式可裁剪式虚拟机 | |
CN112114789B (zh) | 一种业务开发方法及设备 | |
CN102722438A (zh) | 一种内核调试的方法和设备 | |
CN109753281B (zh) | 一种基于图形化编程的微电网能量管理策略可视化开发工具 | |
CN102331961A (zh) | 并行模拟多个处理器的方法及系统、调度器 | |
CN110018831B (zh) | 程序处理方法、装置及计算机可读存储介质 | |
CN114281404B (zh) | 一种工控机算法代码的移植方法及装置 | |
CN109144849B (zh) | 一种嵌入式软件调测方法 | |
CN111381816A (zh) | 应用程序的获取方法、装置、设备及存储介质 | |
CN103034501A (zh) | 一种linux平台的函数调用方法及函数调用装置 | |
KR20130020135A (ko) | 통합 개발 환경에서의 코드 동시 개발자 리스트 제공 시스템 및 방법 | |
CN103488519A (zh) | 一种交互式脚本语言解释器的实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140312 |