アップル そのすべてのプラットフォームで惜しみない注目 今年のWWDCで。 私たちも最初に見ました まったく新しいMacPro. しかし、それほど多くの見出しを獲得しなかった別の発表は、今年の開発者会議から出てくる最も重要なものであることがわかるかもしれません:SwiftUI。
SwiftUIは、開発者がApple製品用のアプリを作成する方法を根本的に変えることを約束します。 そして、なぜそれがそんなに大事なのかを理解するために技術者である必要はありません。
SwiftUIにより、AppleはSteveJobsの最後の遺産の1つを手放します
前 1997年にAppleに再加入、スティーブジョブズはという会社のCEOでした 次、と呼ばれる最先端のオペレーティングシステムを生み出した 次の一歩. NeXTSTEPのアプリケーションは、と呼ばれるプログラミング言語で開発されました。 Objective-C.
AppleがNeXTを購入したのは、当時Macが実行されていた老朽化したSystem 7を置き換えるために、光沢のある次世代オペレーティングシステムが必要だったからです。 クパチーノはNeXTSTEPをMacOS Xに適合させ、後にMacOS、iOS、watchOS、tvOSに変身しました。
これらすべての年月を経ても、内部を見ると、Appleのプラットフォームの起源ははっきりとわかります。 Appleがコードで使用するオブジェクトクラスの名前は、「NeXTSTEP」を表す「NS」の文字で始まります。
しかし今、おかげで SwiftUI、Appleはこの最後のNeXTの残骸を取り除き始めています。 NSObject などはすぐに歴史に委託される可能性があります。 これは、OS Xの発売以来、Objective-Cからアクセスできない最初のApple APIでもあり、この由緒あるプログラミング言語の終わりの始まりを示す可能性があります。
SwiftUIの登場は、まさに時代の終わりであり、何か新しいことの始まりです。 しかし、それはどういうことですか? そして、さらに重要なことに、それはAppleのエンドユーザーにとって何を意味するのでしょうか。
SwiftUIとは何ですか?
今週まで、開発者は使用する必要がありました AppKit と UIKit MacおよびiOS用のアプリを作成します。 これらのAPIは、開発者がボタン、スクロールリスト、入力フィールドなどのユーザーインターフェイス要素を作成するために必要なツールを提供します。 それらの起源はNeXTSTEPにまでさかのぼり、これらのAPIはその時代を示し始めています。
ソフトウェアが古くなるにつれて、技術者が「技術的負債」という意味です。つまり、使いやすく親しみやすいかもしれませんが、より優れた、より現代的なアプローチに切り替えるために必要な時間を投資したほうがよいということです。 そして、そのようなスイッチはまさにSwiftUIのすべてです。
AppleがObjective-Cの後継であるSwiftを2014年にWWDCで紹介したとき、それは あるとして請求 「Cocoa [AppKit]とCocoaTouch [UIKit]の両方に完全にネイティブです。」 そして、クパチーノの技術的な魔法のおかげで、それはそうでした。 ある種。
Appleは常に、あるテクノロジーから次のテクノロジーへのスムーズな移行に優れています。 同社がOSXに移行したとき、ClassicフレームワークとCarbonフレームワークが含まれていたため、古いアプリは互換性を保っていました。 同様に、PowerPCからIntelチップへの切り替えにより、 ロゼッタシステム 古いチップから新しいチップにシームレスに変換された命令。
同様に、クパチーノはAppKitとUIKitをSwiftと互換性のあるものにするという素晴らしい仕事をしました。 しかし、APIは古く、販売期限に近づいていることがわかります。
SwiftUIを使用すると、AppleはNeXTSTEPのレガシーを完全に廃止し、Swift開発用の新しいネイティブAPIにゼロから置き換えることができます。
SwiftUIの何がそんなに素晴らしいのですか?
それは新しくて異なるかもしれませんが、SwiftUIの本当に素晴らしいところは何ですか? 開発者がそれについて愛することはたくさんあります。 しかし、あなたや私のようなAppleの常連客にとって、私たちが期待できる3つの主な利点があります。それは、より多くのアプリ、より良いアプリ、そしてMacとAppleWatchのより良いサポートです。
1. その他のアプリ:新種の開発者を引き付ける
SwiftUIは、プログラミングの現在の傾向に合わせてAppleBangを最新のものにします。 それは自慢します 宣言型構文、JavaScriptを使用するWeb開発者の間ですでに人気のあるプログラミングのスタイル。 つまり、Appleのやり方に不慣れな幅広い技術者にすぐに馴染みがあるということです。 SwiftUIは、新しい開発者が簡単に習得できるようにすることで、まったく新しい種類の開発者をプラットフォームに引き付けることができます。
2. 本当のネイティブアプリ:クロスプラットフォームAPIを捨てるように開発者を奨励する
Facebookはと呼ばれるアプリ作成ツールを提供しています リアクトネイティブ. 開発者がJavaScriptでアプリを作成し、それらをネイティブアプリとしてコンパイルして、iOSデバイスとAndroidデバイスの両方で実行できるため、非常に人気があります。 これはすべて非常にうまくいきますが、このようなクロスプラットフォームツールを使用して構築されたアプリが、真のネイティブアプリほど機能することはめったにありません。
どうして? それらを機能させるには、サードパーティライブラリの形式で追加のコードをロードする必要があるためです。 その結果、Appleのツールを使用して構築されたアプリよりも大きく、動作が遅く、システムリソースとバッテリーへの負荷が高くなる傾向があります。 本物のネイティブアプリのように感じることはめったにありません。
SwiftUIにより、Appleは開発者にクロスプラットフォームAPIに頼る理由を1つ減らしています。 それはたくさんです での開発がより迅速かつ簡単になり、宣言型の構文により、React開発者はより簡単に開発できます。 採用。
3. MacとAppleWatchのサポートの向上:開発者がクロスプラットフォームのコードを使用できるようにする
開発者はすべてObjective-CとSwiftをサポートしているため、Appleのプラットフォーム全体でいつでもコードを再利用できます。 しかし今週まで、彼らはユーザーインターフェースコードを再利用することができませんでした。 これは、各プラットフォームに独自のフレームワークがあるためです。 MacはAppKitを使用し、iOSはUIKitを使用し、watchOSはWatchKitを使用します。 アプリを3つのプラットフォームすべてで動作させるには、開発者は3つの異なるバージョンのユーザーインターフェイスコードを作成する必要があります。
同じフレームワークがすべてのAppleプラットフォームでネイティブであるため、SwiftUIはこれらすべてを変更することを約束します。 実際には、プラットフォームごとに違いがあるため、それほど単純になる可能性はほとんどありません。 iPad Proの広大な画面用に最適化されたアプリは、AppleWatchの小さな寸法に簡単に適応することはできません。
それでも、開発者がプラットフォーム間でより多くのユーザーインターフェイスコードを再利用できるようにすることで、長期的にはSwiftUIが同じくらい重要であることが証明される可能性があります。 プロジェクトCatalyst 開発者にAppleのすべての製品を採用するように勧めることで。
SwiftUIに組み込まれたアプリはいつ見られると思いますか?
たった今、 SwiftUIはベータ版です Xcode11の一部として。 開発者はそれをいじって、実際に実際のアプリの構築を開始する前に、数か月間タイヤを蹴ります。
Xcodeは、iOS13のリリースに伴い9月にベータ版から登場する可能性があります。 そして、SwiftUIの開発が実際に開始されるのはそのときです。 それでも、フレームワークが完全な機能ではない可能性があります。つまり、開発者は、必要なAPIがSwiftUIでまだ利用できない場合、AppKitとUIKitに依存し続ける可能性があります。
また、Photoshopのような大きくて複雑なアプリの開発者が切り替えを行うには長い時間がかかる可能性があります。 そのため、AppKitとUIKitはしばらくの間ぶらぶらします。
それにもかかわらず、SwiftUIがAppleにとって重要な新しい章の始まりであることは間違いありません。 長期的には、開発者だけでなく、アップル製品を使用するすべての人にメリットが期待できます。 今週は、Appleにとって非常に大きなマイルストーンとして歴史に残る可能性があります。 今から10年後、私たち自身のルーク・ドルメールが「今日のアップルの歴史" 役職。