複製鏈接
請複製以下鏈接發送給好友

GNUstep

鎖定
GNU GCC 3.x 支持 Objective-C 語言, GNUstep 提供 GNUstep Make 來簡化編譯 Objective-C 程序· GNUstep Make 提供類似 Makefile 的功能, 稱為 GNUmakefile. 與 Makefile 相比比, GNUmakefile 簡單許多·
中文名
GNUstep
支    援
Objective-C語言
簡化編譯
Objective-C 程式
提    供
類似 Makefile 的功能

GNUstep簡介

簡單來説, GNUstep 是實作 OpenStep 界面的開放軟體 (Open Source) 計劃, 目標為提供跨平台的物件導向程式開發環境 [1] 

GNUstep特點介紹

綜合上述, 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 來開發,當然先進的物件導向設計是最讓人印象深刻的。 [1] 

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), 所以直到2012年為止, 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 程式庫, 便可適用於各種後端上, 完全不用考慮平台問題。 [1] 
參考資料