毎週推薦:Objective-Cのオープンソース開発環境GNUstep

4567 ワード

作成者:david++
公開時間:2012/08/16 22:45
 
Objective-Cは近年ますます流行し、TIOBE世界プログラミング言語ランキングではObjective-Cの順位が上昇していると同時に、Appleプラットフォームの開発がますます注目されていることを反映している.Objective-C言語はApple世界の公式言語として、MAC開発でもiOS開発でもシステム層の作成でも適任です.CとSmalltalkのオブジェクト指向特性が融合し、Objective-Cがシンプルになり、効率的(C++などの対象言語より).一般的にObjective-Cをプレイするには、MACパソコン+無料のXcodeを1台購入することができ、Objective-Cの開発環境が整い、iPhone、iPad、iTouch、Mac機のためにアプリケーションを作成することができます.Appleのものは、細工が細かく、価格も高いので、「「単反は三代を破壊し、りんごは一生を破壊する」.本文はみんなに1つのオープンソースのObjective-C開発環境--GNUstepを推薦して、それからあなたはLinuxプラットフォームの上でObjCを遊ぶことができて、Windowsプラットフォームの上でObjCを遊ぶことができます.
1.少しの歴史
簡単に言えば、GNUstepはOpenStepインタフェースを用いたオープンソース(Open Source)計画であり、プラットフォーム間でオブジェクト向けの開発環境を提供することを目的としている.
1985年、スティーブ・ジョブズはアップル・コンピューター(Apple)を離れた後、NeXT社を設立し、1988年にNeXTコンピューターを発売し、NeXTStepをオペレーティング・システムとして使用した.当時、NeXTStepはかなり先進的なシステムでした.Unix(BSD)をベースに、PostScriptを使用して高品質のグラフィックインタフェースを提供し、Objective-C言語で完全なオブジェクト向け環境を提供します.
NeXTはソフトウェアに優れているにもかかわらず、ハードウェアの販売成績はよくなく、間もなくNeXTはソフトウェア会社に転換した.1994年、NeXTはSun(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プログラムの開発が容易である.
2.概要
GNUstepはObjective-C言語を使用し、C言語にSmallTalkを加えたオブジェクト向けの機能です.両者の長所を合わせると、C++ほど複雑ではありません.
GNUstepは2つの主要なライブラリ,FoundationおよびAppKitを提供する.Foundationは非グラフィックインターフェースの部分を処理します.文字列、ファイル、ネットワーク、基本資料構造、多行緒など、GNUstep Baseとも呼ばれる.AppKitはグラフィックインターフェースの部分を処理し,ウィンドウ,利用者インタフェースなどを含み,GNUstep GUIとも呼ばれる.
GNUstepはプラットフォームにまたがる特性を有するため,図面やフォントに関する部分はGNUstep Backに任せる.使用者は、使用するオペレーティングシステムに応じて、適切なバックエンド処理(Backend)を選択することができる.GNUstep GUIはBackに関連する機能を独自に処理し、プログラム開発者はGUIプログラムライブラリを使用すれば、さまざまなバックエンドに適用でき、プラットフォームの問題を全く考慮する必要はありません.
3.Linuxの下にGNUstepを取り付ける
ここではUbuntuの以下のインストールについてのみ説明します.その他のインストール方法については、GNUStep公式ドキュメント:http://www.gnustep.org/resources/documentation/User/GNUstep/gnustep-howto_toc.htmlを参照してください.
Step 1:gccにobjective-Cのコンパイルをサポートさせる
$apt-get install gobjc
$gcc -x objective-c hello.m -o hello

hello.m勝手にc関数をいくつか書いてコンパイルすればOKです.例:
int main(int argc, const char* argv[])
 {
 printf("Hello Objective-C!");
 return 0;
 }

Step 2:GNUstepを取り付ける
$apt-get install gnustep
$apt-get install gnustep-devel
$apt-get install libgnustep-base-dev

Step 3:GNUSTEPの構成MAKEFILESとGNUstepを実行する.sh,他の環境パスを自動的にロードする
$chmod +x /usr/share/GNUstep/Makefiles/GNUstep.sh
$export GNUSTEP_MAKEFILES=/usr/share/GNUstep/Makefiles
$source /usr/share/GNUstep/Makefiles/GNUstep.sh

後ろの2本を置くこともできます.bashrcまたは.bash_profileでは、ログインするたびに端末をノックする必要はありません.
Step 4:簡単なハロープログラムをコンパイルし、GNUstepのインストールがOKかどうかをテストする
hello.m内容は以下の通りである.
#import <Foundation/Foundation.h>
int main(int argc, const char* argv[])
 {
 NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
 NSLog(@"Hello GNUstep!!
"); [pool release]; return 0; }

コンパイル:
$gcc -Wall -g -o hello hello.m -I/usr/include/GNUstep/ -fconstant-string-class=NSConstantString  -lobjc -lgnustep-base
$./hello
2012-08-16 17:54:08.315 hello[12915] Hello GNUstep!!

コンパイルにエラーはありません.helloを実行すると「Hello...」が表示されます.おめでとう!GNUstepインストール成功!
4.WindowsでGNUstepをインストールする
Windowsの下でGNUstepをインストールするのは比较的に简単で、直接ここでインストールパッケージをダウンロードします:http://www.gnustep.org/experience/Windows.html、MSYSシステムを内蔵しました.メニュー「スタート」->「すべてのプログラム」->「GNUstep」->「shell」から、Objective-Cファイルhelloを直接作成します.m(内容同上)、以下のコマンドでコンパイルします.
$ gcc -o hello hello.m -I /GNUstep/System/Library/Headers -L /GNUstep/System/Library/Libraries/ -fconstant-string-class=NSConstantString -lobjc -lgnustep-base

5.参考資料:
  • 公式ホームページ:http://www.gnustep.org/