当前位置:  软件>C/C++软件

面向对象开发环境 GNUstep

    来源:    发布时间:2015-02-22

    本文导语:  简单来说, GNUstep 是实作 OpenStep 介面的开放软体 (Open Source) 计划, 目标为提供跨平台的物件导向程式开发环境. 早在 1985 年, Steve Jobs 离开苹果电脑 (Apple) 后成立了 NeXT 公司, 并于 1988 年推出了 NeXT 电脑, 使用 NeXTStep 为作业系统. ...

简单来说, GNUstep 是实作 OpenStep 介面的开放软体 (Open Source) 计划, 目标为提供跨平台的物件导向程式开发环境.

面向对象开发环境 GNUstep[图片]

早在 1985 年, Steve Jobs 离开苹果电脑 (Apple) 后成立了 NeXT 公司, 并于 1988 年推出了 NeXT 电脑, 使用 NeXTStep 为作业系统. 在当时, NeXTStep 是相当先进的系统. 以 Unix (BSD) 为基础, 使用 PostScript 提供高品质的使用者图形介面, 并以 Objective-C 语言提供完整的物件导向环境.
尽管 NeXT 在软体上的优异, 其硬体销售成绩不佳, 不久之后, NeXT 便转型为软体公司. 1994 年, NeXT 与太阳 (Sun Microsystem) 合作推出 OpenStep 界面, 目标为跨平台的物件导向程式开发环境. NeXT 接着推出实作 OpenStep 介面的 OPENSTEP 系统, 可在 Mach, Microsoft Windows NT, Sun Solaris 及 HP/UX 上执行. 1996 年, 苹果电脑买下 NeXT, 做为苹果电脑下一代作业系统的基础, OPENSTEP 系统便演进成为 MacOS X 的 Cocoa 环境.
在 1995 年, 自由软体基金会 (Free Software Fundation) 开始了 GNUstep 计划, 目的在实作 OpenStep 介面, 以提供 Linux/BSD 系统一个完整的程式发展环境. 但由于 OpenStep 介面过于庞大, 开发人力不足, 及许多技术在当时尚未成熟 (如 Display PostScript), 所以直到目前为止, GNUstep 才算是一个完整的程式开发环境.
尽管 OpenStep 早在 1994 年便提出, 其介面及架构在现今仍相当先进及实用, 使得开发 GNUstep 程式相当容易.
GNUstep 使用 Objective-C 语言, 是 C 语言加上 SmallTalk 的物件导向的功能. 结合两者的优点, 又不至于像 C++ 如此复杂.
GNUstep 提供两个主要的程式库, Foundation 及 AppKit. Foundation 处理非图形介面的部份, 如字串, 档桉, 网路, 基本资料结构, 多行绪等, 又称之为 GNUstep Base. AppKit 则处理图形介面的部份, 包含视窗, 使用者介面等, 又称之为 GNUstep GUI.
由于 GNUstep 具有跨平台的特性, 有关绘图及字型的部份, 则交由 GNUstep Back 来处理. 使用者可依所使用的作业系统, 选择适当的后端处理 (Backend). GNUstep GUI 会自行处理与 Back 相关的功能, 程式开发者只要使用 GUI 程式库, 便可适用于各种后端上, 完全不用考虑平台问题.
目前 GNU GCC 3.x 支援 Objective-C 语言, GNUstep 则提供 GNUstep Make 来简化编译 Objective-C 程式. GNUstep Make 提供类似 Makefile 的功能, 称为 GNUmakefile. 与 Makefile 相比较之下 GNUmakefile 简单许多.
综合上述, GNUstep 实作 OpenStep 介面, 该介面已在商业市场上使用多年, 目前并演进成 MacOS X 的 Cocoa 环境. GNUstep 包含四个主要部份, 统称为核心 (Core):
1. GNUstep Make: 提供类似 Makefile 的功能, 称为 GNUmakefile, 较 Makefile 好用许多.
2. GNUstep Base: 提供 OpenStep 的 Foundation 程式库, 处理非图形介面的功能.
3. GNUstep GUI: 提供 OpenStep 的 AppKit 程式库, 处理图形介面的功能.
4. GNUstep Back: 提供与作业系统相关的后端处理, 提供 GNUstep GUI 有关绘图及字型的功能.
简单的说 GNUstep 其实也是要打造类似 KDE 或 GNOME 的整合式环境,只是说它用 的程式语言是 Object C , 而本身也有一套 GUI Toolkits 来开发,当然先进的物件导向设计是最让人印象深刻的.


    
 
 

您可能感兴趣的文章:

  • 面向对象能完全取代面向过程吗?
  • linux下的编程主旨思想是在面向过程还是面向对象的?谢谢!!
  • 有人问我:何为面向对象编程?我给不出确切或形象的说法。谢!vb、pb等开发工具是不是面向对象编程的语言。
  • Glib对象系统(也称为"GObject")内部是如何实现面向对象特征的呢?
  • 面向对象数据库引擎 ojadb
  • 面向对象的网络开发包 ACE
  • 面向对象数据技术 Apache OODT
  • 面向对象的API OpenStep
  • 面向对象的脚本语言 Bento
  • 面向对象的脚本语言 ObjectScript
  • 面向对象的数据库系统 EyeDB
  • 帮帮新手,jsp面向对象吗?想把c/s结构的引用用jsp改写,交互功能可以实现吗
  • 面向对象的Tcl iTcl
  • 面向对象开发环境 Cocoa
  • PHP 面向对象框架 onPHP
  • 面向对象Ajax框架 Zaxas
  • javascript的面向对象编程 JS.Class
  • 面向对象的 JavaScript 库 QuoJS
  • 面向对象的JS框架 MooTools
  • 请大家帮忙推荐几本关于操作系统、面向对象的书!
  •  
    本站(WWW.169IT.COM)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.169IT.COM)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 面向事物(结构)的开发平台 XWorker
  • 面向组合编程框架 Qi4j
  • 面向Agent编程框架 SObjectizer
  • 面向服务的核心架构 Tuscany
  • 面向方面的框架 AspectJ
  • 面向新手的终端辅助工具 Clicompanion
  • 面向對象C語言編程框架 LW_OOPC
  • C++面向方面框架 Aspect C++
  • 面向移动终端的KISSY​瘦身版 KISSY MINI
  • 大家有谁听说过面向Linux的PlayStation平台?
  • Eclipse面向方面建模插件 A2Eclipse
  • 面向Swing的Query工具 Suery
  • 面向业务的配置平台 Utmost
  • 面向网络的数据库 Neo4j
  • Python 面向对象 成员的访问约束
  • vc,delphi&java三者之中到底谁更能支持面向对象技术?
  • java面向对象编程指南-100分奉上
  • 有人说学FLASH对学面向对像有用,真的吗?
  • JavaScript 面向对象框架 jOOPL
  • 面向对象的javascript框架 modulejs


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

    浙ICP备11055608号