教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。
その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。
このパートではiPhone, iPadなどのApple製品にて動作するSwift言語と、UI構築フレームワークであるSwiftUIについて学びます。
Swiftとはネイティブアプリを開発するための言語です。ネイティブアプリとはデバイス(iPhoneやiPad)が演算処理して実行するタイプのアプリのことです。ネイティブアプリの対比としてWebアプリがあります。WebアプリはHTML+CSS+Javascriptなどの組み合わせで作成されており、デバイスではなくWebサーバーが演算処理を行なっています。SafariやGoogle ChromeなどのブラウザはWebアプリにあたります。Swiftはデバイスに対して直接命令できるため、デバイスが有する様々な機能を使用できます。本教材での画像処理や音声認識(マイク)などの機能はデバイスに直接命令することで実現しています。
Swift以外にもObjective-cという言語があります。Objective-cはSwiftと比較して学習コストが高く実行速度も遅いため、これからのネイティブアプリ開発にはSwiftが最適と言えます。
SwiftはC++、C#、 Java、Ruby、Scala、Python などのオブジェクト指向を取り入れた言語と文法が似ています。経験者には学習コストが比較的低いと言えます。
SwiftUIはSwift言語で使用できるUI構築フレームワークです。従来のSwiftで画面を作成する場合、ストーリーボードと言うUI構築機能(GUI)を使用するかソースコードにて直接画面を作成する方法が主流でした。SwiftUIを使用することでより直感的に画面作成が行えます。
以下がSwiftUIでの作業画面になります。SwiftUIではソースコードと、iPhone画面を同時に表示するプレビュー機能(名称はCanvas)があります。ソースコードを変更するとリアルタイムでiPhone画面に反映されます。iPhone画面側で変更するとソースコードに変更内容が反映されます。
従来のソースコード開発の場合、画面確認するためにはビルド後に実機かシミュレーターで実行する必要がありました。SwiftUIではリアルタイムに画面確認できるため、画面開発に要する時間を短縮できます。また従来のソースコードの画面開発と比較してソースコード量を大幅に削減できることも利点の1つです。
以上で今回のパートは終了です。
お疲れ様でした。