概述
GNUstep 使用 Objective-C 語言, 是 C 語言加上 SmallTalk 的物件導向的功能. 結合兩者的優點, 又不至於像 C++ 如此複雜.
GNUstep 提供兩個主要的程式庫, Foundation 及 AppKit. Foundation 處理非圖形介面的部份, 如字串, 檔案, 網路, 基本資料結構, 多行緒等, 又稱之為 GNUstep Base. AppKit 則處理圖形介面的部份, 包含視窗, 使用者介面等, 又稱之為 GNUstep GUI.
写在前面
大家可能会感到好奇,我为什么把这样一篇介绍UNIX的X应用及集成开发环境的文章归纳到Mac这个类别里呢?因该说我对Mac有着复杂的感情。
我对于Mac的了解完全是间接来源于GNUstep的!自从我第一次进入WindowMaker的界面后就再也没有从它所给我带来的震撼中清醒过来,而它正是大名鼎鼎的GNUstep项目的一个组成部分。它的设计理念、艺术美感与我的审美前所未有的一致。通过它我认识了GNUstep,通过GNUstep我进而又了解了NeXTSTEP、cococa、Mac OS X、Objective-C,他们的目标就是将科技、艺术、易用性还有人类的理想完美的融合到一起。
我爱他们!
GNUstep 簡介
如果您是 Window Maker 的愛好者,您應該會喜歡 GNUstep :-)...
什麼是 GNUstep ? 底下有篇來自於 GOT 討論區 的簡介文章:
===================================================
簡單來說, GNUstep 是實作 OpenStep 介面的開放軟體 (Open Source) 計劃, 目標為提供跨平台的物件導向程式開發環境.
早在 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, 可進一步參考其官方網站(www.gnustep.org)及 Wiki 站 (wiki.gnustep.org).
===================================================
簡單的說 GNUstep 其實也是要打造類似 KDE 或 GNOME 的整合式環境,只是說它用
的程式語言是 Object C , 而本身也有一套 GUI Toolkits 來開發,當然先進的物件導向設計是最讓人印象深刻的.
想試試看嗎?現在不用大費周章的自己編譯, Debian 裡頭早已經將 GNUstep 包進來囉!
底下是我 debian unstable 機器中找到的相關 package :
affiche - application to "stick" little notes on the desktop.
apps-wrappers - Application wrappers for GWorkspace
gnumail - A GNUstep Mail User Agent (clone of the NeXT/Apple's Mail.app)
gnustep-back - The GNUstep GUI Backend
gnustep-base-doc - Documentation for the GNUstep Base Library
gnustep-base-examples - Examples using the GNUstep Base Library
gnustep-base1 - GNUstep Base library package
gnustep-base1-dbg - GNUstep Base library package - debug version
gnustep-base1-dev - GNUstep Base header files and development libraries
gnustep-examples - GNUstep Example Applications
gnustep-gui-doc - Documentation for the GNUstep Gui Library
gnustep-gui0 - The GNUstep Gui Library
gnustep-gui0-dbg - The GNUstep gui library - debugging version
gnustep-gui0-dev - GNUstep Gui header files and static libraries
gnustep-make - Basic GNUstep Scripts and Makefiles
gnustep-make-doc - Documentation for GNUstep-make
gnustep-ppd - The GNUstep Postscript Printer Description
gorm - Visual Interface Builder for GNUstep
gsdict - GNUstep frontend to the dict UNIX utility
gworkspace - Workspace Manager for GNUstep
imageviewer - Image Viewer for GNUstep
libproplist0 - PropList closely mimics the property lists found in *Step
libproplist0-dev - C headers, static libraries and documentation for libPropList
libwings-dev - Window Maker's own widget set
preferences - GNUstep Preferences.app
preferences-app - GNUstep Preferences.app
projectcenter - IDE for GNUstep Development
terminal - Term Emulator for GNUstep
聰明的 UNIX user 們,您知道怎麼安裝.. ;-)
最后
以上就是感性猎豹为你收集整理的GNUstep linux下使用的全部内容,希望文章能够帮你解决GNUstep linux下使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复