GNUstepを学ぶ:NextSTEP開発プラットフォームの無料の代替手段

開示: あなたのサポートはサイトの運営を維持するのに役立ちます!このページで推奨する一部のサービスについては、紹介料を稼ぎます.


GNUstepは無料でオープンソースのアプリケーションプラットフォームであり、AppleのCocoaプラットフォームと非常によく似ており、同じ製品系統に由来しています。 GNUstepは実際にはCocoaよりも古いものですが、Cocoaの人気により、GNUstepは一種のオープンソースのCocoaクローンとして機能します.

GNUstepの歴史

Steve JobsがAppleを去った後、彼の新会社であるNeXT Computersは、新しいアプリケーションと開発プラットフォーム(およびその基盤となる新しいオペレーティングシステム)を開発しました.

これは、言語の作成者によって設立された会社、StepStoneからNeXTがライセンスしたCのオブジェクト指向スーパーセットであるObjective-Cで書かれました。.

このアプリケーションと開発プラットフォームはNeXTSTEPと呼ばれ、最終的にはAppleのCocoaとGNUstepの開発につながりました。 NeXTの製品からGNUstepへのこの道のりには数年かかり、いくつかの関連ストーリーが含まれます.

Objective-Cが自由言語になる

Objective-CはCコードに処理され、Cとしてコンパイルされたため、Cコンパイラーに依存していました。最小限の開発者の手間で、Unixプラットフォームの開発者がObjective-Cを利用できるようにするために、GCC、GNU CコンパイラにリンクするためにObjective-Cプリプロセッサが必要でした。.

GCCを統合しながら言語を独占的に維持するいくつかの初期計画の後、GNUのRichard Stallmanは、言語にGPLライセンスが必要であると決定しました。 StepStoneは同意し、Objective-Cはフリー言語になりました.

ただし、Objective-Cを有効にしたランタイムは抑制され、独自仕様のままでした。複数の異なる開発者がObjective-Cランタイムのオープンソースの代替に取り組んでおり、現在使用されているものは1993年にKresten Krab Thorupによって開発されました.

NeXTSTEPの無料実装

1991年、スタンフォードリニアアクセラレータセンターの開発者であるPaul Kunzは、HippoDraw(NeXTSTEPプラットフォーム用に作成されたソフトウェア)を別のプラットフォームで実行できるようにしたいと考えました。.

アプリケーション自体を移植するのではなく、NeXTSTEPのユーザーインターフェイスAPIを模倣したオブジェクトライブラリを開発しました。これにより、アプリケーション自体のコードを1行も変更せずにHippoDrawを実行できるようになりました。.

1993年、Andrew McCallumは、GNU Objective-Cのコレクションライブラリをリリースしました。これは、コアNeXTSTEPオブジェクトライブラリの別のセットを模倣したものです。.

NeXTSTEPがOPENSTEPになる

1993年に、NeXTはSun Microsystemsとの共同作業を開始し、Solarisオペレーティングシステムと互換性のあるNeXTSTEPプラットフォーム(ユーザーインターフェイスおよびプログラミングAPI)の「トップレイヤー」のバージョンを作成しました。.

当然、この作業のほとんどは、ハードウェアとオペレーティングシステムに緊密に統合されたNeXTSTEPの部分を取り除くことを含みました.

また、プラットフォームの開発APIの改良と再設計が行われ、明確に定義された「フレームワーク」に分割されました。

この作業により、OpenStep標準(オープンな仕様であり、公開されました)がリリースされ、OPENSTEPプラットフォーム(OpenStepの独自実装)が開発されました。.

OPENSTEPはNeXTSTEPに置き換わるものであり、CocoaおよびGNUstepの前駆体として明らかに認識できるこの製品系統の最初のバージョンです。.

これは、コアFoundationとAppKitフレームワーク、およびNS接頭辞付きクラスのファミリーを導入したバージョンでした。.

OpenStepがGNU実装を取得

OpenStep標準が公開された後、Andrew McCallum、Paul Kunz、およびGNUの他の人々は、標準に一致するようにObjective-Cライブラリを書き直しました.

当然のことながら、その取り組みは「GNUstep」と呼ばれていました。その名前は、NeXTがプロジェクト全体をFree Software Foundationに譲渡することを望んでいたとき、1991年にはすでに非公式に提案されていました。.

次の数年の間に、プロジェクトは拡大し、OpenStep標準の完全に互換性のある無料のオープンソース実装になります。仕様を完全に実装する最初のバージョンは1998年にリリースされ、公式の1.0.0リリースは2001年にリリースされました.

ココア:OPENSTEPの次のステップ

Appleは1996年にNeXT Computersを購入し、Steve Jobsを再雇用しました。OPENSTEPプラットフォームは新しいMacオペレーティングシステムに統合され、Cocoaに名前が変更されました.

特にMacがMac OSからOS Xに移行し、Cocoaが拡張されてCocoa Touch for iOSが含まれるようになったため、Cocoaは数十年の間に大きく変化しました.

CocoaがOpenStep仕様から離れたとき、GNUstepもそれから離れました。その開発者は、OpenStepとの歴史的なつながりのみがある、Cocoaの実装にすぎないと考えています。.

GNUstep Today

GNUstepはフリーでオープンソースのCocoa実装です。 Cocoaに少し遅れていますが、開発チームの意図は、GNUstepをCocoaと可能な限り同期させることです。.

ポイントは何ですか?

Cocoaは、Mac OS XおよびiOSシステムと緊密に結びついた独自のアプリケーションプラットフォームです。なぜ誰もがこれのオープンソースバージョンを持ちたがるのでしょうか? GNUstepが存在し続ける理由?

これの最大の理由の1つは、アプリケーション開発者がOS XまたはiOS用に設計できるようになることです。そこから、アプリをUnix、Linux、Windows、BSD、Solarisに移植できます。したがって、GNUstepはクロスプラットフォームの開発環境を提供します.

これにより、Java仮想マシンまたはフラッシュの多くの利点が得られます。ただし、オーバーヘッドはかなり少なくなります。さらに、全体的なアーキテクチャが向上すると主張する人もいます。.

また、Cocoaでの初期開発を対象とすることは、理にかなっています。これは、App Storeのしばしば困難な要件に直接対処するためです。その後、他の環境に簡単に移植できます.

さらに、多くの開発者は単にプラットフォームを気に入っています。 AppleはCocoaの設計に多くの考えと労力を費やしており、新しいアプリケーションの構築にプラットフォームを利用できるようにするなど、LinuxおよびUnix環境用に開発する多くの人々.

GNUstepは、オペレーティングシステムディストリビューションにロールインして、AppleがCocoaを統合する方法で緊密に統合することもできます。このように使用する必要はありませんが、使用できます。このように統合すると、GNUstepを使用してデスクトップ環境を強化できます.

開発のための言語

GNUstepの主要な開発言語はObjective-Cです。ほとんどのアプリケーションと同様に、GNUstep自体もObjective-Cで記述されています。ほんの一握りの他の言語(特に、JavaやRuby)で書かれたコードを実行することは可能ですが、Objective-Cは実際にはmain()イベントです.

この記事の執筆時点では、GNUstepはAppleの新しいSwiftプログラミング言語をサポートしていません。 Appleはごく最近、この言語をオープンソースとしてリリースしました。GNUstepはできるだけ早くそれをサポートする予定です.

GNUstepのリソース

  • GNUstep公式サイト.

  • 学習と参照

    • GNUstepプログラミングミニチュートリアル

    • GNUstepチュートリアル

    • GNUstep Wiki

    • GNUstepライブラリ

    • Heron’s Perch:GNUstepの主なメンテナが運営する人気のブログ

    • ビデオ:GNUstepを使用したWindows 7上のObjective-C.

  • ツール

    • エトワール:GNUstep上に構築されたクロスプラットフォームのデスクトップ環境

    • GNUstepアプリケーションプロジェクト:GNUstepワークスペースエクスペリエンスを向上させるツール.

概要

GNUstepは、多くの異なるプラットフォームでアプリケーションを作成したいプログラマー向けの優れた開発プラットフォームを提供します。 GNUstepに関する情報の量は限られていますが、Objective-CとCocoaを調べることで、GNUstepについてさらに多くを学ぶことができます。.

参考資料とリソース

コーディングおよび開発者リソースに関連するプログラミングガイド、チュートリアル、およびインフォグラフィックがさらにあります。

  • Objective-Cリソース:始めて、Objective-Cプログラミングの高度な領域に移動します。.

  • CocoaおよびCocoa Touchの紹介:Mac OS XおよびiOS用のアプリケーションを作成するための密接に関連するAPIを学びます.

  • Swiftの紹介とリソース:Cocoa(および間接的にGNUstep)を念頭に置いて特別に設計された新しい言語.

どのコードを学ぶべきですか?
どのコードを学ぶべきか?

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map