강의

멘토링

커뮤니티

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 基礎

こんにちは
です。

456

受講生

29

受講レビュー

25

回答

4.7

講座評価

5

講座

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

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

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

 

 

カリキュラム

全体

36件 ∙ (5時間 3分)

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

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

受講レビュー

全体

9件

5.0

9件の受講レビュー

  • manutd6229169님의 프로필 이미지
    manutd6229169

    受講レビュー 4

    平均評価 5.0

    5

    100% 受講後に作成

    プロジェクト導入にとても役立ちました :) もしかして質問も受け付けていただけますか..??

    • dumveloper
      知識共有者

      はい、もちろんです!質問してください!プロジェクトのお手伝いができて光栄です!

    • ありがとうございます! 初めてTCAに触れたにも関わらず、講義がとても良くできていたので、時間は少しかかりましたが無難(?)に理解もでき、実際のプロジェクトにも適用することができました。 講義で扱ったように、マイページ → [メール / プロフィール / ニックネーム] 編集画面のような単一の深さの画面遷移は理解しやすく、実装もうまくできています! しかし実際のアプリでは、Instagramのように 投稿 → ユーザーAのプロフィール → ユーザーAのフォローリスト → ユーザーBのプロフィール → ユーザーBのフォローリスト… このような形で継続的に深くなる画面遷移構造がよく登場するのですが、この部分で困難を感じています。 私が講義でどの部分を見落としたのか、 それともこのような多層(?)、ネスト(?)ナビゲーションパターンは元々TCAで少し厄介な方なのか アドバイスをいただきたいです! 念のため、現在実装した方法をお話しすると マイページに関するナビゲーション構造を作って再利用可能だと思ったのですが、そうしようとすると壊れてしまって、今は… マイページから移動可能なケースを[フォロー/フォロイングリスト、投稿]画面と仮定するなら 例えば 1番タブが投稿関連だとすると、結局マイページに入らなければなりませんよね? 2番タブがリール/ショーツ関連タブだとすると、ここでも結局マイページに入らなければならないし しかし今は各タブ画面でマイページ画面遷移ケースを全て同じようにコピペして使用中です😢

  • worrystone6834님의 프로필 이미지
    worrystone6834

    受講レビュー 2

    平均評価 5.0

    5

    62% 受講後に作成

    • kimbamboo님의 프로필 이미지
      kimbamboo

      受講レビュー 1

      平均評価 5.0

      5

      32% 受講後に作成

      • jeeeunlim2910님의 프로필 이미지
        jeeeunlim2910

        受講レビュー 1

        平均評価 5.0

        5

        100% 受講後に作成

        • wingwin19884720님의 프로필 이미지
          wingwin19884720

          受講レビュー 25

          平均評価 4.2

          5

          32% 受講後に作成

          ¥9,864

          dumveloperの他の講座

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

          似ている講座

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