跨平台概念是软件开发中一个重要的概念,即不依赖于操作系统,也不依赖
硬件环境。一个操作系统下开发的应用,放到另一个操作系统下依然可以运行。相对而言如果某种
计算机语言不用修改代码即可做到高度跨平台,那么此语言就越抽象,
硬件控制力就越低,只适合开发高度抽象的模型系统。诸如
PHP和
易语言,都已做到了跨平台。它们将可以在多种系统下开发,运行和维护。
释义
跨平台泛指
程序语言、软件或硬件设备可以在多种作业系统或不同硬件架构的电脑上运作。
广义而言,一般的计算语言都可做到跨平台,开发商只需要提供各种平台下的Runtime/
中间件环境即可。严格而言是指用某种
计算机语言编制的程序只需要做小量的修改,编译之后即可在另外一种平台下运行,此时并不提供Runtime/中间件环境。例如Java是一种提供Runtime环境的跨平台解决方案,而C是一种标准且严格的跨平台语言。
支持软件
1.数据库管理系统(DBMS):
Oracle:Solaris、Linux、Windows
DB2:Unix、Linux、Windows、z/OS
Apache:Solaris、Linux、Windows、FreeBSD
Tomcat:Linux、Windows、FreeBSD
Mozilla Firefox:Linux、FreeBSD、Solaris、
AIX、Windows、
程序语言
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下写的
1、QT
QT是
诺基亚的开源跨平台
开发工具。主要用于
嵌入式开发,MeeGo平板和MeeGo
手机开发。
2、MicroGUI
MicroGUI是国人自行研发的跨WinCE、
Windows Mobile、MTK、QT、Symbian、iPhone、Android、Brew MP等多款平台的UI开发框架。该产品正在产品研发阶段。预计年底前会上市。
MiniGUI也是一款国产的GUI系统,主要用于低端嵌入式领域开发。
应用前景
移动领域的开发,面临不同操作系统需不同开发语言,同一操作系统存在不同版本,同一版本存在不同机型等难题,给
移动开发增加了很大难度。
在移动开发领域,跨平台开发技术成为很多企业和开发者的首选,可以有效解决不同操作系统不同机型终端的开发难题,为企业节省
时间成本和人员成本。
国内外知名的跨平台开发技术有:
PhoneGap(美国)、Titanium(美国)、
SenCha(美国)、AppCan(中国)。
AppCan是国内首个基于HTML5技术的跨平台
移动应用开发平台,实现一次开发、多平台适配,支持
iOS、Android、Symbian、
Windows Phone四大智能平台,可以有效降低开发门槛,减少开发周期。
爱码哥作为第三代
移动中间件采用(xml和
JavaScript)的
开发方式并内置了开发框架,可以实现用Javascript、Java、.Net、php或htlm5当中的任何一套开发语言写一套代码就可以生成Android和iOS的两个系统的原生app可以有效降低开发门槛,减少开发周期。