Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
Programming

/

Mobile Application Development

SwiftUI + TCA: 実戦プロジェクトで完成する次世代iOS アーキテクチャ

複雑なSwiftUIのステート管理、 TCA (The Composable Architecture)でクリーンで堅牢なアプリを作りましょう。 実践プロジェクトの例でポイントだけをスピーディーに学びます。

  • dumveloper
swiftui
ios
swift
swift-composable-architecture
Swift
SwiftUI
iOS

こんなことが学べます

  • TCAの主要な要素(State、Action、Reducer、Store)を理解し、SwiftUIアプリの複雑なデータフローと状態を体系的に管理する方法を学びます。

  • SwiftUIの最新のStackベースナビゲーションとAppleの次世代データフレームワークであるSwiftDataをTCAアーキテクチャに統合し、実用的なプロジェクトを完成させる経験を得ます。

  • 画像ピッカーのような非同期タスクをReducerで安全に処理する方法と、swift-dependenciesを活用した最新の依存性注入手法を学びます。


SwiftUI + TCA:本番プロジェクトに仕上げる次世代iOSアーキテクチャ

SwiftData、依存性注入、ナビゲーションまで現業に面する技術的課題 完全征服


「私のSwiftUIアプリ、なぜこんなにコードが複雑になったの? 状態管理が難しいんですか? 🤯

ますます大きくなっているSwiftUIプロジェクトでデータフローや状態管理に混乱を招く開発者のために、 The Composable Architecture(TCA)を完全に征服する講義を準備しました。

この講義は単に理論だけを説明していません。実際の実稼働環境に直面する複雑なシナリオをTCA + SwiftUIでどのようにきちんと効率的に解決するか、実践的なプロジェクトの例で段階的に詳細に説明します。


こんな方に強力おすすめです!

  • SwiftUIアプリ開発中のジュニア開発者:複雑な状態管理パターンに渇きを感じる方。

  • アーキテクチャに興味のあるiOS開発者:メンテナンスとテストが容易なアーキテクチャを学びたい人。

  • TCAを一人で勉強するのに苦労する方:理論と実際の応用の隙間を埋めたい方。

  • サイドプロジェクトのクオリティを高めたい方:頑丈でスケーラブルなアプリを作りたい方。


🚀この講義を通じて得られるもの:

  1. TCAの中心的な哲学の完全な理解: State、Action、Reducer、Storeがなぜ必要であり、どのように有機的に動作するのかを正確に理解することができます。



  2. 複雑なSwiftUI状態管理の解決:複雑なUI状態とデータフローをTCAを介して予測可能で安定的に管理するノウハウを獲得します。 TCAの一方向のデータフローできちんとコードを整理するノウハウを学びます。



  3. Scopeを使用したコンポーネントのモジュール化: 1つの巨大な機能を独立した再利用可能な子コンポーネントに分割し、親と子の間の状態とアクションを安全に関連付ける方法をマスターします。これにより、アプリの保守性とスケーラビリティを最大化します。



  4. 簡単なテスト: TCAが提供する強力なテストツールを活用して、バグを減らし、信頼性の高いアプリを開発する方法を学びます。

  5. モダンなナビゲーションアーキテクチャの設計:画面を押して引く「Stackベースのナビゲーション」と、シート、ポップアップなどを扱う「ツリーベースのナビゲーション」の両方をマスターします。 TCAのScopeNavigationStackStoreifLetなどを活用して、複雑な画面フロー図を明快かつ効率的に実装する方法を学びます。



  6. 拡張性の高いアーキテクチャ設計:コンポーネント間の依存性を減らし、再利用性を高めるTCAの利点を実践的に活用します。



  7. 本番プロジェクトの経験:画像ピッカー、API通信などの非同期操作をReducerで安全に処理し、 swift-dependenciesを活用した最新の依存性注入技術を習得します。




私たちは何を作るのでしょうか? 🚀


理論学習を超えて、実際に動作する「マイページ」、「検索」機能を最初から最後まで一緒に作ります。


  • 基本UIとデータ連携: SwiftUIとSwiftDataを使用して設定リストを構成します。

  • Stackベースのナビゲーション:リストから詳細ページ(名前の変更、電子メールの変更、画像の変更)に入るロジックを実装します。

  • 名前/電子メールの変更: TextFieldバインディングとAlertStateを使用してユーザー情報を変更し、確認通知を表示します。

  • プロフィール画像の変更: PhotosUIを連動してギャラリーから画像を選択し、LazyVGridで表示し、選択した画像でプロファイルを更新します。

  • 強力な検索機能の実装:

    • 非同期通信と状態管理:ユーザーの検索クエリに基づいて非同期的に検索結果を取得するロジックをReducerによって安全に処理します。

    • ifLetを使用した条件付きUI:検索結果がある場合にのみ結果リストUIを公開する方法をTCAのifLetスコープでエレガントに実装します。

    • ツリーベースのナビゲーション:検索結果アイテムをタップすると、そのアイテムの詳細ページに移動するツリーベースのナビゲーションロジックを経験し、Stackベースのナビゲーションとの違いを理解します。


もはや複雑なコードで心配しないでください!このレッスンで、あなたのSwiftUIアプリ開発のスキルはさらに一歩飛びます。 TCA( swift-composable-architecture で堅牢で美しいコードを作成しましょう! 🚀


こんな方に
おすすめです

学習対象は
誰でしょう?

  • 既存のSwiftUIの状態管理方法(@State, @Binding, ObservableObject)に限界を感じ、より体系的なアーキテクチャを導入したい開発者

  • 実務ですぐに適用できるプロジェクトベースの学習を通じて、TCAの理論と実践を共に経験したい開発者

  • アプリが大規模化しても保守・テストが容易で、拡張性の高いコードの書き方を学びたい開発者

前提知識、
必要でしょうか?

  • Swift 基礎

こんにちは
です。

414

受講生

23

受講レビュー

24

回答

4.7

講座評価

5

講座

6년차 iOS 개발자 덤벨로퍼입니다

현업에서 바로 사용할수 있는 강의

초중급 레벨에게 필요한 강의를 만들겠습니다

 

 

カリキュラム

全体

36件 ∙ (5時間 3分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

3件

5.0

3件の受講レビュー

  • cooood님의 프로필 이미지
    cooood

    受講レビュー 6

    平均評価 5.0

    5

    62% 受講後に作成

    • 권혁준님의 프로필 이미지
      권혁준

      受講レビュー 6

      平均評価 4.8

      5

      100% 受講後に作成

      • sclee님의 프로필 이미지
        sclee

        受講レビュー 1

        平均評価 5.0

        修正済み

        5

        97% 受講後に作成

        잘보았습니다. tca 맛보기로 좋네요. 다음에 올리시는 강의부터는 화질이 조금만 좋았으면 합니다.

        ¥9,422

        dumveloperの他の講座

        知識共有者の他の講座を見てみましょう!

        似ている講座

        同じ分野の他の講座を見てみましょう!