网站地图
跨平台

跨平台概念是软件开发中一个重要的概念,即不依赖于操作系统,也不依赖硬件环境。一个操作系统下开发的应用,放到另一个操作系统下依然可以运行。相对而言如果某种计算机语言不用修改代码即可做到高度跨平台,那么此语言就越抽象,硬件控制力就越低,只适合开发高度抽象的模型系统。诸如java,delphi和易语言,都已做到了跨平台。它们将可以在多种系统下开发,运行和维护。 [1]

跨平台泛指程序语言、软件或硬件设备可以在多种作业系统或不同硬件架构的电脑上运作。

广义而言,一般的计算语言都可做到跨平台,开发商只需要提供各种平台下的Runtime/中间件环境即可。严格而言是指用某种计算机语言编制的程序只需要做小量的修改,编译之后即可在另外一种平台下运行,此时并不提供Runtime/中间件环境。例如Java是一种提供Runtime环境的跨平台解决方案,而C是一种标准且严格的跨平台语言。

1.数据库管理系统(DBMS):

MySQL:Solaris、Linux、Windows、FreeBSD

Oracle:Solaris、Linux、Windows

DB2:Unix、Linux、Windows、z/OS

2. 网站服务器、应用程序服务器:

Apache:Solaris、Linux、Windows、FreeBSD

Tomcat:Linux、Windows、FreeBSD

3. 网络浏览器:

Mozilla Firefox:Linux、FreeBSD、Solaris、AIX、Windows、

C语言、C++、Java

Perl、Tcl、Erlang

Python、Delphi+Kylix、REALbasic

php

大部分电脑语言从绝对意义而言,都是跨平台的:因为都是以高级的、人类可读的方式来对CPU发号指令,这样也就没必要依赖于任何作业系统。但如果要用系统的部件工具箱,来新建用户图形界面(GUI),就可能会用到开发员特定系统中的API函数或库类。虽然C++是跨平台的,但Windows下用到Win32 API的C++程式,一般就不能在Unix机器上编译。不同编译器对语言规范的解释也有所差异。这样的话,在针对不同系统进行构建之前,程式就得加以考虑。

一些如Java这样的语言,从一开始就意识到要在各个平台下运行,所以跨平台在其平台的本地语言环境中已经实现。例如,Java可以跨平台使用,正是由于Swing库在许多平台下的实现。类似的,能进行跨平台的文件存取,是因为有各自平台下文件存取的库。以此类推,各种跨平台问题,都需要各自的本地库来解决。wxWidgets框架就是这样的一个跨平台库,根据不同的跨平台问题,提供了许多不同的解决方案;类似的库有许多,可以根据不同语言的跨平台开发,而采用相应的库。

针对每种作业系统、CPU,而提供并测试各自的编译版本,这种做法的可行性很小;开源软体则允许用户自己来编译目的码(object code),这样在跨平台方面更好一些。类似的,那些解释型语言,或者需要虚拟机的语言,也更加符合跨平台的要求,因为用户也要自己进行编译。Sun公司的Java虚拟机Hotspot,只针对几种而不是全部平台,提供编译好的二进位文件。例如,Sun对于GNU/Linux,只支持i386平台,但如果谁在PowerPC或者SPARC电脑上运行Linux,就只好自己编译本地的机器码(machinecode),或者使用第三方软体,才能运行Java程式。

许多API(应用程式介面)依赖于平台。OpenGL可以看作是跨平台的,因为其不依赖于任何特定的作业系统、CPU构架或者某个牌子的图形设备。特定平台的API可以在其他系统上作为兼容层而新建,例如WINE的库,Windows程式就可以在UNIX系统上运行。

另外许多程式语言还有跨平台的扩展以及中间件,这样程式设计师对于同样的原始码,只要进行一点小修改,就可以在不同平台下编译/运行,例如Qt和wxWidgets。

php开发的程序可以不经修改运行在,windows.linux,unix等多个操作系统上

补充:举例说windows系统的软件不可以在linux上运行,linux系统的软件不可以在windows上运行.

但是php的解释器有多个操作系统的多个版本,多的偶都叫不出来名字,凡是有解释器的操作系统你写的php程序就可以运行,不论你是在windows还是linux下写的

目前市面上主流的跨平台应用程序和UI开发框架

1、QT

QT是诺基亚的开源跨平台开发工具。主要用于嵌入式开发,MeeGo平板和MeeGo手机开发。

2、MicroGUI

MicroGUI是国人自行研发的跨WinCE、Windows Mobile、MTK、QT、Symbian、iPhone、Android、Brew MP等多款平台的UI开发框架。该产品正在产品研发阶段。预计年底前会上市。

3、MiniGUI

MiniGUI也是一款国产的GUI系统,主要用于低端嵌入式领域开发。

移动领域的开发,目前面临不同操作系统需不同开发语言,同一操作系统存在不同版本,同一版本存在不同机型等难题,给移动开发增加了很大难度。

在移动开发领域,跨平台开发技术成为很多企业和开发者的首选,可以有效解决不同操作系统不同机型终端的开发难题,为企业节省时间成本和人员成本。

目前国内外知名的跨平台开发技术有:PhoneGap(美国)、Titanium(美国)、SenCha(美国)、AppCan(中国)。

AppCan是国内首个基于HTML5技术的跨平台移动应用开发平台,实现一次开发、多平台适配,支持iOS、Android、Symbian、Windows Phone四大智能平台,可以有效降低开发门槛,减少开发周期。

爱码哥作为第三代移动中间件采用(xml和JavaScript)的开发方式并内置了开发框架,可以实现用Javascript、Java、.Net、php或htlm5当中的任何一套开发语言写一套代码就可以生成Android和iOS的两个系统的原生app可以有效降低开发门槛,减少开发周期。 [2]


相关文章推荐:
跨平台 | 软件 | 概念 | 操作系统 | 应用 | 跨平台 | 数据库管理系统 | DBMS | MySQL | Solaris | Linux | Windows | FreeBSD | Oracle | DB2 | OS | 电脑语言 | 部件工具箱 | 编译器 | 软体 | 解释型语言 | 虚拟机 | 机器码 | 解释器 | 移动开发 | PhoneGap | SenCha | AppCan | HTML5 | Windows Phone | 移动中间件 |
相关词汇词典