跨平台

跨平台

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

1释义

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

2支持软件

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、

3程序语言

C语言、C++、Java
Perl、Tcl、Erlang
Python、Delphi+Kylix、REALbasic
php

4详细解说

大部分 电脑语言从绝对意义而言,都是跨平台的:因为都是以高级的、人类可读的方式来对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。

5平台语言

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系统,主要用于低端 嵌入式领域开发。

6应用前景

移动领域的开发,目前面临不同 操作系统需不同开发语言,同一操作系统存在不同版本,同一版本存在不同机型等难题,给 移动开发增加了很大难度。
在移动开发领域,跨平台开发技术成为很多企业和开发者的首选,可以有效解决不同操作系统不同机型终端的开发难题,为企业节省时间成本和人员成本。
目前国内外知名的跨平台开发技术有: PhoneGap(美国)、Titanium(美国)、 SenCha(美国)、AppCan(中国)。
AppCan是国内首个基于 HTML5技术的跨平台移动应用开发平台,实现一次开发、多平台适配,支持iOS、 Android、Symbian、 Windows Phone四大智能平台,可以有效降低开发门槛,减少开发周期。 [1]

























































































原文:


http://baike.baidu.com/link?url=XbFafTBd68blypK8vCHFMoPqY3LhspUa-whZwsKIRqinjE7XJOK2FbWmEMznxnHk

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值