シェア

iPhone 10 周年: 革命の物語

よくあることですが、Apple の宝石はコンピューター史上最大の失敗の XNUMX つから生まれました。次に、会社は Steve Jobs によって始まり、当時としてはあまりにも未来的だったソフトウェアに基づいてワークステーションを構築しました。

iPhone 10 周年: 革命の物語

倒産について

ルネッサンスがイタリアで誕生したのはサイコロの目ではなく、フィンランドではなかったように、iPhone が Apple で生まれたのもサイコロの目によるものではありませんでした。 イタリアのヒューマニストにとっては、自分たちを取り囲む古典主義に染み込んだ環境を新しい目で見るだけで十分だったのと同じように、Apple の人々にとっては、自分たちが作り上げたものを新しい型に注ぎ込むだけで十分でした。 ノキアは、もともとプラスチック製のブーツを製造していた会社であったデバイスのデバイスを作成できませんでした。 また、スパゲッティの製造と砂糖の精製に特化したのはサムスンではありえませんでした。

ほぼ半世紀にわたる Apple のユーザー インターフェイス、使いやすさ、ハードウェアとソフトウェアの不可分な統合への執着は、上司の全体論的なビジョンによって推進され、iPhone のような革新的なものにしかつながりませんでした。 同様に、イタリアの風景とメンタリティの広範な古典的遺産は、ヒューマニズムとルネッサンスをもたらしました.

iPhone を駆動するソフトウェアである iOS が、コンピュータの歴史における 1985 つの最大の失敗の XNUMX つである NeXT の遺産から生まれたというのは、技術の進歩を際立たせる多くのパラドックスの XNUMX つです。 NeXT は、XNUMX 年に Apple を退職した後、Steve Jobs によって設立された会社でした。同社は、同様に未来的なソフトウェア NeXTstep を搭載した未来的なワークステーションを構築しました。 Steve Jobs が NeXT イノベーションの「真の宝石」と呼んだ NeXTstep は、時代を先取りしすぎていました。 もちろん、それは最大の失敗の XNUMX つでしたが、パロアルトのゼロックス パークに次ぐ、コンピューターの歴史の中で最も影響力のある経験の XNUMX つでもありました。 NeXT は、ジョブズが瞑想し、間違いを正すことを学んだジムでもありました。 もう XNUMX つの優れたリーダーシップ スクールはピクサーで、ジョブズはエドウィン キャットマルとジョン ラセーターから多くのことを学びました。

Apple、別の名前の NeXT

NeXT の話は何度も語られており、最近では、スティーブ ジョブズの伝記作家であるウォルター アイザックソンによって非常に詳細に語られています。 1996 年、Jobs が共同設立した会社に戻った後、NeXT の技術とそのすべての従業員が Apple に吸収されたことを知っておくだけで十分です。 そこから今日のアップルへの長い行進が始まった. ジョブズと共に NeXT から Apple に到着した人々は、クセノフォンがアナバシスで説明したものと同様の長く困難な道を歩んでいました。

しかし、これは知られています。 ただし、あまり知られていないことが 20 つあります。 NeXT テクノロジー、特にそのオペレーティング システムである NeXTstep は、XNUMX 年以上にわたり絶え間なく Apple テクノロジーを提供してきました。NeXT の男女は、アップル社の最も責任ある地位に置かれてきました。 ある時点で、一種の「NeXT マフィア」または「NeXT カースト」の存在について謎がなかったほど、その経験から来た人々、NeXTonians の影響と報酬が非常に重要でした。

ネクストニアンズ

Apple に異動した NeXTonians の中には、NeXT とその後の Mac OS X のソフトウェア アーキテクチャの首謀者であり、2006 年まで最高ソフトウェア技術責任者として Apple に留まった Avie Tevanian がいます。 これは、2010 年 2002 月まで IOS ソフトウェアの開発を担当していた NeXT の Scott Forstall によるものです。Tevanian の後継者であり、現在 Apple のソフトウェア分野全体の責任者である Craig Federighi も NEXTonian です。 その中には、NeXT の創設者の 2015 人であるバッド トリブルもおり、ジョブズのビジョンに関する「現実歪曲場」の有名な定義は彼のおかげです。 Budd は XNUMX 年に Apple に戻り、XNUMX 年までソフトウェア テクノロジ担当副社長を務めました。

最近、Scott Forstall は、マウンテン ビューのコンピュータ歴史博物館で開催された iPhone の XNUMX 周年を祝うために開催された会議で、iPhone がどのようにスティーブ ジョブズの心の中で生まれたか、また彼自身が協力したチームによってどのように作成されたかについて語った。それを指揮するために呼ばれた他のマネージャー。 この証言については、別の投稿で扱います。 では、NeXTstep と Apple でのその遺産に取り掛かりましょう。

NeXTstep から Mac OS X、iOS へ

NeXTstep と iOS の間に、Mac Os X を介した直接的な親族関係があることは、合理的な疑いを超えたものです。 iOS 開発システム (Cocoa、次に Swift) のアーキテクチャを構成する多数のクラスには、NextStep を表すプレフィックス「NS」が付いています。 iOS の前でさえ、NeXTstep は 2001 年に新世代の Mac のオペレーティング システムとしてリリースされた Mac OS X になりました。

XCode (iOS 開発環境) の一部であり、iOS デバイス用のアプリケーションのユーザー インターフェイスを構築し、それを構成するさまざまな要素を組み合わせるためのグラフィカル ツールは、NeXT から直接提供されます。 名前も変わっていません。Interface Builder と呼ばれ、.nib ファイル (NeXT Interface Builder の略) を生成します。

新しい Mac オペレーティング システムの名前に含まれる "X" でさえ、小さな手がかりではありません。それは NeXT を表しているか、おそらくより可能性が高いのは、NeXTstep のコアを構成することに加えて、Mac OS のコアでもある UniX を表しています。 X. とにかく、この「X」の由来はわかりませんが、これらすべての間には非常に密接な関係があります。

ジョブズが NeXT での 10 年間のハードワークと苦労の遺産を保存し、その上に構築したかったことは、議論の余地がありません。 その経験の間、外部の制約から解放され、Ross Perot と Canon から提供された資金で、彼はコンピューターを家庭用電化製品の中で最もスマートにするという彼のビジョンを実現しました。

Unix とマッハ小核

NeXTstep と同様に、Mac OS X と iOS は、Bell Labs で開発され、1969 年にリリースされたポータブル オペレーティング システムである Unix に基づいています。Unix の主な機能は、タイムシェアリング アプリケーションを実行できることです。 タイムシェアリングにより、コンピュータのメイン メモリ (CPU) は、複数のタスクや複数のユーザーに時間を分散できます。 これは、何らかの理由でアプリケーションが予期せずクラッシュした場合、このイベントによってシステム全体がクラッシュすることはなく、その結果として他のタイムシェアリング アプリケーションがクラッシュすることはありません。

Unix では、マルチタスク、メモリ保護、バックグラウンドでのプログラムやサービスの実行が簡単にできます。つまり、ユーザーが直接制御する必要はありません。 最初のパーソナル コンピュータのオペレーティング システムになかったすべての特性。 たとえば、Unix ベースのシステムで印刷中に音楽を再生し、ユーザーがスプレッドシートで数式を処理し、XNUMX 番目のリモート ユーザーがそのコンピューターのリソースからネットワーク経由でファイルをダウンロードしている場合があります。

NeXTstep システム アーキテクチャを開発するために、ジョブズは、カーネギー メロン大学で Mach プロジェクトに携わっていた Avie Tevanian に依頼しました。 NeXT カーネルとなる Mach は、「マイクロコア アーキテクチャ」として知られる急進的なアプローチに基づいて構築されました。これにより、オペレーティング システムは安定性を向上させるために、可能な限り多くの機能を外部委託する必要がありました。 当時の流行に反する原則。

オブジェクティブC

NeXTstep と同様に、Mac OS X と iOS は、C 言語から派生したオブジェクト指向プログラミング言語である Objective-C で開発されました.Objective-C を使用すると、アプリケーション開発者は、コードの事前設定ブロック (オブジェクト) を使用して、特定のルーチン関数を開発できます。最初からプログラムする必要はありません。 オブジェクトは、レゴで行われるように、特定の建物を得るために組み立てることができる一種のプレハブコンポーネントです。

1995 年のインタビューで、ジョブズは、オブジェクト指向プログラミングが今後 20 ~ 30 年間でソフトウェアの作成方法に革命をもたらすだろうと述べました。 そしてそうでした。

今日でも Mac や iPhone で使用されているアプリケーションの中には、当初 NeXT プラットフォーム用に開発されたソフトウェアが進化したものがあります。 これらの Numbers (最初は Parasheet)、Keynote (最初は Concurrence)、Pages、OmniGraffle (最初は Diagram!) の中で。

Objective-C は、Xerox のパロアルト リサーチ センターの優秀な開発者である Brad Cox によって作成されました。これは SmallTalk の進化版として、Jobs が 1977 年にこのセンターを訪れた伝説的な訪問の際に、その大きな可能性をすぐに感じたものでした。Jobs は Cox から、 NeXT での Objective-C の使用と、1995 年に Apple は言語の所有者である Cox によって設立された会社である Stepstone を買収しました。

AppKit フレームワーク

Objective C 言語とともに、NeXT はソフトウェアの開発に使用する既製のオブジェクトのセットも開発しました。 これらのオブジェクトは AppKit と呼ばれるフレームワークに集められ、Apple では OS X の Cocoa になり、2008 年には iOS の Cocoa Touch になりました。 ソフトウェアの日常的な部分を開発するという面倒な作業から開発者を解放することに加えて、AppKit を使用すると、最も異なるアプリケーションでも、ユーザーがいくつかの機能を使用する同じ方法を使用できるようになり、学習上の問題からユーザーを解放できます。

インターフェース·ビルダー

Interface Builder は、グラフィカル インターフェイスを構成する要素 (ボタン、テキスト ボックス、ポップアップ メニュー、ウィンドウなど) をパレットからドラッグ アンド ドロップすることで、開発者がユーザー インターフェイスを構築できるグラフィカル ツールです。 定義されたグラフィックの側面を提示することに加えて、これらの要素には必要なすべての機能が組み込まれています。 パレットは新しいオブジェクトで拡張することができ、一度ビルドすると、そのオブジェクトにドラッグすることができ、その瞬間からネイティブ オブジェクトのように利用できるようになります。 オブジェクトの凡例は、システム ソフトウェアで選択された言語に従って自己ローカライズされます。

Interface Builder は、1985 年に Steve Jobs が NeXT の開発に取り掛かるために電話をかけたフランスの開発者 Jean-Marie Hullot によって構築されました。

「キラーアプリ」を手に入れた。 Interface Builder は NeXTstep には統合されませんでしたが、Sofware Development Kit と共にスタンドアロン アプリケーションとして提供されました. その後、Apple は Interface Builder を Mac OS X および iOS に統合しました。 ジュネーブの Cern にいる Tim Berners Lee は、NeXT コンピュータで Interface Builder を使用して、WordWideWeb の最初のプロトタイプを開発しました。

PostScript 表示

XNUMX 年代のすべてのオペレーティング システムはラスター グラフィックス (つまり、ピクセルのグリッドで構築された) を使用してコンピューター画面にテキストとアイコンを表示しましたが、NeXT はベクター グラフィックス (つまり、点、線、曲線、および多角形) を使用してアイコン、テキスト、およびイラストを表示しました。 ベクター画像の品質は、表示するデバイスの最大解像度を利用できるため、ビットマップまたはラスター画像よりもはるかに優れています。 ラスター グラフィックスでは、表示品質を決定するのは画像の解像度です。

ビデオでベクトル グラフィックスを取得するために NeXT が使用する技術は、Display Postscript と呼ばれるツールを通じて Adob​​e (Photoshop、Illustrator、Acrobat ソフトウェアの本拠地) によって提供されました。 NeXT のエンジニアは、オブジェクト指向オペレーティング システムに適合するように Adob​​e ツール エンジンを完全に書き直しました。

Mac OS X と iOS では、Quartz と呼ばれる別のツールを使用して画面にグラフィックを表示するようになりましたが、ベクトル グラフィックと同じ概念を使用しています。 Quartz は、PDF レンダリング モデルを使用して Postscript のようなベクター画像を生成します。 Postscript の放棄は、基本的に Adob​​e からのユーザー ライセンスの取得に起因するコストによるものです。

バンドル

OS X と iOS はどちらも、NeXTstep から派生したアプリケーションを管理する方法を使用しています。 これらはバンドルです。つまり、実行可能なソース コードと、アプリケーションの操作に必要なプラグインを含むすべてのリソースをグループ化できるディレクトリです。 これらのファイルはすべて、Windows の場合のように実行可能ファイルにコンパイルされることなく、このパッケージ内に存在します。 オペレーティング システムは、低レベルで、バンドルを一連のファイルと見なし、ユーザーを単純なアイコンと見なします。 ディレクトリの階層構造が単純なため、操作が大幅に簡素化されるソリューションです。

ファイルマネージャー

Finder は、ディスク、フォルダ、およびファイルをナビゲートする Apple のファイル マネージャです。 Mac OS X では、Finder は、本質的に Windows のファイル マネージャに似ている NeXTstep ファイル マネージャのモデルに基づいて完全に再設計されました。 元の Mac OS に典型的なファイルまたはディレクトリの関連アイコンの単純なリストに加えて、Mac OS X では、NeXTstep の視覚化に完全に類似した階層型の視覚化も導入されています。 この構造は、ファイル システム内のリソースのパス全体を視覚化するために、ディレクトリまたは選択したリソースの内容を示す連続したウィンドウで展開されます。

Mac OS X と iOS が NeXTstep とその経験から導き出した他の多くの側面があり、まさにテクノロジの歴史の中で最も独創的で学習的な経験の XNUMX つです。

そして、失敗三倍!

レビュー