Flutter上級 - 実務レベルのアーキテクチャ

実際のサービスで使用されるレベルのアプリを最初から最後まで作ってみる実践講義。 Clean ArchitectureとMVVMパターンを適用して、拡張可能でメンテナンスが容易なアプリ開発手法を学習。

難易度 中級以上

受講期間 無制限

Flutter
Flutter
clean-architecture
clean-architecture
MVVM
MVVM
state-management
state-management
Flutter
Flutter
clean-architecture
clean-architecture
MVVM
MVVM
state-management
state-management

学習した受講者のレビュー

学習した受講者のレビュー

4.7

5.0

john snake

100% 受講後に作成

オ・ジュンソク先生のおかげで昨年入社し、今働いてから5ヶ月目になったフラッター現職者です。通常、ダーツの簡単な文法と派手なアプリuiを見て入門するのにプロジェクトが複雑になったらどう管理するか分からずすぐ放棄する方が多いです。私もその一人でした😭 この講義は、フラッタープロジェクトをどのように効率的に管理できるか、その方法を教えてくれる貴重な講義です。残技術ではなく、最も重要なことを教えてください。フラッター講義の中では最も根本に近い講義です。 他の入門者、現職者の方も帰らず、あきらめず、最後まで現業で生き残ることを願ってこの講義をおすすめします!

5.0

Nostia

73% 受講後に作成

いつも良い講義をありがとうございます。 また、前の講義のようにテストコードを作成し、実際に適用される例があればもっと良かったのですが、自分でやって不満を解消したいと思います。 いつも待っています。次回、もっと良い講義で早く来ていただければ幸いです ^^!!

5.0

Aiden Lee

100% 受講後に作成

フラッターで実施されたどんなプロジェクトを急いで扱わなければならない状況に置かれ、公式文書中心に基礎をすばやく掘り、この講義を聞きました。 講義で学んだことを参考に、新しいアーキテクチャを適用しながら、結合も高い既存のコードを多く改善しました。おかげでコードをたくさん整理しながら始めることができ、今でも大きな助けになっています。 あえて残念だった点を残せば、中高級講義であるだけに単純なUI実装をそのまま見せるのではなく、もっと多様な実装事例とともにテストコードの作成も経験できたらさらに良いと思いました。しかし、この感想は、さまざまなテーマで構成された講師の別の講義を聞いたことがないために感じたことかもしれません。何よりタイトルの通り良いアーキテクチャを悩み、フラッター実践経験を身につけるのには有用な講義だと思います。 良い講義ありがとうございます!

受講後に得られること

  • クリーンアーキテクチャとMVVMパターンを実際のプロジェクトに適用する方法

  • 複雑なUIコンポーネントを再利用可能に設計・実装する方法

  • 状態管理とルーティングを効果的に処理する方法

  • 実際のサービスレベルのエラー処理方法

ビッグテック企業が選んだモダンアプリアーキテクチャ
Clean Architecture & MVVM パターン

実践Flutterアプリ開発:
拡張可能なアプリ設計のためのアプリアーキテクチャ 🏗


アプリが大きくなるにつれて、なぜコードの管理はますます難しくなるのでしょうか? 🤔

答えはClean ArchitectureMVVMパターンにあります。ビッグテック企業が採用しているこのアーキテクチャは、複雑なビジネスロジックを体系的に管理し、新しい機能を簡単に追加できるようにする核心的な設計手法です。

本講義では、FlutterとClean Architectureを使用して、実際のサービスレベルのアプリを実装します。Dependency Injection、階層型状態管理、テスト可能なコード作成、エラーハンドリングなど、実務で直面する深いテーマを扱います。
Hello Worldレベルのチュートリアルに飽きたなら、この講義でproduction ready(本番対応)状態のアプリを作りながら、真のアーキテクチャ設計の楽しさを体験してみてください!💪

この講義の特徴

📌 実際のプロダクション環境で発生する問題と解決策を提示

📌 GitHubを通じた段階別のソースコード提供

📌 すべてのコードは、ユニットテストとUIテストが可能な形式で作成されています。

📌中級者以上を対象とした講義です。

1⃣ Figmaから実務レベルのアプリを制作するガイド

本講義では、Figmaからデザインを受け取った際にアプリを開発していく過程を詳細にお伝えします。


2⃣ 講義で作成するアプリのフォルダ構造

講義で作成するアプリの構造。
クリーンアーキテクチャに基づいたMVVM、MVIパターン


3⃣ 状態管理ライブラリの未使用

多くの開発者が義務感で状態管理ライブラリを使用していますが、その必要はありません。Flutterが提供する基本機能だけで状態管理は十分です。
本講義では、次のように最小限のライブラリのみを使用します。


4⃣ テスト可能なUI設計

いかなる外部要因にも影響を受けないUI作成


5⃣ ディープリンクフレンドリーなルーター構成

現場で必ず役立つディープリンクフレンドリーなルーター構成方法のご案内


6⃣ より複雑なエラー処理のためのエラーハンドリング戦略

既存のResultパターンを改良し、複雑な状況に適したエラー処理方法を提示


このような悩みをお持ちの方におすすめします

コードがだんだん複雑になり
管理が難しいです

実務で使われている
アーキテクチャを学びたいです

テストとメンテナンスが容易な
アプリを作りたいです

"ウィジェットは作れるのですが、規模が大きくなるにつれてコードがどんどんスパゲッティ状態になってしまいます..."

"クリーンアーキテクチャやMVVMを実際にどう適用すべきか分かりません"

"コードのリファクタリングをしたいのですが、どこから手をつければいいのか分かりません"

"状態管理をどうすればいいかわかりません"

"会社ですぐに役立つ実践的な知識が必要です"

"テスト可能なコードをどのように書けばいいのか分かりません"

"新しい機能を追加するたびに、既存のコードを大幅に修正しなければなりません"

"デザインパターンを勉強しましたが、実際のプロジェクトに適用するのが難しいです"

"技術負債が溜まっているようで、このままにしておいても大丈夫か不安です"


受講後はこのように変わります


1. 体系的なアプリ設計が可能になります

  • Clean Architectureの各レイヤーを明確に区分し、設計できるようになります

  • 新しい機能の追加が必要なとき、既存のコードを修正することなく拡張できるようになります。

  • SOLID原則を実際のプロジェクトに自然に適用できるようになります。

2. プロフェッショナルな状態管理を実装できるようになります

  • 外部ライブラリを使わなくても、効率的な状態管理の方法を習得できます

  • 複雑なビジネスロジックもきれいに処理できるようになります

  • メモリリークのないクリーンな状態管理が可能になります

3. テスト可能なコードを書けるようになります

  • ユニットテストからUIテストまで可能なコード作成ができます。


  • コード品質を継続的にモニタリングし、改善することができます

4. 実務で認められるコードを書くことができます

// Before class HomeScreen extends StatefulWidget { @override State<HomeScreen> createState() => _HomeScreenState(); } // After class HomeScreen extends StatelessWidget { final HomeState state; final void Function(HomeAction action) onAction; // テスト可能で再利用性の高いコード作成 }

5. ポートフォリオとして活用できるプロジェクトが完成します

  • 実際のサービスレベルの完成度の高いアプリを、ポートフォリオとして活用できます


  • クリーンアーキテクチャを適用した実際のプロジェクト経験を積むことができます。

このような内容を学びます。


Clean Architecture: 階層分離と依存性の注入

"アーキテクチャのないアプリは、レゴのないおもちゃのようなものです。" ビジネスロジックとUIをきれいに分離し、依存性の注入を通じて柔軟でテスト可能なコードを作成する方法を学びます。

MVVMパターン:状態管理と単方向データフロー

"状態管理はアプリの心臓部です。" 効率的な状態管理、単方向データフローの設計によって、予測可能でデバッグしやすいアプリを作る方法を学習します。

エラーハンドリング:ユーザーエクスペリエンスの向上

"エラーは避けることはできませんが、管理することはできます。" ネットワークエラー、データ検証、例外状況を体系的に処理し、ユーザーに適切なフィードバックを提供する方法を扱います。

再利用可能なコンポーネント:UI設計と実装

"良いコンポーネントは一度作れば一生使えます。" 再利用可能なUIコンポーネントを設計・実装する方法、効率的なウィジェットツリーの構成とパフォーマンス最適化の手法を学びます。

この講座の作成者

  • 2018 : 「できるまでAndroid」執筆

  • 2018 : オ・ジュンソクのAndroid生き残りコーディング:Kotlin編 執筆

  • 2020 : 国内初のFlutter書籍:オ・ジュンソクのFlutter生存コーディング執筆(2020年世宗図書選定)

  • 2020 ~ 2024 : Flutter 開発者教育 9期 運営


受講前のご注意事項

実習環境

  • 講義はmacOS、Flutter 3.24、Dart 3.5.4を基準に撮影しました。

  • Android Studio を使用します。

  • Androidエミュレータを基準に説明します。


事前知識および注意事項

  • "Flutter中級 - クリーンアーキテクチャ"を視聴済みか、それに相当する知識をお持ちであることが望ましいです。


  • Flutter中級者の方が受講されると良い内容です。

ロードマップ

flutter_loadmap

こんな方に
おすすめです

学習対象は
誰でしょう?

  • Flutterで実際のサービスを開発したい開発者

  • Clean ArchitectureとMVVMパターンを実務に適用したい開発者

  • UI/UXを考慮したアプリ開発方法を学びたい方

  • 再利用可能なコンポーネント設計に関心がある方

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

  • Dart言語の基礎文法

  • Flutterの基本ウィジェットとレイアウトに関する理解

  • オブジェクト指向プログラミングの基本概念

こんにちは
survivalcodingです。

12,452

受講生

900

受講レビュー

865

回答

4.7

講座評価

15

講座

教育し、本を執筆する開発者のオ・ジュンソクです。
「オ・ジュンソクの生存コーディング」YouTubeチャンネルと生存コーディング(https://survivalcoding.com)教育プラットフォームを運営しています。

専門分野:Android, Flutter

著書
オ・ジュンソクのFlutter生存コーディング(ハンビッメディア 2020)
オ・ジュンソクのAndroid生存コーディング:Kotlin編(ハンビッメディア 2018)
できるまでAndroid(ルビーペーパー 2018)

主な経歴
OhRange 代表
世民職業専門学校 情報技術開発 職業訓練教師
水原スマートアプリ開発学院 運営
LG電子 MC事業部
日本 愛知県 (株)東海理化 セキュリティ事業部
日本 愛知県 (株)日本テクシード IT事業部

LinkedIn: https://www.linkedin.com/in/junsuk5/

もっと見る

カリキュラム

全体

54件 ∙ (13時間 57分)

講座掲載日: 
最終更新日: 

受講レビュー

全体

38件

4.7

38件の受講レビュー

  • emptynet님의 프로필 이미지
    emptynet

    受講レビュー 2

    平均評価 5.0

    5

    73% 受講後に作成

    いつも良い講義をありがとうございます。 また、前の講義のようにテストコードを作成し、実際に適用される例があればもっと良かったのですが、自分でやって不満を解消したいと思います。 いつも待っています。次回、もっと良い講義で早く来ていただければ幸いです ^^!!

    • rheech22님의 프로필 이미지
      rheech22

      受講レビュー 4

      平均評価 5.0

      修正済み

      5

      100% 受講後に作成

      フラッターで実施されたどんなプロジェクトを急いで扱わなければならない状況に置かれ、公式文書中心に基礎をすばやく掘り、この講義を聞きました。 講義で学んだことを参考に、新しいアーキテクチャを適用しながら、結合も高い既存のコードを多く改善しました。おかげでコードをたくさん整理しながら始めることができ、今でも大きな助けになっています。 あえて残念だった点を残せば、中高級講義であるだけに単純なUI実装をそのまま見せるのではなく、もっと多様な実装事例とともにテストコードの作成も経験できたらさらに良いと思いました。しかし、この感想は、さまざまなテーマで構成された講師の別の講義を聞いたことがないために感じたことかもしれません。何よりタイトルの通り良いアーキテクチャを悩み、フラッター実践経験を身につけるのには有用な講義だと思います。 良い講義ありがとうございます!

      • songjin39148713님의 프로필 이미지
        songjin39148713

        受講レビュー 20

        平均評価 5.0

        修正済み

        5

        100% 受講後に作成

        まず、この講義について良いと思った点を整理すると、 1. Figma デザイン基準でアプリをどのように作成するかを学べたので良かったです。 2. カスタム ウィジェットをどのように作成するか、ディープリンクをどのように実装するかを学べたので良かったです。 3. 全体的に構造をどのように設定するかをすばやく復習できたので良かったです。 個人的に、1 番でも述べたように、Figma を通じて共同作業を行うと聞いたとき、デザインを実際にコードにどのように実装するかというプロセスが気になりましたが、それが解決された点が最も良かったと思います。 最後に、良い講義をしてくださった先生に感謝します。

        • mmmkb1님의 프로필 이미지
          mmmkb1

          受講レビュー 1

          平均評価 5.0

          修正済み

          5

          100% 受講後に作成

          オ・ジュンソク先生のおかげで昨年入社し、今働いてから5ヶ月目になったフラッター現職者です。通常、ダーツの簡単な文法と派手なアプリuiを見て入門するのにプロジェクトが複雑になったらどう管理するか分からずすぐ放棄する方が多いです。私もその一人でした😭 この講義は、フラッタープロジェクトをどのように効率的に管理できるか、その方法を教えてくれる貴重な講義です。残技術ではなく、最も重要なことを教えてください。フラッター講義の中では最も根本に近い講義です。 他の入門者、現職者の方も帰らず、あきらめず、最後まで現業で生き残ることを願ってこの講義をおすすめします!

          • iamlimyeonju2930님의 프로필 이미지
            iamlimyeonju2930

            受講レビュー 5

            平均評価 5.0

            5

            100% 受講後に作成

            本当に助かりました! 一人で開発していたら知らなかった、Figmaを使ってアプリを作る方法を詳しく教えてくれて良かったです。 フォルダ構造の分割方法やディープリンクの実装方法も本当に良かったです。 良い講義をありがとうございました!!

            survivalcodingの他の講座

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

            似ている講座

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

            ¥15,384