タグ: iOS開発

iOS開発

  • 3 月 27 日から iOS で新しいアプリまたはアップデートを公開するための新しい必須ルール

    Apple は春に向けて準備を進めており、1 日に 1 つの製品プレゼンテーションが行われる、本当に素晴らしい 1 週間を目の当たりにしています。月曜日にはiPad Air と Mini 、火曜日にはiMac 、今日はAirPodsとすべてが、明日には噂の新しい iPod touch が、そして金曜日には私たちが長い間待ち望んでいたAirPower が発売される可能性があることを示しているようです。

    しかし、これとは別に、 Apple は、新旧両方のアプリが新しいデバイスや新しいバージョンの iOS に対応できるように、App Store にも変更を加えていますApple のデータによると、すべてのアクティブな iOS デバイスの 80% がすでに iOS 12 を搭載しているという事実を利用して、可能な限り最高の方法でアプリを楽しめることを保証する方法です。

    来年 3 月 27 日から Apple が発表した変更に準拠していないアプリは、App Store での公開が拒否されます。新しいアプリであっても、既存のアプリのアップデートであっても。

    Apple 開発者ポータルの公式ノートを通じて、同社はこれまで行っていなかった一連の強制的な変更を報告し、顧客の満足を保証し、多くの開発者や企業、企業の無関心と戦うことを保証します。 iOS 用のアプリやゲームを作成できるツールを担当するグループ。

    ベース SDK iOS 12.1 以降および Xcode 10.1

    最初の大きな変更は、App Store にアプリをアップロードするために Xcode のバージョン 10 を使用する義務に関するもので、より具体的には、システムのバージョン 12.1 をベース SDK として使用するプロジェクトに関するものです。これは、以前のバージョンを搭載したデバイスが今後アプリとの互換性を失うことを意味するものではありません。ベース SDK を選択するときは、それを構築するためにどのバージョンのライブラリを使用するかを指定することになります。ただし、このデータはSDK ターゲット データとは異なります。SDK ターゲットデータは、デバイスが上記のアプリを実行するために必要な最小バージョンを意味し、現時点では iOS のバージョン 8 として Xcode 10 での最小値を持っています。

    Apple は、iOS 10.1 SDK をベースとして使用することで、コンポーネント、ライブラリ、およびシステムのその他の部分のバージョンが、Face ID を備えた新しい iPad をサポートする可能な限り最新のものであることを保証します。ただし、下位互換性のため、サポートは後で行われます。古いバージョンのデバイス。ただし、開発者は、どの機能がどのシステムでサポートされないかを制御し、より高いバージョンを必要とするコードの部分を制限する必要があります。

    Xcode 10.1 での SDK ターゲットの選択

    たとえば、iOS 12.1 のベース SDK を使用してアプリを作成し、iOS 9 からサポートすることはできますが、DRM 映画コンテンツのダウンロードを使用してオフラインで視聴したい場合、Apple の公式ライブラリはこの機能を iOS 10 からのみサポートするため、古いバージョンがこの機能を使用しないか、サポートされている別の方法を使用できるように、コード内でこの機能を制限する必要があります

    少なくともSwift 3

    Xcode 10 への移行に伴うもう 1 つの変更は、Swift とそのバージョンのサポートです。バージョン10.1

    しかしこれはさらに進んでいます。また、少し前に組み込まれたときにここで報告したように、Swift 5 も搭載されています。これは、開発者が急いですべてのアプリを少なくとも Swift 4 に移行したほうがよいことを意味します。次のステップはおそらく 9 月で、Apple が現在の 12.1 ではなく基本バージョンとして iOS 12.2 の使用を強制することになるからです。

    なぜそんなことをするのでしょうか? iOS 12.2 にはSwift 5 が組み込まれており、その標準ライブラリは安定したバイナリです(上記の記事ですでに説明したとおり)。つまり、この基本 SDK バージョンを使用するアプリは、同じバージョンまたはそれ以降のバージョンのデバイスで実行されます。言語のバイナリ ライブラリをリソースに組み込む必要はありません。アプリが占有するスペースを大幅に削減し、パフォーマンスを大幅に向上させるもの。

    iPhone XS Max、11インチおよび12.9インチiPad Proの画面への適応

    すでに説明したルールに加えて、インターフェイスを構築するためにハイブリッド ライブラリ (HTML ベース) を使用する多くの開発者やデザイナー、および XIB を使用せずにプログラムでインターフェイスを作成し続ける開発者やデザイナーにとって悪夢となる、もう 1 つの非常に重要なことがあります。ファイルまたはストーリーボード(Apple が推奨するツール)。最新世代の iPhone XS Max および iPad Pro の画面のネイティブ サポートについて話しています

    iPad Pro への適応は、Xcode 10.1 でアプリを開いて、iOS 12.1 SDK ベースでアップロードするだけで簡単です。ただし、Face ID を備えた iPhone 画面にすでに適応されている場合に限ります。そうでない場合、または公式ではないインターフェイス ライブラリを使用している場合は、さらに作業を行う必要があります。

    Apple が iPhone X を発売したとき、通常のビュー内にセーフエリアと呼ばれる要素を配置する新しい要素が作成されました。この領域は、作業可能なキャンバス全体を占めるビューの境界を定め、使用可能な余白のみをマークします。つまり、ノッチ領域と下部のホームバーの領域は破棄されます。

    最新世代の iPad Pro で安全領域が正しく使用されていない例。

    要素がデバイスのフルビュー (丸い角や上部と下部の領域を含む全体のサイズに適応される) を参照しているアプリがある場合制約や制限を安全な領域に変更するだけで済みます。これは、アプリが将来の更新に備えて準備されていることを意味します

    このように適応した場合、 iOS 12.1 SDK でコンパイルするだけで十分です。これにより、iPad をサポートするアプリは、ホーム ボタンのない新しい iPad に含まれる新しいマージンに適応するようになります。しかし、プログラムされた方法で配置された要素を使用し、固定された方法で画面サイズを計算している場合、または準備されていないハイブリッド ライブラリ (これらは通常、多くの場合固定画面サイズでも機能します) を使用している場合、実際にはすべてを調整する必要があります。手で。

    iPad Pro のホーム バーのレイアウトが不適切な例。Google が YouTube アプリの作成に使用した Flutter ライブラリでこの問題を修正するか、Apple が 3 月 27 日からこれを拒否することになります。

    YouTube のような大企業であっても、ホームバーを踏まなければアプリを正しく作成できなかったという明確な例があります (そして、ほぼ 2 か月間この状態が続いています)。これらの行の上の画像と、ホーム バーがタブ バー領域にどのように入るかを確認する必要があります。 Googleが(アプリの作成に使用されている)Flutterライブラリでこれを修正しない場合、Appleは3月27日以降、その新しいアップデートを拒否する可能性がある。

    インターフェイスをプログラムで作成し、デバイスごとに固定された方法でサイズを計算すると、長くて退屈な作業が待っていることになります。 XIB または Storyboards の使用を検討し始める必要があります。

    アプリが正しく表示されず、互換モードを使用して調整されない場合、 Apple はアプリを拒否し、強制的に適切に表示され、これらの安全ゾーンに調整されます

    また、サイズ全体を使用するゲームがあり、一部の要素が新しい iPad の丸い角によって切り取られている場合も、マージン領域を使用しないように調整するまで拒否されます

    Unity の Canvas Scaler コンポーネントは、UI を iOS デバイスに合わせて調整するのに役立ちます

    Unity などの多くの場合、最新バージョンのツールを使用し、 ExpandScreen Match モードに加えて、 Scale with Screen SizeモードのCanvas Scalerコンポーネントを備えた UI を用意するだけで十分です。このようにして、 UI 要素を含むコンテナーは任意の画面に適応し、相対的な位置に応じて要素の位置を変更します。おそらく、すべてを適切に表示するには、いくつかの要素を移動するだけで十分でしょう。

    Series 4 に適合し、WatchOS 5.1 SDK を使用する WatchApps

    また、Appleスマートウォッチのすべてのアプリは、最新バージョン(この場合はバージョン 5.1) をベースとして使用する必要があります。同様に、新しいシリーズ 4 にも、丸い角によってコンテンツの一部が削除され、アプリが考慮する必要があるマージンが作成されるため、安全な領域が確保されています。

    Apple Watch Series 4 のセーフゾーン

    27 日以降、新しいアプリをアップロードしたり、新しいシリーズ 4 をサポートしておらず互換モード (画面に表示される情報が少なくなる) になっているアプリを更新したりしても、アプリを適応させて安全な領域を使用する必要があるため、Apple は引き続きそれを拒否します。新しいモデルの新しい画面のサイズを調整して活用するためのインターフェイスの。繰り返しますが、シリーズ 4 でアプリが適切に表示されることを保証するだけでなく、将来の Apple スマート ウォッチ デバイスでの解像度の変更も保証するには、制約を安全領域に調整するだけで十分です。

    メタデータとメモリ

    一方で、解像度と配信を考慮して、アプリのメタデータも更新し、XS Max モデルと新しい iPad Pro をサポートする新しいスクリーンショットをアップロードする必要があります。 11 インチ iPad Pro ではアスペクト比が以前のモデルの 4:3 から 3:2 に変更されたことを忘れてはなりません。12.9 インチ iPad も 4:3 のままですが、システムは画面のごく一部を使用します (下部領域)がホームバーのため、アプリの使用領域もわずかに減少します。

    そして最後に、これが重要なことですが、私たちがビデオ ゲームやグラフィック読み込みアプリの開発者である場合、すでに述べたように、Apple は私たちに iOS 12.1 への変更を強制し、これによりメモリ使用量に重要な変化がもたらされます

    iOS には、システムを過剰な使用から保護するメモリ リミッターがあり、リソースやメモリを過剰に消費するとアプリが終了する可能性があります。 iOS 11 まで、このリミッターには、パージ可能、不揮発性と呼ばれるタイプのメモリが計算に含まれていませんでした。これは、多くのゲームやグラフィック アプリが、メモリ内に特別な重みを持つテクスチャやコンテンツを読み込むために使用するものでした。したがって、使いすぎてもメモリ リミッターの計算にカウントされず、アプリは動作し続けました。これは明らかに、システムに不安定な状態を引き起こし、さらにはランダムな制御不能な再起動やクラッシュを引き起こします (アプリ自体の障害ではないため、検出するのは非常に困難です)。

    Unity や Unreal Engine などのゲーム開発エンジンを使用する場合は、その最新バージョンの 1 つを使用し、エンジンがメモリ管理のみを変更するように SDK を iOS 12.1 に調整するだけで十分です。もちろん、エンジンに管理させている限りはそうです。

    しかし、iOS 12 では、デバイスのセキュリティと安定性を向上させるために、このタイプのメモリがメモリ リミッターにカウントされるようになりました。したがって、ゲームまたはグラフィック読み込みアプリが Metal (これまで、プリロードされるコンテンツを参照するときにこのメモリに保存されていたライブラリ) を使用している場合は、アプリを再テストし、メモリ使用量、読み込みプロセスの負荷と制限を調整する必要があります。アプリやゲームが悪用されたり、リミッターによって閉じられたりしないようにします。そして、メモリ リミッターによる閉鎖は、テスト中の App Store からの追放を意味することはすでにわかっています (アプリの他の予期せぬクラッシュと同様)。

    ゲーム エンジンを使用する場合、最新バージョンを使用するとほとんどの変更は自動的に行われますが、テクスチャとグラフィック要素のサイズを可能な限り小さくして、ゲーム エンジンの重量とメモリ使用量を削減しても問題はありません。ゲーム。

    Apple は、彼らが私たちに抵抗した場合に備えて、iOS 11 のメモリ モードを一時的に使い続けることを可能にするシステム コンポーネント (資格) を提供してくれるよう彼らに支援を求めることができるページを有効にしました。このリンクをたどるだけで済みます

    少しずつ、良くなっていきます

    ご覧のとおり、それらは小さくても大きな変更であり、私たち開発者がより熱心に働き、物事をより良くし、 Apple が自社のシステムに求める追加の品質を提供できるようになります

    そして、これらすべてを来年 3 月 27 日までに準備しておく必要があります。そうしないと、新しいアプリが組織的に拒否されたり、既存のアプリが更新されたりすることになるからです。そして、この情報は考慮することが重要です。規制が 27 日から影響する場合、次の 25 日には iOS 12.2 が公開されず、iOS 12.2 の一般公開につながる簡単な最終テスト バージョン (ゴールデン マスターバージョン) が公開される可能性があるからです。前述したこの新しいルール変更は 27 日目に施行され、また本日 Apple が開発者に送信したアプリ検索における広告サービスの新しい利用規約も同様です。

    Apple は開発者に対し、作業を改善し、最新のデバイスやシステムに適合させるようますます強く求めています。これは私たち二人にとって良いことであり、IphoneFocus.clickでは (そして開発者である私自身も) 賞賛します。

    すべての目的は 1 つです。それは、システムがますます優れ、より安定し、ユーザーに対する保証が強化されることです。開発者およびトレーナーとして、私たち開発者と企業が水準に達するよう「ネジを締めて」くれた Apple には賞賛の言葉しかありません

    3 月 27 日から iOS で新しいアプリまたはアップデートを公開するための新しい必須ルール・関連動画

  • iOS 13のダークモード、単なる色の変更を超えたもの

    ここ数週間の噂に注目すると、その中には先週木曜日、2月7日のアプレリアノスのポッドキャストでマーク・ガーマンが行った発言も含まれる(そこでは監督のペドロ・アズナールとあなたに手紙を書いているこの人も彼をインタビューしたグループの一員だった) ,ダークモードは、バージョン 13 でついに iOS に登場します。 macOS にはすでに存在するダーク モードで、開発者の反応と、ダーク モードを実装するかどうかを確認するために、ユーザーが少ないシステムでの機能テストであることは明らかです。

    しかし、大きな疑問は「ダークモードとは何ですか?」ということです。単に黒い背景とクリアなフォントを配置しているだけですか、それともその背後に何かがあるのでしょうか?ダーク モードに適応するために開発者とデザイナーが何をしなければならないのか、ダーク モードがどのように機能するのか、そして実際は何なのかを説明します。

    ダークモード、2つのビジュアルスタイルを作成

    私たちが考えるかもしれないことに反して、アプリでダーク モードを使用することは簡単ではなく、画像レベルであっても2 つの完全に異なるカラー デザイン (場合によっては 3 つ) を作成する必要があります。そして、それは逆に、Apple が私たちにこうするように指示するデザインではありません。 Apple は、「ライト」と「ダーク」という 2 つの視覚スタイルを管理するツールのみを提供しています。ダーク モードをサポートしないシステムで使用されるAnyスタイルもあります。

    ダーク モードでは、ライト、ダーク、または任意 (システムでダーク モードがサポートされていない場合に使用されるスタイル) の最大 3 つの視覚スタイルが提供されます。

    これを管理する方法を知るには、Xcode (Apple の公式開発ツール) で作成されたネイティブ アプリの開発に不可欠な要素であるアセットカタログにアクセスする必要があります。このカタログは、App Store にアップロードされるとアプリの一部となる多数のグラフィック リソースやファイルを保存できる、非常に特殊な構造を持つフォルダーで構成されています。ここでは、使用するアイコン、画像フォルダー、ドキュメント、ゲームまたは 3D 用のテクスチャ、2D ゲーム用のスプライト アトラス、Apple TV 用のレイヤー化されたアイコンなどを作成できます。私たちが作成できるものの 1 つは色です

    ダークモード用に用意された色の例

    デザインに取り組む場合、アプリの重要な要素の 1 つは色です。Xcode を使用すると、色をリソースとして作成し、画面の種類に応じて sRGB または DCI-P3 (デジタル シネマ カラー) の名前と色空間を指定できます。私たちは使用するつもりです。その色は、背景、フォント、または任意の視覚要素に適用できます

    色空間は、サポートされているパレットで任意の色を作成するために必要な原色のトーンの組み合わせと等価です。

    そのため、リソース内で色を作成し、それをプログラムでリソースとして読み込むことと、デザイン ビューで背景から任意のテキスト、コンポーネント、要素に至るまで、任意の視覚要素に割り当てることによって、それをアプリ内で使用することができます。色を作成するとき、明るいバージョンと暗いバージョンがあることをシステムに伝えるように構成できます (どちらも外観の概念に基づいています) 。 「壁紙」と呼ぶ色を作成し、それに白またはほぼ白(いわば)の特定の組み合わせを割り当てた場合、それを「明るい」として割り当ててから、暗い色調(ほぼ白)に別の異なる色を作成します。 black) をその「ダーク」バージョンと同じ名前にします。

    macOS のライト モードとダーク モード

    このようにして、アプリが動作するときに色を読み込み、オペレーティング システムのモードに応じて、その色を動的に呼び出すことによって「明るい」バージョンまたは「暗い」バージョンを返します。したがって、デザイナーはアプリ用に 2 つの異なる色構成を作成し、それらが視覚的に適切に組み合わされることを確認する必要があります。あるいは、 Any バージョンダークバージョンを作成して、システムでダーク モードがサポートされている場合はAny がライトモードに使用され、サポートされていないシステムでは通常のカラーにも使用されます。または、前に述べたように、システムが 2 つのカラー テーマのどちらかを選択する機能をサポートしていない場合は、3 つの組み合わせを使用して、明るいときに別の色を選択することもできます。

    画像では、多くの場合、ダーク モードを使用することも重要です。黒い文字と透明な背景を使用した会社のロゴがあると想像してみましょう。ダーク モードを有効にすると、そのロゴが機能しないことは明らかです。色の反転を探して、黒になっているタイポグラフィに白を使用する必要があります。このため、Apple は、同じ名前で、 lightdark 、またはAnyの異なるバージョンの画像を提供できるようにしています。このようにして、アクティブ化されたモードに応じて、何も変更することなくどちらかが選択されます。

    任意のモード画像(ライトおよびその他)およびダーク

    Apple は、アプリのダーク モードを希望どおりに設定するためのガイドラインを長い間提供してきました。ただし、これらは視覚的なレベルのガイドです。なぜなら、すでにご存知のとおり、システムはまだこのモードをサポートしていないためです。以下で明らかにしていきます。

    ダークモードは親です

    ダークモードについては何年も前から聞かされてきました。しかし実際には、Twitter や Things などの一部のアプリが実証しているように、このモードはどのアプリでもいつでも好きなように実装できるものです。インターフェースの唯一の形式としてダーク モードを使用する人さえいます。 Apple 自体も数か月前にベストのセレクションを作成しており、 ここで参照できます。しかしそれだけではありません。この記事でご覧になったスクリーンショットは、すでにサポートされている iOS プロジェクトで私が個人的に作成したものです。システムによるものではありませんが、アセットカタログの動作方法によるものです)。

    これは、Xcode 10 の登場以降、ダーク モードが到着すると自動的にアクティブになるように、どのアプリもすでに準備できることを意味します。Xcode はすでに適応されているため、Xcode が適応するまで待つ必要はありません。唯一の問題は、Mac にも適用されるユニバーサル プロファイルを選択した場合にのみ、明るいまたは暗い外観モードが表示されることです。iPhone または iPad 固有のプロファイルをアクティブにしても、異なる外観が得られません。しかし、これは小さな追加にすぎず、ユニバーサル構成 (通常は標準です) を使用する場合は、すでに準備が整っているはずです。

    ユニバーサル構成を使用する場合、Xcode 10 では、将来の iOS ダーク モード用にアプリを構成できるようになります。

    では、ダークモードとは何でしょうか?そうですね:有名なダーク モードは、ユーザーがライト モードとダーク モードのどちらを選択したかをアプリに伝えるシステム値にすぎません。他には何もありません。 (たとえば) アプリを起動して Twitter をしているとき、ユーザーがダークモードを選択したかどうかを保存する必要があるのは私です。そして、この側面を変更するには、私のアプリでそれを行う必要があります。 iOS 13 以降では、システム全体に一般的なスイッチ (現在の macOS と同様) があり、Twitter に入るとアプリが次のように尋ねます: 自分自身をどのモードで表示しますか?そしてシステムは答えます。

    実際、これが必要でない場合もあります。これは、これまで説明した色ツールと画像ツールを使用していれば、開発者がコードを 1 行も触れなくても、アプリが自動的に設定されるためですアセットカタログ構成を自動的に使用するだけです。

    したがって、ダーク モードが Apple が世界から隠してきたものであるとか、アクセシビリティの有名なスマート反転モードがダーク モードであるとは考えられません。それはそうではありません。これは、明るい光に敏感な人のためにシステムが逆色を計算するための単なる方法です。しかし、これは実際に適応したものではなく、各アプリのデザイナーが監修したものでも、各企業のデザイン上の決定に対応したものでもありません。

    iOSのダークモードの概念

    したがって、ダークモードは、デザイナーが使用できるように Xcode に組み込まれた単なるツールであり、アプリはあるモードから別のモードに自動的に変換します。それ以上のものではありません。システムに自分がどのモードにあるかを尋ね、その答えに基づいてさまざまな操作を実行できるオプションがあります。また、各アプリがライト モードまたはダーク モードを表す色を自由に選択できるようになります

    ハイブリッド アプリまたは非公式ライブラリの問題

    ダーク モードは、公式 Apple Cocoa Touch ライブラリで作成されたアプリによってのみサポートされ、説明されているこれらのツールはすべて Xcode でのみ動作します。 Ionic、Xamarin などの他のテクノロジやライブラリでは機能しません。これらのハイブリッド ライブラリでは、開発者が Xcode と同様に各モードの画像や色を指定できるようにする独自の方法を構築する必要があります。特に Android 10 (または Android Q) には、Apple と同様の方法でダーク モードが組み込まれる予定ですが、それは公式 SDK に対してのみです。

    独自のダークモードをすでに実装しているハイブリッドアプリ

    これらの書店ができる唯一のことは、自分がどのモードにあるかをシステムに問い合わせて、それに応じて行動することですが、それには(これらの書店の背後にある企業やコミュニティが興味を持っている場合には)それに対応する必要があり、それには時間がかかり、維持する必要があります。ダーク を選択したとき、アプリをライトモードで数か月間使用しました。各アプリは適応する必要があり、適応しない場合は通常モードを使用し続けるためです。また、それを作成したライブラリがダーク モードをサポートしていない場合は、独自の方法で設定するか、更新されるのを待つことになります。

    確かに、 Apple が前述のスマート リバース モードと同様のスマート モードを有効にして、対応していないアプリが「疑似ダーク モード」で表示されるようにする可能性はありますが、それが本当に効果的であるかどうかはまだ不明です。

    ダークモード、iOS 13でほぼ避けられない改善

    ダーク モードは間違いなく (多くの人にとって) よりエレガントで、目が疲れにくいです。 OLEDスクリーンによりバッテリーの消費も節約されます。しかし、オフになっている OLED ピクセルはオンになるときに大きな遅れがあることを忘れてはなりません。つまり、 OLED スクリーン上のピクセルがオフになっていると、色の変化よりもオンになるまでの時間が長くなります。これは、サムスンが製造し、アップルを含むさまざまなブランドが使用している現在のモバイル画面のダイヤモンド構成と相まって、一部のサブピクセルが異なるピクセル間で共有されており、OLED が中間段階にあることを示す奇妙な照明効果を生み出します。比較的言えば LCD よりも優れていますが、欠点もあり、多くの人が考えているような未来の技術ではありません。

    LCD vs OLED vs MicroLED

    そのテクノロジーはMicroLEDで、各ピクセルが独立して点灯し、各色ごとに 3 つのサブピクセルがあり、その背後にあるのは、本物の黒を可能にする小さなサイズの従来の LED で、変化と同じ速度でオンになります。色と明るさの向上(OLED のもう 1 つのアキレス腱)は、3,000 nit 以上に達する可能性があります。

    しかし、目前の話題に戻ると、ダーク モードは間違いなく今年良い追加となるでしょうし、それがどのように機能し、実装されるかはすでにわかっています。確かに、大きなアプリは iOS 13 のリリース 0 日目に向けてすべての準備を整えており、残りは少しずつ完了するでしょう。しかし、私には疑問がありますが、ハイブリッドフレームワークで作られた疑わしい品質の膨大な数のアプリ (その多くはサービス) が確実にこの話題を通過するのではないかと考えていますが、まあ、それらにチャンスを与えましょう。

    iOS 13のダークモード、単なる色の変更を超えたもの・関連動画

  • Xcode 10、これは Apple の開発ツールの決定版です

    私たちは発売シーズンに入っています。新しいiPhone XS その向上したパフォーマンス。 HomePod オペレーティング システム (audioOS) の新しいバージョンには、ついにスペイン語 (スペイン、米国、メキシコ) が含まれるようになりました。そして間もなく、Apple システムの最新製品である macOS Mojave (next 24) がリリースされる予定です。

    しかし、それらはすべて、その存在であるためには基本的な部分が必要です。アプリがなければ、これらすべてのシステムやデバイスでほとんど何もできないからです。それが、Apple のすべてのオペレーティング システムに対応したアプリ開発ツールである Xcode です。公式オプション (もちろん他にもあり、いつでも選択できます)。しかし、「ネイティブ開発」のコンセプトを採用したい場合は、Xcode が使用すべきツールです

    30年の進化

    Xcode はまだそのように呼ばれていなかった頃から世に出始めましたし、Xcode を作成したのは Apple ではありませんでした。 1988 年、スティーブ ジョブズが Apple 退職後に設立した会社NeXT は、最初のコンピュータとオペレーティング システムの最初の商用バージョンである NeXTSTEP 0.9 を発売しました。それに伴い、ソフトウェア開発の歴史を永遠に変えることになるいくつかのディスクつまり革新的なツールであるInterface Builder を含む開発者ツールが付属しました。

    Steve Jobs と NeXT は 1988 年にグラフィカル インターフェイスを使用したソフトウェア開発を再発明し、史上初めてオブジェクト指向開発と WYSIWYG でインターフェイスを構築する機能をもたらしました。それは開発を永遠に変え、今日までの開発を決定づけました。

    Interface Builder は、コンポーネントのパレットと、ボタン、フィールド、または画像をドラッグできるキャンバスを組み込んで、コードを 1 行も記述することなくインターフェイスを構成および設計できる最初の開発ツールでした。 「実行すると表示される内容がそのまま反映される」 (または WYSIWYG) という有名な設計概念を適用すると、キャンバス上に配置した内容が、実行時にアプリケーションのウィンドウにそのまま反映されます。当時は考えられないことでした。Macintosh に付属の GUI (グラフィック ユーザー インターフェイス) の普及により、開発者の仕事はまさに悪夢のようなものになってしまいました

    なぜなら?画面に表示されるものはすべて段階的にプログラムする必要があるためです。ボタンですか?ボタンを 1 行ずつ、1 点ずつペイントし、ラベルを配置して、ボタンを押したときに色や外観が変化する場合でも、ボタンに何が起こるかをプログラムする必要がありました。当時のソフトウェア開発はすべて完全に時代遅れで、再利用できるコードはほとんどありませんでした。ジョブズがしたのは、1977 年に発見した (Mac の種を発見した) ゼロックス PARC の別のアイデアを具体化することでしたが、それは保存され、Apple では決して実践されませんでした。それは、グラフィカルインターフェイスに重点を置いたオブジェクト指向プログラミングでした

    Interface Builder は、1988 年に開発に革命をもたらしたツールです。

    システムにはすでにボタン オブジェクト、フィールド オブジェクト、スライダー オブジェクトがあり、そのオブジェクトを使用すればそれで終わりです。すべて再利用可能。オブジェクト指向プログラミングは明らかに開発パラダイムとして長年存在していましたが、それまでは誰もそれを商用レベルのグラフィカル インターフェイス ソフトウェアの開発に適用していませんでした。 NeXTでそれを実現したのはスティーブ・ジョブズでした。そして、その最初の Interface Builder が、今日の Xcode の原型となりました。 1992 年に、これはグラフィカル環境における最初の IDE (統合開発環境) である Project Builder によって完成されました。コード エディター、コンパイラー、インライン校正、およびインターフェイス要素をコードまたはその中のプロパティにバインドするメソッドを組み合わせたものです。

    OS X Cheetah 10.0 開発者プレビューのプロジェクト ビルダー

    ジョブズが Apple に戻ったとき、彼には NeXT で得たすべてのソフトウェアノウハウを適応させるのに 5 年間の時間があり、OSインターフェイスとコード編集環境の立ち上げで最高潮に達しました。そして、これは 2003 年にXcode という単一の名前で開始されるまで進化しました。 Xcode は実際には単なるコード エディターではなく、開発ツールのセットであり、コード エディターとインターフェイスデザイナーが 1 つのツールに統合されたのは 2010 年 (バージョン 4) になってからでした。

    Appleは開発者の声に耳を傾ける

    Apple 製の他のソフトウェアと同様に、Xcode にも問題がないわけではありません。近年、ユーザーがデバイスの問題や不安定性について苦情を訴えているのと同じように、 Xcode にも暗い段階や奇妙な点があります。 2008 年に iPhone 開発キットがリリースされるまで、Xcode は非常に少数派のツールであり、当時の OS 用のネイティブ ソフトウェアを作成したい人だけのものであったことを考慮する必要があります。今日では、Xcode は最も重要で使用される IDE の 1 つになりました。市販されています。そして彼が追いつくのは困難だった。過去の他のバージョンと同様に、Xcode 10 は長い戦いの後の安息の地です。

    Apple がユーザーの声に耳を傾けるのにこれまで苦労してきた(そして、ある意味では今も苦労している)と伝えても、あなたが知らないことを何も話すつもりはありません。時々、息子にとって何が最善かを知っていると確信しているため、息子の言うことを聞かない父親のように見えることがありますが、時には良い父親は息子に注意を払う方法を知っている必要があります。 。そしてそれが、Apple が苦しんでいる開発に関する近年の哲学の変化です

    アップルは時々、息子にとって何が最善かを知っていると確信しているため、息子の言うことを聞かない父親のように振る舞うことがありますが、良い父親は息子から多くを学ぶことができるため、息子に注意を払う方法を知っている必要がある場合もあります。 Appleは少しずつ、自社の子供たち(開発者)の意見に耳を傾け、彼らが正しいと判断した場合には同意することを学びつつあるという。

    父性の光を失うことなく、彼は今私たちの声に耳を傾け、私たちの注意を払い、ツールを改善するためのすべてのリクエストがバージョン 10 で具体化され、重要で注目すべき新機能が追加され、これまでこのツールでは実現できなかった安定性と速度が実現しました。道具。 Xcode をバージョン 3 から 8 年以上日常生活で使用しているあなたに手紙を書く人にとっては、間違いなく素晴らしい仕事です。

    Xcode 10、これまでで最高のバージョン

    iOS 12 やその他のシステムのベータ版で起こったように、 Xcode 10 を使用した第一印象はすでに良好でした。以前のバージョンよりも明らかに優れていました。コードエディタは昨年、Apple の新しい Swift 言語で行われたリファクタリング (ゼロからの書き直し) を受け、パフォーマンスの面では改善が見られたものの、ほぼ一年中、問題に悩まされてきたことに注意することが重要です。安定性に重大な欠陥がある。一年中ベータ版を使用しているようなものです。そして同様に、Apple は、実行可能ファイルの作成、すべてのリソースのコピー、コンパイル、署名などを担当する新しいプロジェクト構築エンジンを作成しました…しかし、これはバージョン 9 を通じてベータ版であり、推奨されていませんでしたApple 自体が実験レベルでのみ使用します。

    Xcode10

    Swift でゼロから書き直されたこれら 2 つの重要なツールは現在成熟し、両方のコンポーネントが速度だけでなく、私たちにとって最も重要である安定性においても顕著な改善をもたらしているバージョンに結晶化しています。プロジェクトだけでなく、 Playgroundプロトタイピング ツールでも、これを使用したことがある人なら誰でも、安定性とパフォーマンスの点で最高ではないことを知っていますが、このバージョン 10 では、組み込む前のコードのテストだけでなく、素晴らしいツールになりました。それをプロジェクトに組み込むと、トレーニングや機械学習の場合でも、数行のコードでモデルをトレーニングできます。さらに、このタイプのプロジェクトには、これまで存在しなかった興味深いコード デバッグ システムが組み込まれており、プログラムの実行を 1 行ずつ確認することができます。

    Xcode 10のプレイグラウンド

    Xcode は、すでに述べたように iOS だけでなく、macOS でも動作します。そのため、この環境における重要な新機能の 1 つは、ダーク モードを使用するアプリを作成できることです。ダークモードのアプリは単に色を変えるだけではないからです。これ以上真実からかけ離れたものはありません。多くの場合、新しい画像を提供し、色やリソースを構成する必要があります…基本的に、興味深い移行となるように、暗い色調に基づいてアプリの新しい外観を作成します。

    システムのダーク モードを作成し、それをアプリで使用できるようにするのは簡単ではありません。色とグラフィック要素、およびそれらの表示方法に関して、まったく異なる 2 つの側面を作成する必要があるからです。しかし、間違いなく、macOS Mojave のダーク モードは、将来のバージョンで iOS にどのように適合させるかを確認するための「ベータ版」です。

    このため、多くの人が長年求めてきた iPhone のダークモードは、色とグラフィック要素、そして方法の点で 2 つのまったく異なる側面を作成する必要があるため、それほど簡単なものではありません。それらを表示すること。そして実際、これは来年 iOS に「ダーク」アプリが登場するための第一歩となるに違いありません。最初に macOS でツールをテストして、自分で使用する際に発生する可能性のある問題を排除できること以上に良いことはありません。

    ツールの変更

    ツールに関しては、右側のインスペクター バーで、ボタンを押すか特定のキーの組み合わせで呼び出す必要があるスポットライト スタイルのフローティング ウィンドウを使用します。統合された検索エンジンも備えたウィンドウ。

    新しい Xcode 10 オブジェクト ライブラリ

    Xcode 10 には、Apple がばかげているように見えるかもしれないことについて開発者の意見に耳を傾けてきたことを示す小さな詳細がたくさんありますが、このようなツールを使用して長時間作業する場合、作業がはるかに簡単になります。たとえば、コード エディターの末尾を越えるスクロールができるようになり、作業中のコードをモニターの端のウィンドウの下部ではなく、常に画面の中央に表示できるようになりました。また、複数のカーソルを異なる場所に置き、コード内の異なる場所に同時に書き込むことができる複数の編集機能も含まれています。他のコード エディターが実装した非常に便利なものが Xcode に登場するのはありがたいことです。

    Xcode10

    エディターには、変数やメソッドがどこで定義されているか、どこで呼び出されているかを知るなど、使用しているコードを知るための新しい方法が組み込まれています。コマンド キーを押してクリックするだけで、新しいコンテキスト メニューが表示され、その定義に移動したり、その定義がどこで呼び出されているかを確認したり、さまざまなコード ファイルの検索を移動することなく、より快適に作業できるようにする一連の情報が表示されます。 .情報です。

    Xcode 10 はアプリとして macOS Mojave ダーク モードを完全に統合しており、開発者に対するいくつかの調査では、大多数がこの新しいダーク モードで動作することに同意しています。

    Xcode 9 で使用されていた GitHub だけでなく、新しいコード リポジトリ サービスが Xcode でネイティブにサポートされるようになりました。BitBucket (Atlassian 製) または GitLab が、クラウド バージョンと独自のサーバーの両方でサポートされるようになりました。コードを作成するとき、各変更を保存するコミットに入力した最後のバージョンに対するコード内の変更は、その行が変更されたことを示すカラー コードがエディターの側面に表示されます。こうすることで、どのコードを新しく組み込んだのか、何を変更したのかを一目で知ることができます

    結論

    これらは Xcode 10 の新機能のほんの一部であり、簡単にレビューします。 Swift 4.2 は現在ネイティブに使用されており、何よりも主に安定性と速度が重視されていることが付け加えられています。プロジェクトの作成時、プロジェクトの実行時、またはシミュレータを開く際に、インターフェースを開く際の速度を向上させ、作業を容易にする小さな調整

    私の記憶によると、 Xcode 10 はユーザーに注目が集まっている近年で最も洗練された最高のバージョンの 1 つであると言えます。おそらく、インターフェイスビルダーとコード エディターを統合した Xcode 4 のリリース以来、これが最も多くなります。

    迅速なコーディング

    この小さなコーナーから、この優れたバージョンを提供してくれた Apple 開発チームに感謝の意を表したいと思います。開発者として、私はアプリだけでなく 3D や 2D ゲーム、拡張現実アプリの作成を可能にし、開発に必要な 4 つの異なるオペレーティング システムをサポートする Xcode のようなソフトウェアにこの品質を維持し、提供するために必要な努力を十分に認識しています。彼らのために。

    この非常に複雑なツールは、非常に高い品質を達成しており、人々が iOS 12 を試したときに感じる安定性とパフォーマンスの雰囲気が開発ツールに伝わっています。嬉しいですね。

    Xcode 10、これは Apple の開発ツールの決定版です・関連動画

  • iOS 12 と macOS 10.14: 両方の開発プラットフォームの統合が何を意味するか

    間違いなく、開発レベルでの Apple プラットフォームの将来の可能性について、ここ数カ月間にリークされた最も興味深いニュースの 1 つは、いわゆるマジパンプロジェクトです。このプロジェクトは、 アプリを通じた iOS と macOS プラットフォームの統合を意味しており、 6 月の第 1 週に開催される可能性のある次回の WWDC 2018 で iOS 12 と macOS 10.14 が発表される予定です。しかし、それは正確には何を意味するのでしょうか?これを分析して、それがユーザーと開発者にもたらす利点を確認するだけでなく、それをより明確に理解するために、そこに至るまでの経緯を探ってみましょう。

    少しの歴史

    1988 年。スティーブ ジョブズは、4 年前に Apple を辞めた後、新しいコンピューター NeXT を世界に発表しました。世界で最高の研究用コンピュータを開発するという明確な目的を持った企業です。学生や学者なら誰もが憧れるワークステーションです。同社が経済的に成り立たず、機器が非常に高価だったことは誰もが知っており、最終的に Apple は 1996 年に NeXT を買収してジョブズのクパチーノへの復帰を奨励しました。

    NeXT は開発をありのままに再発明し、今日に至るまで定義しました

    しかし、それは NeXT の背後にある真実の表面にすぎません。実際のところ、NeXT は当時の開発を再発明し、今日に至るまでそれを定義しています

    1984 年に Macintosh が登場すると、グラフィカル インターフェイスは定着しました。しかし、アプリケーションをプログラミングすることは、開発者にとって地獄にほかなりませんでした。各ウィンドウやグラフィック要素は、コードを再利用することなく、多大な労力をかけてゼロからプログラムする必要がありました。しかし、ジョブズは 1979 年にゼロックス PARC で発見したアイデアの 1 つ (そこでマッキントッシュを作成する「インスピレーション」を与えたゼロックス アルトに出会った) を採用し、それを NeXT (グラフィカル インターフェイスにオブジェクト指向プログラミングを適用する)に適用しました。

    Next コンピューター

    オブジェクト指向プログラミング自体は 1960 年代後半から存在していましたが、ジョブズがゼロックスで発見したのは、オブジェクトを再利用可能な要素として使用してインターフェイスを作成するというアイデアでした。彼は、後に MVC (Model-View-Controller) パターンとなるものの基礎を発見しました。このパターンは、Apple システム向けにネイティブにアプリを作成するために今日でも使用されています。彼は、1980 年に作成された Objective-C と呼ばれる C 言語のスーパークラスを受講しました。これは、先駆的なオブジェクト指向の増分コンパイル エンジン (プログラムがコード全体ではなく、変更された部分のみをコンパイルする史上初) とその概念です。コードの再利用を可能にするフレームワークのことです。これらすべての要素を使用して、彼は史上初のグラフィカル インターフェイスを作成する商用エディタである Interface Builder を作成しました

    Interface Builder は、ウィンドウにドラッグしてプログラムを作成し、コード内でこれらの要素を使用できるコンポーネント (ボタン、ラベル、フィールドなど) のパレットを備えた最初の開発環境でした。これは、インターフェイス (ビュー) が表示内容を制御するもの (コントローラー) と通信できるようにするアウトレットまたは接続を使用し、アプリケーションが動作するためのデータはモデルに保存されました。 MVC パターンとして知られているもの

    Interface Builder は、史上初のインターフェイス作成プログラムです。

    さらに、Interface Builder により、FoundationKit と AppKit という歴史上最初のライブラリまたはフレームワークが明らかになりました。 FoundationKit は、データ型や数学関数を扱う一般的なタスクのために Objective-C をサポートし、AppKit では独自のインターフェイスを作成できるようにしました。 UIを作成するために使用されるオブジェクト、つまりボタンなどを格納するライブラリでした。このテクノロジーは非常に革新的であったため、NeXT は HTML 言語と Web ブラウザー、史上初の Web サーバー (Objective-C で動作)、Virtuoso (Freehand と最初の描画ソフトウェア ベクトルの父) を生み出したコンピューターでした。 ) または史上初の FPS が作成されたゲーム エンジン: Wolfestein 3D (Doom および Quake エンジンも NeXT で作成されました)。

    現在でも、このテクノロジーはすべて依然として有効であり、macOS 用のインターフェイス構築ライブラリは依然として AppKit と呼ばれています。 30年の歴史の中で進化しているのは明らかですが、そのベースとなる本質は当時に定められ、今日まで受け継がれています

    iPhone ソフトウェア開発キットの最初のバージョンが 2008 年の夏に (App Store の開始と同時に) 開発者の手に渡ったとき、それは開発レベルで Apple にとって非常に重要な進化的変化を表しました。当時の iPhone OS 2.0 では、Apple が数年間の開発期間を経て初代 iPhone 用に作成した Objective-C に基づく新しいライブラリをサードパーティ開発者が使用できるようになりました。

    2007 年の iPhone の創設について説明するスティーブ ジョブズ。OS X と同じ。

    当時の OS X が使用していたフレームワークの多くは、新しい iPhone 開発キットにもそのまま存在しています。実際、Apple は iPhone の最初の基調講演で、これは要するに OS X であると売り込みました。そしてそれが現状であり、これからもそうです。 iOS と macOS は異なるオペレーティング システムであるとは考えられません。これらは、同じシステム コアである Darwin と、ネットワーク使用、セキュリティ、グラフィックス、サウンド、さらにはインターフェイス自体のアニメーションなどの多くのライブラリを共有しています。 Apple が 2000 年に OS X システムの心臓部として作成したのと同じコアです。

    iOS、macOS、watchOS、tvOS の違いは、Darwin コア上にあるシステム API と、それらが共有するコンポーネントにマウントされているシステム API です。たとえば、macOS では、GUI 提供 API として Aqua が使用され、インターフェイス構築 API として AppKit が使用されます。 iOS (2008 年の新機能) では、インターフェイス作成 API は UIKit と呼ばれます。新しい API はタッチ環境に適応されており、 AppKit とは互換性がありません。いくつかの点では似ていますが、互換性はありません。これは、私たちが現在どこにいるのかを理解するための鍵です。

    iOS と macOS は異なるオペレーティング システムであるとは考えられません。これらは同じシステム コアである Darwin と、グラフィックス、ネットワーク、サウンドなどの一部のサービスを共有します。

    したがって、今日では全員に同じコアを提供していますが、macOS 上にはアプリ構築ライブラリがあり、watchOS、iOS、tvOS 上には別のライブラリがあります。皮肉なことに、UIKit は長年にわたって進化し、他のシステムの他のビルド層からのサポートを組み込んできました。 Apple Watch とともに進化し、既存のコンポーネントと同じコンポーネントを使用して watchOS 用のインターフェイスを作成できるようになりました。そして、tvOS 上でネイティブ アプリを構築できるように再び進化しました。コンポーネントは、時計、テレビ、iOS デバイスの 3 つのケースすべてで同じです。しかし、UIKit は、同じコンポーネントの外観と操作をそれぞれの新しいプラットフォームのニーズに適応させるために、同じコンポーネントのさまざまな適応を提供します

    macOS を含めることは、次の当然のステップです。デスクトップ システムで動作するアプリを作成するために、UIKit が進化して macOS のサポートを取得するステップ。tvOS ですでに行われているように、UI がコマンド触覚とコマンドで管理されるこのシステムの動作と使用フローを継承します。は、ナビゲーション可能なタイルと、インターフェイス ゾーンによるフォーカスの概念の使用で構成されます。

    統合はすでに存在します

    Apple は現在、アプリを構築するための 4 つの主要な開発ライブラリを持っています。UIKit (iOS、watchOS、tvOS のみ)、AppKit (macOS のみ)、SceneKit (3D ゲーム用)、SpriteKit (2D ゲーム用) です。でも、何か知っていましたか? SceneKit と SpriteKit が統合され、単一のコードとプロジェクトで macOS を含むすべてのシステムで動作する 2D および 3D ゲームを作成できるようになりました

    したがって、iOS アプリを Mac 上で実行する方法はもうありません。さらに検討する必要があります。 iOS アプリを Mac 上で実行するのは意味がないからです。私たちは、Google が ChromeOS で行ったことについて話しているのではありません。つまり、タッチ操作を想定しているため、アプリやゲームの一部が正しく動作しないパッチとして Android を適用したのです。つまり、iOS アプリをそのまま macOS 上で「エミュレーション モード」で実行することについて話しているのではありません。

    ChromeOS が Android のサポートを追加したように、iOS アプリは macOS 上でエミュレート モードで実行されません。

    Apple がMarzipanプロジェクトで行っていることは、UIKit を macOS 用のアプリの作成にも使用できるように、必要なツールを提供することです。 macOS 上で動作するということではなく、何百万もの開発者が iOS、tvOS、watchOS 向けのアプリをプログラミングする際にすでに使用しているものと同じツールとコンポーネントを使用して、macOS 上で正しく動作するアプリを作成できるということです。コンセプトとしては非常にシンプルですが、アプリが各システムに適応し、同じ互換性のあるツールを使用して、流動的で正しいユーザー エクスペリエンスを提供できるように、これらのツールを適応させるには明らかに多大な作業が必要です。

    同じプロジェクト内で iOS、tvOS、macOS をサポートする SceneKit ゲームを含む Xcode サンプル。

    Apple システムを深く知っている私のような開発者なら、これが次のステップであることを知っています。 Steven Troughton-Smith や Guilherme Rambo (現在は 9to5mac の編集者) などの一部の有名な開発者も、これと同じ理論に同意しています。なぜなら、基本的に、これは Apple が UIKit を適応させることで実現できることをすでに示している、次の論理的なステップだからです。 tvOS のような iOS とは異なるシステムの使いやすさ。

    したがって、iOS 用に作成されたアプリを macOS で動作させるには、論理的な調整が必要であることを理解することが重要です。メニューなどの独自の要素を組み込むことに加えて、アプリのすべての共通コードを再利用できる macOS 用の独自のインターフェイスを作成する必要があります。アプリにセキュリティを提供するサンドボックスを介した一時的なアクセス許可を通じてファイル アプリと連携するために iOS 11 に組み込まれた新しいインタラクションも、Finder と統合する役割を果たし、新しいアプリに対してファイル システム全体を開く必要がなくなります。

    macOS を含む Universal SpriteKit ゲームを作成するためのテンプレート

    今日、すべてのシステムを含むプロジェクトを Xcode で作成すると、各システムには、各システムの実行可能ファイルとなるターゲットがあります。そして、それぞれに特定のリソースが含まれるフォルダーがあり、その一部が全員で共有されます。近年、インターフェイスはStoryboardと呼ばれる、アプリのナビゲーション マップのようなコンポーネントで構築されます。そして、tvOS 用、watchOS 用、iOS (iPhone および iPad) 用の別のものがあり、さらに macOS 用の新しいものが追加される予定です。

    これは、macOS に新たな命を与え、より統一されたワークフローを可能にするユニバーサル アプリを実行できるようにする最初の非常に興味深いステップです。

    開発者、ユーザー

    この変化は自然なものであり、これまで見てきたように、論理的な進化の一部です。そして、この進化によって得られる主な利点は、macOS プラットフォーム自体にあります。 Mac App Store が砂漠であり、このプラットフォームが開発者にとって興味のないものであることは明らかです。ユーザー数がはるかに少ないからだけではありません。また、AppKit インフラストラクチャ自体がここ数年あまり進化していないため、macOS 用のアプリの開発はより高価で複雑になり、そのため UIKit が AppKit を使用して macOS 上で迅速かつ快適に実行するプロセスがより煩雑になり、より多くの作業が必要になるためです。

    開発者に尋ねると、macOS でアプリを作成することは、開発者に過剰な敬意を与え、さらには恐れを抱かせると答えるでしょう。それはより退屈で遅いです。

    UIKit の macOS への導入は、iOS エコシステムで現在動作している無数のアプリが継続使用のための統合ソリューションを提供できるようになり、macOS エコシステムが大幅に強化されるため、新風となるでしょう。私たちが iOS ユーザーだけであれば何も得られませんが、Mac を持っていれば、デスクトップ システムの新たな繁栄の時代を生きることになるでしょう。さらに、Apple 独自のアプリは 1 つの開発と連携して進化し、現在のように macOS 用ソフトウェアが放棄されたという印象を与えるのではなく、より多くの新機能が頻繁に登場するでしょう。 Apple の iOS 用ソフトウェアも放棄されたように見えることは知っていますが、 Apple が現在 macOS でも動作する新しいバージョンの開発に取り組んでおり、それが長い間アップデートを受け取っていない理由であると考えるのは論理的です

    Apple が数年前にあらゆる種類のアプリ向けに開始したソフトウェアのサブスクリプションも、非常に重要な役割を果たすでしょう。 iOS バージョンと macOS バージョンの 2 回課金されるアプリが登場し、興味のあるユーザーが iOS アプリのみ、または iOS と macOS の両方を使用できるようにするさまざまな種類のサブスクリプションが提供される可能性があり、使用の流れが作成されます。非常に興味深いもので、ついにデスクトップ システムが、別の忘れ去られたシステムとしてではなく、アプリ使用のエコシステムに完全に統合されました。

    1 年以上前、 同僚の Eduardo Archanco によるインタビューで、私は、iOS チームと macOS チームが 1 つに統合されることが、ユーザーにとっていかに利点にほかならないかについて話しました。そして私たちが今目にしているのは、開発者とユーザーにとっての最初の結果であり、大きな利点です

    未来

    私たち開発アナリストの多くは、 UIKit を使用して macOS 用のアプリを作成することが最初のステップになることに同意しています。

    Aurélien Salomon によって設計された、i​​OS と macOS の間の統一インターフェイスの最新のコンセプト。

    しかし、この最初のステップのもう 1 つの結果は、噂の ARM 搭載 Mac です。発表された 845 などのクアルコムの最新プロセッサは、x86 モードでソフトウェアを実行する機能を備えています。いくつかの制限はありますが、その能力はあります。 macOS アプリが少しずつ UIKit を使い始めれば、ライブラリが ARM (iOS デバイス) と x86 (Mac) の両方のバイナリを生成できるというパラダイムに直面することになります。そして、x86 の代わりに ARM バージョンの Darwin コアと、両方のアーキテクチャにすでに存在するコンポーネントが使用されれば、2006 年当時の PowerPC と Intel の間の中間段階のような、新しい Rosetta 時代が到来するかもしれません。開発を通じて両方のプラットフォームを統合する変革のステップ

    この最後の点は、明らかに、開発のレベルで技術的に妥当であり、今日の技術が可能にする基礎に基づいた理論として見なされなければなりません。そして、さらに多くの措置が講じられる可能性がありますが、それについては将来の機会に説明します。ただし、このトピックについてさらに詳しく知りたい場合は、独立した Cuonda ポッドキャスト コミュニティの一部である私のポッドキャスト Applecodingを聞いてください。 前回のエピソードの 1 つで、これらのトピックや、興味を引く可能性のあるその他のトピックについて話しました。それを掘り下げたい場合は。

    ユーザーと開発者に提供される新しい可能性が明確であるとともに、私たちがどのようにしてここに至ったのかを理解していただければ幸いです。皆さんにご挨拶と感謝を申し上げます。

    iOS 12 と macOS 10.14: 両方の開発プラットフォームの統合が何を意味するか・関連動画