关键词不能为空

当前您在: 主页 > 英语 >

跨平台程序开发技术概览

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-17 11:21
tags:

-

2021年2月17日发(作者:手表的英文)



跨平台程序开发技术概览



2015.01.25



by



Winland



摘要:


介绍目前常用的跨平台程序开发库,


对跨平台程 序开发库进行多方面分析,


对比其开


发语言、授权许可、


支持的操作系统、常见程序库功能模块等内容,并举出开发库实际的应


用例子,为需要了解跨平台开发的人员提供技术概览。



关键词:


跨平台开发



POSIX



JDK



Qt



wxWidgets



GTK+



一、前言




随着


“棱镜门”


等一系列间谍事件的曝 光,


国内对国产软件、


硬件的重视程度与日俱增,


国产操作系统的发展和推广也成为国家的核心利益之一。


国内近二十年来,< /p>


众多计算机软件


方面教材书籍等都是以微软


Windows


操作系统为基石,很多是介绍


Windows


的系统使用、


应用软件、开发技术等,而国产操作系统又多以< /p>


Linux/Unix


等开源操作系统为基础研发而


来。国内软件开发不得不面临系统兼容性问题,比如按照旧的用户习惯需要支持


Windows


操作系统,而按照国产化软件发展趋势,又必须支持

< br>Linux/Unix


系统。如果每个操作系统


都单独开 发一套代码,


那么软件研发成本毫无疑问会剧增。


因此采用跨平 台的开发库来开发


跨平台应用程序,就成了实现多系统兼容性的最优选择。




介绍跨平台开发技术,就不得不提


POSIX



Portable Operating System Interface


,可移植

操作系统接口)


[1]


,许多跨平台开发库都提到需要操作 系统对


POSIX


标准的支持。


POS IX


标准定义了操作系统应该为应用程序提供的接口标准,是


I EEE


为各种


UNIX


操作系统上运< /p>


行的软件而定义的一系列


API


标准的总 称,该标准正式称为


IEEE 1003


对应国际标准名称



ISO/IEC 9945

< p>


目前主流的通用操作系统


(包括


Linux/Unix



Windows



Mac OS



、智能< /p>


手机操作系统以及实时操作系统(


Real


Time


Operating


Sy stem



RTOS


)和嵌入式系统, 通


常都是支持


POSIX


标准的。


POSIX


标准的设计理念是希望编写代码一次就可以应用到各种< /p>


系统,所以这成为了研发操作系统的默认标准,也是跨平台程序开发的基石。




本文着重介绍目前常见的跨平台开发库,


介绍每个开发库的功能、


应用平台、


协议授权


等内容,


为需要了解跨平台开发的人员提供技术概览。


本文后面第二部分逐一介绍各个常见


的跨平台开发库,然后第三部分对这 些开发库做比对,最后进行总结。




二、常见跨平台开发方式概览




本部分介绍常见的跨平台开发库,由于程序开发库非常多,这里枚举出来的并不全面,


只能尽本人所知来介绍。


本节主要介绍


JDK



Qt



wx Widgets



GTK+



Ecere SDK



.NET/Mono



Dlib


等七种跨平台开发库。



(一)


JDK



JDK



Java Development Kit


的缩写


[2]


,是


Java


语言的软件开发工具包,目前


Java



方有三种版本:

Java SE



Java EE



Java ME


。第一种


Java SE



Standard Edition


,是普通用


户常用的版本,


第二 种


Java EE



Enterprise Edition




是面向企业应用的版本,


第三种


Java ME



Micro Edition



主要用于移动设备、


嵌入式设备上应用开发。


Java


程序编译后生成字节码,


字节码是运行在


JVM


< br>Java Virtual Machine




Java


虚拟机)之上,并不像


C/C++< /p>


编译的程


序直接运行在操作系统之上。


J VM


带来的好处是非常大的,因为只要操作系统安装了适合


的< /p>


JVM


(通常由


Java Runtime Environment


提供,


< p>
JRE [3]




Ja va


开发的程序就可以运行,


因此很适合做跨平台程序开发。< /p>


Java


程序运行在


JVM


之上也有一定的缺陷,


就是不如


C/C++


语言编译的程序运行速度快、效率高。由于


Java

具有先天的跨平台开发优势,所以


Java





用是非常广的,从通用操作系统、智能手机系统 到嵌入式系统等都有应用。除了


Oracle



方发布的


JDK


,开源社区也有相应的开源版本


OpenJDK



JDK

自带的类库功能丰富,还有


专门用于多媒体的


Java


Media


Framework


A PI



JMF




除此之外还有很多基于


Java


开 发的


第三方类库,通常都是可以跨平台运行的。



(二)


Qt



Qt


最早是由奇趣公司开发,经过诺基亚收购和转卖,目前由


Digia


全资子公司


Qt


Comp any


经营


[4]


< br>Qt


采用多种授权许可发布,可以使用开源的


GPL/L GPL



GNU


General


Public License/ GNU Lesser General Public License



发布或者使用


Qt


商业授权。


Qt


开源项目


[5]


是著名开源桌面环境


KDE


的基石,


Qt


的功能模块非常丰富,


从图形用户界面



Graphical


User


Interface



GUI


)到多媒体、文件、多线程


/


进程、网络、数据库、


WebKit



QML


、图


像、


3D


图形、打印、


ActiveX


,甚至蓝 牙、串口操作模块等。


Qt


支持的操作系统包括通用

< p>
操作系统、智能手机系统、实时操作系统、嵌入式操作系统等,在众多领域都有应用。



由于


Qt


是采用


C++


开发而成的,所以在各个操作系统编译而成的库运行速度是相当快


的,这也是


Qt


能应用到实时操作系统 的原因之一。


Qt


开发库是完全面向对象的,模块化封


装,使用方便,也易于扩展,存在很多基于


Qt


的第三方扩展库。


Qt


自带丰富的开发文档和

< br>示例代码,可以随时查阅,这为


Qt


开发带来很大方便。



(三)


wxWidgets



wxWidgets


项目

< p>
[6]


最早由爱丁堡大学


Julian Smar t


开始,是为了将应用程序方便地移植


多个操作系统上运行,目 前支持


Linux



Unix



Windows



M ac OS


等操作系统。除了能方便


地开发

GUI


程序,


wxWidgets


还支持在线帮助、网络编程、文件、剪贴板、多线程、图像、


音频视频、数据库、


HTML


、打印等等。


wxWidgets< /p>


使用自家的


wxWindows License


发布,


这个许可证是基于


LGPL

的,


但多一个例外情况,


这个例外情况允许将程序无论是以 动态连


接还是静态连接方式使用


wxWidgets

< p>
库,这为开发者和用户带来方便,不论是将


wxWidgets

< p>
用于开源项目还是商业项目都是可以的,没什么限制和收费。


< p>
wxWidgets


语法风格很像微软


MFC



Microsoft


Foundation


Classes



,所以从


MFC


转型


开发跨平台的


wxWidgets


程序是比较方便的 ,图形界面的可视化编辑有


wxFormBuilder



wxGlade


等工具,集成开发环境(


I ntegrated Development Environment


< p>
IDE


)有


CodeBlocks



CodeLite



wxW idgets


有一个非官方扩展库


wxCode


,含有各种数据库连接模块、


PDF



理、绘制图表(


Chart/Plot



、视频捕捉等扩展功能


[7]



(四)


GTK+


< p>
GTK+


最初是绘图程序


GIMP


的专用开发库(


GIMP Toolkit



,后来逐步发展壮大,成为


Linux/Unix


系统开发图形界面应用程序的主流库之一



[8]

< p>
。除了支持各种


Linux/Unix


系统,


现在也有


Windows



Mac


OS


的移植版本,与之相关的还有一个移动设 备项目


GMAE



GNOME Mobile And Embedded



,用于移动和嵌入 式设备上图形界面开发。




GTK+


由多个子模块构成:


Glib



GObject



GIO


Pango



ATK

< p>


GdkPixbuf



GDK



GTK


各个模块详细功能请参考


GTK+


项目官方网站

< p>
[8]



GNOME


开发 参考网站


[9]



GTK+

< p>
官方发


布版本包含了


GUI


设计、文件操作、网络连接、多线程、国际化和本地化、打印等功能,


GTK+


的图形界面可视化编辑可以通过


Glade


工 具实现,


集成开发环境有


Anjuta



CodeBlocks


等。


GTK+



GNOME


桌面环境的基础,二者结 合比较紧密,对数据库连接的支持可以通过


GNOME Data Access



GDA



扩展模块 实现,


对音频视频等多媒体的支持可以通过


GStreamer


库实现,对


3D


图形的支持可以通过< /p>


GtkGLExt


扩展库实现。



(五)


Ecere SDK



Ecere


SDK[10]


是独特的 编译型语言


eC


的开发环境,


eC


是由一位加拿大学者



r?


me


Jacovella-St-Louis


历 经十几年研发而成。


eC



C


语言的超集,


其引入了


C++

< br>、


Java



Python



-


-


-


-


-


-


-


-



本文更新与2021-02-17 11:21,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/661762.html

跨平台程序开发技术概览的相关文章