Swiftを学ぶ - コーディング講座アプリのアイコン

Swiftを学ぶ - コーディング講座

教育 · 無料 · iOS & Android · CoddyKit

Swiftを学ぶ - コーディング講座 — LetからSwiftUI、並行処理まで学ぶSwiftコーディング

Swiftを学ぶ - コーディング講座は、初心者やiOS開発者を目指す人向けの無料のiOS・Android対応Swiftプログラミングコースです。スマートフォンでSwiftコーディングができ、内蔵エディタでコードを編集・実行したり、PlaygroundでSwiftUIのビューをライブプレビューしたり、変数からプロトコル、ジェネリクス、SwiftUI、async/awaitまで学べる122コースに取り組んだりできます。

App Store — 無料でダウンロードGoogle Play — 無料でダウンロード
料金
無料、Proへのアップグレードあり
対応プラットフォーム
iOS、Android
言語
22
年齢レーティング
4+
必要環境
iOS 15.1以降
App Store
4.5 ★ (12)
学習パスカードが進行中の状態で表示され、毎日の目標も確認できるSwift Academyのホーム画面コースレッスン、AI生成、プレイグラウンド、AIチューター、チャレンジ、レッスン生成のタイルを集めたスキルハブ
122コース(A1〜C2)
プレビューSwiftUI Playground
クラウドSwiftコンパイラとエディタ
通常のSwiftはクラウドで実行し、SwiftUIのビューはスマートフォン上で描画します。

エディタはコマンドラインSwiftをサーバー上のコンパイラに送信するため、プログラムの実行にはインターネット接続が必要です。コンパイラエラーをタップすると該当する行に移動し、平易な説明を読めます。画面の場合は仕組みが異なります。SwiftUI Playgroundがスタック、テキスト、ボタン、画像、リスト、@Stateを端末上で直接描画し、対応していない構文があれば行番号とともに知らせます。

概要

Swiftを学ぶ - コーディング講座は、iOSとAndroidに対応したSwiftプログラミングコースで、122コース、409の短いレッスンを収録しています。初心者(A1)から上級者(C2)まで段階的に学べます。レッスンはletとvarから始まり、オプショナル、プロトコル、ジェネリクス、SwiftUI、Core Data、SwiftData、構造化並行処理へと進みます。各レッスンにはコードエディタ、クラウド上のSwiftコンパイラ、ライブプレビュー用のSwiftUI Playgroundが用意されているため、Xcodeを開かずに練習できます。

アプリの内容

画面イメージ

学習パスカードが進行中の状態で表示され、毎日の目標も確認できるSwift Academyのホーム画面
学習パスホーム画面には、再開ボタン、進捗状況、毎日の目標とともにSwift Academyの学習パスが表示されます。
コースレッスン、AI生成、プレイグラウンド、AIチューター、チャレンジ、レッスン生成のタイルを集めたスキルハブ
スキルハブスキルハブでは、コースレッスン、プレイグラウンド、AIチューター、チャレンジ、AI生成、レッスン生成を1か所にまとめています。
letとvarのサンプルコードで型推論を解説するSwiftレッスンと、実行ボタン
コード付きレッスンletとvarを使った編集可能なコードの上に、型推論のレッスンが表示されます。メモ、言語選択、実行のコントロールも備えています。
Swiftの階乗関数とAIツールボタンを備えたコードエディタ
コードエディタエディタには再帰的な階乗関数が表示され、上部にはコードライブラリ、コード生成、AI強化のボタンがあります。
Swiftについての提案プロンプトを表示するAIチャット画面
AIチャットAIチャットでは、重要な概念の解説、ヒント、クイズ、学習ロードマップの作成など、何から始めるかを提案します。

コース

Swiftコースで学べること

アプリのコース一覧から、学習パスの順番に沿って構成された122コースと409レッスンです。

  1. Swiftの基礎:変数、定数、型

    Swift、環境構築、変数と定数、型、論理値、三項演算子を学び、その後、最初の関数と条件分岐へ進みます。

  2. オプショナル、制御フロー、コレクション

    オプショナルバインディングとチェーン、nil合体演算子、switchとパターンマッチング、ループと範囲、配列、辞書、セットを学びます。

  3. 構造体、クラス、列挙型、プロトコル

    構造体の設計、クラスの継承とポリモーフィズム、ステートマシンとしての列挙型、プロトコルへの準拠とコンポジション、値型と参照型の違いを学びます。

  4. クロージャ、ジェネリクス、関数型Swift

    クロージャとキャプチャ、高階関数、プロパティラッパー、where句を使ったジェネリック制約、Swiftでの関数型プログラミングを学びます。

  5. SwiftUI:ビュー、レイアウト、データフロー、アニメーション

    ビュー、モディファイア、状態、スタックとグリッド、バインディングと環境、アニメーションとカスタムモディファイア、カスタムレイアウトプロトコルを学びます。

  6. 並行処理:async/await、Combine、アクター

    async/awaitの基礎、構造化された並行処理、タスクグループとアクター、Sendableと厳格な並行処理に加え、Combineフレームワークも学びます。

  7. データとiOSフレームワーク

    Codable、Core Data、SwiftData、URLSessionを使ったネットワーク通信、Core Location、MapKit、プッシュ通知、Keychainサービス、ウィジェット、アプリ拡張を学びます。

  8. アーキテクチャ、テスト、リリース

    MVVMとコーディネーター、依存性注入、クリーンアーキテクチャとTCA、XCTest、Instrumentsを使ったプロファイリング、Swift Package Manager、配布とCIを学びます。

使い方

Swiftの学習セッションの進め方

短いレッスン、同じアプリ内のエディタ、そしてコンパイラの指摘に困ったときにすぐ読める説明を用意しています。

  1. レッスンを読み、例を編集する

    各レッスンでは、1つの考え方を数分で説明し、変更できるコードを用意しています。編集内容は保存され、レッスンから再び見つけられます。

  2. 実行する、またはプレビューする

    接続が必要なクラウドコンパイラでコマンドラインSwiftを実行します。画面を確認する場合はSwiftUI Playgroundを開き、スマートフォン上に描画されたビューを見ます。何か問題が起きたら、エラーをタップして該当行に移動し、平易な言葉による修正方法を読めます。

  3. 復習とミッションで定着させる

    間違えた問題はSwift Recallのフラッシュカードになり、間隔を空けたスケジュールで再び出題されます。コーディングミッション、ガイド付きプロジェクト、毎日の面接問題で、レッスン以外の練習にも取り組めます。

内容

アプリでできること

122

コース(A1〜C2)

基礎、オプショナル、コレクション、struct、class、enum、プロトコル、クロージャ、ジェネリクス、エラー処理、Codable、Swift Package Managerを扱う409レッスンです。

プレビュー

SwiftUI Playground

ビューを書いて、スマートフォン上で描画される様子を確認できます。スタック、テキスト、ボタン、画像、リスト、@Stateに対応しており、対応していないものは行番号とともに表示されます。

クラウド

Swiftコンパイラとエディタ

豊富なサンプルライブラリを備えたコードエディタで、クラウド上のSwiftコンパイラで実行できます。コンパイラエラーはタップでき、修正方法の短い説明も表示されます。

60

コーディングミッション

簡単なものから難しいものまで60のミッションに加え、20のガイド付きプロジェクトと6つの複数ステップの制作プロジェクトがあります。

77

チートシートと復習

構文を調べられる77項目のチートシートと、間違えた問題が間隔を空けたスケジュールでフラッシュカードとして出題されるSwift Recallを利用できます。

50

iOS面接対策

開発者向け就職準備のためのSwift面接問題50問、毎日の面接問題、そしてすべての答えを解説するクイズ問題50問を収録しています。

背景

Swiftでコーディングするには何を知る必要があり、スマートフォンはどの部分で役立つのでしょうか?

SwiftはAppleのiPhone、iPad、Mac、Apple Watch、Apple Vision Pro向けアプリの言語で、サーバーでも使われています。読みやすく、間違いを早い段階で見つけられるよう設計されているため、最初に学ぶ言語として選ぶ人が多くいます。アプリの構築や公開においてXcodeをスマートフォンで置き換えることはできませんが、他の人が書いたSwiftを読めるようになるための部分、つまり言語そのものを理解し、実際のプロジェクトで扱う前に小さなプログラムやSwiftUIのビューを試すことには役立ちます。

オプショナルSwiftを定義する考え方

Swiftの値は存在しない場合があり、型システムはそのことを明示するよう求めます。オプショナルは値または何もない状態のどちらかを保持し、オプショナルバインディング、guard、オプショナルチェーン、またはnil合体によるデフォルト値でアンラップします。最初の1週間は細かく感じますが、その後は一連のクラッシュを防いでくれます。

値型と参照型structとclassの違い

structとenumは受け渡すとコピーされますが、classは参照によって共有されます。どちらを選ぶかによって、アプリの2つの部分が同じデータに触れたときの挙動が変わります。また、Swiftの標準ライブラリは値型を重視しています。

SwiftUI画面を宣言し、フレームワークに描画させる

SwiftUIでは、インターフェースを小さなビューのツリーとして記述し、その見た目は状態に応じて決まります。モディファイアで各ビューを調整し、@Stateのようなプロパティラッパーでフレームワークに再描画のタイミングを伝えます。画面を構築する従来のUIKitの方法の多くを置き換えます。

構造化並行処理コールバックのピラミッドなしで非同期処理

asyncとawaitを使うと、インターフェースをブロックせずにネットワーク呼び出しの完了を待てます。タスクグループとアクターは同時に発生する処理を整理します。Sendableによるチェックは、共有データが安全に扱われていることをコンパイラが確認するのに役立ちます。

適しています

向いている方・向いていない方

次のような方におすすめです

  • プログラミングを始めたばかりで、いつかiPhoneアプリを作りたいと思いSwiftを選んだ方
  • WebやAndroidのコードを書いていて、Swiftでオプショナル、プロトコル、SwiftUIがどのように扱われるか学びたい方
  • iOS開発者面接の準備をしていて、練習用のSwift問題を探している方
  • Macでプロジェクトを開く前に、スマートフォンでSwiftUIのアイデアを試してみたい方
  • ほかの予定の合間に取り組める短いレッスンを好む方

次のような方には適していません

  • アプリをビルド、署名、リリースする必要がある方。ただし、その作業にはMac上のXcodeが必要です。
  • オフラインでコードを実行したい方。Swiftコンパイラはクラウド上にあり、接続が必要です。
  • すべて無料だと思っている方:最初のコースと一部の機能は無料で、Proですべての機能が開放されます。
  • Apple公式のコースを求めている方。これはAppleとは提携していない、独立した学習アプリです。

ご質問

よくある質問

Swiftを学ぶ - コーディング講座とは?

Swiftを学ぶ - コーディング講座は、iPhoneとAndroid向けのSwiftプログラミングコースで、122コースと409の短いレッスンを収録しています。レッスン、コードエディタ、クラウド上のSwiftコンパイラ、ライブプレビューに対応したSwiftUI Playground、AIメンター、コーディングミッション、面接対策を組み合わせています。無料で始められ、22言語に対応しています。

MacなしでSwiftを学べますか?

Macがなくても言語そのものは学べます。アプリはクラウドコンパイラ上でSwiftコードを実行し、スマートフォン上でSwiftUIビューをプレビューできるため、スマートフォンだけで構文、オプショナル、プロトコル、レイアウトを学習できます。ただし、実際のiOSアプリをビルドして公開するには、最終的にMac上のXcodeが必要です。

コードはオフラインで実行できますか?

いいえ。コマンドラインのSwiftはクラウド上のコンパイラで実行されるため、ストアの掲載情報にもあるとおり、プログラムの実行にはインターネット接続が必要です。デバイス自体で描画されるのはSwiftUI Playgroundのプレビューだけです。

SwiftUI Playgroundとは?

Swiftを学ぶ - コーディング講座内でSwiftUIビューを書き、スマートフォン上でその表示を確認できるプレビュー領域です。スタック、テキスト、ボタン、画像、リスト、@Stateに対応しています。対応していない構文がある場合は、理由がわかるように行番号付きで表示されます。

Swiftは最初に学ぶプログラミング言語として適していますか?

Appleプラットフォームを目指しているなら、適した選択肢です。構文は読みやすく、値がない場合の処理をオプショナルによって必須にするなど、安全性を重視して設計されています。一方で、オプショナル、クロージャ、値型などの概念が早い段階で登場する点は難しさといえます。このコースでは、それらを1レッスンずつ紹介します。

このアプリはiOS開発者面接に役立ちますか?

はい。iOS開発者向けの準備として50問のSwift面接問題、毎日の面接問題、すべての答えを解説する50問のクイズを用意しています。Swift Recallでは、間隔反復によって間違えた問題も再び出題されます。

AIメンターはSwiftの学習にどう役立ちますか?

AIメンターは、概念やコンパイラエラーについての質問に答えます。たとえば、オプショナルを直接使えない理由などを質問できます。無料ユーザーは1日1問まで利用でき、Proでは制限がなくなります。

無料で使えるものとProで使えるものは何ですか?

最初のコース、最初のガイド付きプロジェクト、2つのミッション、プレイグラウンドの基礎、毎日のRecall練習、1日1問のAIメンター質問は無料です。無料版には広告が表示されます。Proでは、すべてのコース、プロジェクト、ミッション、プレイグラウンド全体、認定試験が開放され、AIメンターを無制限に利用でき、広告も表示されなくなります。

Appleと提携していますか?

いいえ。Swiftを学ぶ - コーディング講座は独立した学習ツールです。Apple、iOS、Swift、SwiftUI、Xcode、UIKitはApple Inc.の商標であり、このアプリはAppleの推奨を受けていません。

始める

今日、Swiftの最初の1行を書き始めましょう

iOSとAndroidで無料で始められ、22言語に対応しています。

App Store — 無料でダウンロードGoogle Play — 無料でダウンロード
最終確認日 · CoddyKitが公開 · プライバシーポリシー
iOS および Androidで利用できます。