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

/

Mobile Application Development

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

実際のサービスで使用されるレベルのアプリを最初から最後まで作ってみる実践講座。 Clean ArchitectureとMVVMパターンを適用し、拡張可能で保守しやすいアプリ開発方法の学習。

  • survivalcoding
플러터
Flutter
clean-architecture
MVVM
state-management

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

こんなことが学べます

  • クリーンアーキテクチャと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 クラス HomeScreen extends StatefulWidget { @override State < HomeScreen > createState() => _HomeScreenState(); } // After クラス HomeScreen extends StatelessWidget { final HomeState state; final void FunctionHomeAction action)onAction; //テスト可能で再利用性の高いコードを書く }

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

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


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

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


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

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

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

「ステータス管理はアプリの心臓です。」効率的な状態管理、一方向のデータフロー設計で予測可能でデバッグしやすいアプリを作成する方法を学びます。

エラー処理:ユーザーエクスペリエンスの向上

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

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

「良いコンポーネントは一度作って一生書きます。」再利用可能なUIコンポーネントを設計および実装する方法、効率的なウィジェットツリー構成、およびパフォーマンス最適化技術を学びます。

この講義を作った人

  • 2018:なるまでAndroidの記事

  • 2018:オ・ジュンソクのAndroidサバイバルコーディング:コトリン編執筆

  • 2020:国内1号フラッター書籍:オ・ジュンソクのフラッター生存コーディング執筆(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 の基本ウィジェットとレイアウトについての理解

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

こんにちは
です。

11,611

受講生

813

受講レビュー

856

回答

4.7

講座評価

14

講座

교육하고 책 쓰는 개발자 오준석입니다.
'오준석의 생존코딩' 유튜브 채널과 생존코딩 (https://survivalcoding.com) 교육 플래폼을 운영중입니다.

전문 분야 : Android, Flutter

저서
오준석의 플러터 생존코딩 (한빛미디어 2020)
오준석의 안드로이드 생존코딩: 코틀린 편 (한빛미디어 2018)
될 때까지 안드로이드 (루비페이퍼 2018)

주요경력
오렌지(OhRange) 대표
세민직업전문학교 정보기술개발 직업훈련교사
수원스마트앱개발학원 운영
LG전자 MC사업부
일본 아이치현 (株)東海理科 Security사업부
일본 아이치현 (株)日本テクシード IT사업부

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

カリキュラム

全体

54件 ∙ (13時間 57分)

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

受講レビュー

全体

30件

4.7

30件の受講レビュー

  • john snake님의 프로필 이미지
    john snake

    受講レビュー 1

    平均評価 5.0

    修正済み

    5

    100% 受講後に作成

    오준석 선생님 덕분에 작년에 입사하여 이제 일 한지 5개월차 된 플러터 현직자입니다. 보통 다트의 쉬운 문법과 화려한 앱 ui를 보고 입문하는데 프로젝트가 복잡해지면 어떻게 관리해야할지 몰라 금방 포기하는 분들이 많습니다. 저도 그 중 한명이었습니다ㅠ 이 강의는 플러터 프로젝트를 어떻게 효율적으로 관리할 수 있는지, 그 방법을 알려주는 너무나 소중한 강의입니다. 잔기술이 아니라 가장 중요한 것을 알려주십니다. 플러터 강의 중에서는 가장 근본에 가까운 강의입니다. 다른 입문자, 현직자 분들도 돌아가지 말고, 포기하지 말고, 끝까지 현업에서 생존하기를 바라며 이 강의를 추천합니다!

    • Nostia님의 프로필 이미지
      Nostia

      受講レビュー 1

      平均評価 5.0

      5

      73% 受講後に作成

      항상 좋은 강의 감사합니다. 추가로 이전 강의들처럼 테스트 코드를 작성하고, 실제 적용되는 예제까지 있었으면 더 좋았을 것 같다는 아쉬움이 조금 남지만 직접해보것으로 아쉬움을 달래보겠습니다. 늘 기다리고 있습니다. 다음에 더 좋은 강의로 얼른 찾아와주시면 감사하겠습니다 ^^!!

      • Aiden Lee님의 프로필 이미지
        Aiden Lee

        受講レビュー 3

        平均評価 5.0

        修正済み

        5

        100% 受講後に作成

        플러터로 구현된 어떤 프로젝트를 급하게 다뤄야 하는 상황에 놓여서 공식문서 위주로 기초를 빠르게 훑고 이 강의를 들었습니다. 강의에서 배운 내용을 참고하여 새로운 아키텍처를 적용하면서 결합도 높은 기존의 코드를 많이 개선했어요. 덕분에 코드를 많이 정리하면서 시작할 수 있었고 지금도 큰 도움이 되고 있습니다. 굳이 아쉬웠던 점을 남기면, 중고급 강의인 만큼 단순 UI 구현을 그대로 보여주는 것 대신 좀더 다양한 구현 사례와 함께 테스트 코드 작성도 경험할 수 있었다면 더할 나위 없이 좋았을 것 같아요. 하지만 이 소감은 다양한 주제로 구성된 강사님의 다른 강의를 들어본 적이 없기 때문에 느꼈던 것일 수도 있습니다. 무엇보다 제목 그대로 좋은 아키텍처를 고민하며 플러터 실전 경험을 익히는데는 유용한 강의라고 생각합니다. 좋은 강의 감사합니다 !

        • 두두님의 프로필 이미지
          두두

          受講レビュー 5

          平均評価 5.0

          5

          100% 受講後に作成

          정말 도움이 많이 됐습니다! 혼자 개발만 하면서는 몰랐던 피그마를 이용해서 어플을 만드는지 잘 알려줘서 좋았습니다. 폴더 구조를 나누는 법, 딥링크 구현에 관한것도 정말 좋았고요. 좋은 강의 감사합니다!!

          • 송진섭님의 프로필 이미지
            송진섭

            受講レビュー 19

            平均評価 5.0

            修正済み

            5

            100% 受講後に作成

            우선 해당 강의에 대해서 좋다고 생각하는 이유를 정리해 보자면 1. 피그마 디자인 기준으로 어떻게 어플을 만드는지에 대해서 배울 수 있어서 좋았습니다 2. 커스텀 위젯을 어떻게 만들지 딥링크를 어떻게 구현 하는지 관해서 배울 수 있어서 좋았습니다. 3. 전체적으로 구조를 어떻게 잡는지에 대해서 빠르게 복습 가능해서 좋았습니다. 개인적으로 1번에서도 언급한 피그마를 통한 협업을 한다고 이야기 들었을때 어떻게 디자인을 실제로 코드로 구현하는지에 대한 과정이 궁금했는데 그걸 해소했던 점이 제일 좋았던것같습니다. 마지막으로 좋은 강의 해주신 선생님께 감사드립니다.

            ¥14,172

            survivalcodingの他の講座

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

            似ている講座

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