강의

멘토링

컀뮀니티

BEST
Programming

/

Mobile Application Development

Flutter Advanced - Production-Level Architecture

Practical course building an app from start to finish, at a level used in actual services. Learn scalable and easy-to-maintain app development methods by applying Clean Architecture and MVVM patterns.

(4.8) 33 reviews

273 learners

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

Reviews from Early Learners

What you will learn!

  • How to Apply Clean Architecture and MVVM Pattern in Real Projects

  • How to Design and Implement Reusable Complex UI Components

  • How to effectively handle state management and routing

  • Real Service Level Error Handling

Modern app architecture chosen by big tech companies
Clean Architecture & MVVM Pattern

Developing Real-World Flutter Apps:
App Architecture for Scalable App Design 🏗


Why does code become harder to maintain as apps grow? 🀔

The answer lies in Clean Architecture and the MVVM pattern. This architecture, adopted by big tech companies, is a core design method that systematically manages complex business logic and allows for easy addition of new features.

In this course, we will implement a real-world service-level app using Flutter and Clean Architecture. We will cover in-depth topics that you will encounter in practice, such as Dependency Injection, hierarchical state management, writing testable code, and error handling.
If you're tired of Hello World level tutorials, this course will give you the fun of real architecture design while creating a production ready app! 💪

Features of this course

📌 Presenting problems and solutions that occur in real production environments

📌 Step-by-step source code provided via GitHub

📌 All code is written in a way that allows unit testing and UI testing.

📌 This course is for intermediate and advanced level learners.

1⃣ Guide to building a production-level app from Figma

This lecture will explain in detail the process of developing an app when receiving a design from Figma.


2⃣ Folder structure of the app written in the lecture

The structure of the app written in class.
MVVM, MVI patterns based on clean architecture


3⃣ Not using state management library

Many developers use state management libraries out of a sense of obligation, but there is no need to do so. The basic features provided by Flutter are sufficient for state management.
In this course, we will use only the minimum libraries as follows:


4⃣ Testable UI Design

Create a UI that is not affected by any external factors


5⃣ Deep link friendly router configuration

Guide to configuring a deep link-friendly router that is essential for the workplace


6⃣ Error handling strategies for more complex error handling

Improves the existing Result pattern to provide an appropriate error handling method for complex situations


I recommend this to people who have these concerns.

The code is getting more and more complicated
It's difficult to manage

Used in practice
I want to learn architecture

Easy to test and maintain
I want to create an app

"I can make widgets, but as the size grows, the code becomes spaghetti..."

"I don't know how to apply Clean Architecture and MVVM in practice"

“I want to refactor my code, but I don’t know where to start.”

"I don't know how to manage the status"

"I need practical knowledge that I can apply immediately at work."

"I don't know how to write testable code"

"Every time we add a new feature, we have to modify a lot of existing code."

"I studied design patterns, but I find it difficult to apply them to actual projects."

"I'm worried that it's okay to leave it like this because it seems like technical debt is piling up."


After taking the class, you will be like this ✹


1. Systematic app design becomes possible

  • You can clearly distinguish and design each layer of Clean Architecture.

  • When you need to add new features, you can extend it without touching the existing code.

  • It allows you to naturally apply SOLID principles to real projects.

2. You can implement professional status management.

  • You will learn efficient state management methods without using external libraries.

  • Even complex business logic can be handled cleanly.

  • Clean state management without memory leaks is possible.

3. You can write testable code.

  • You can write code that can be used for everything from unit tests to UI tests.


  • You can continuously monitor and improve code quality.

4. You can write code that is recognized in practice.

// Before class HomeScreen extends StatefulWidget { @override State < HomeScreen > createState() => _HomeScreenState(); } // After class HomeScreen extends StatelessWidget { final HomeState state; final void Function ( HomeAction action) onAction; // Write testable and reusable code }

5. Complete a project that can be used as a portfolio.

  • You can use high-quality apps with actual service levels as your portfolio.


  • You can gain real-world project experience applying clean architecture.

Learn about these things.


✅ Clean Architecture: Layer separation and dependency injection

"An app without architecture is like a toy without Legos." Learn how to cleanly separate business logic from UI, and write flexible, testable code with dependency injection.

✅ MVVM Pattern: State Management and Unidirectional Data Flow

"State management is the heart of your app." Learn how to create predictable, easy-to-debug apps with efficient state management and unidirectional data flow design.

✅ Error Handling: Improving User Experience

“Errors are inevitable, but they can be managed.” Covers how to systematically handle network errors, data validation, and exceptions, and provide appropriate feedback to users.

✅ Reusable Components: UI Design and Implementation

"A good component is built once and used forever." Learn how to design and implement reusable UI components, construct efficient widget trees, and optimize performance.

Who created this course

  • 2018: Android Writing Until It Happens

  • 2018: Written by Oh Jun-seok's Android Survival Coding: Kotlin Edition

  • 2020: Korea's first Flutter book: Oh Jun-seok's Flutter Survival Coding (Selected by Sejong Books in 2020)

  • 2020 ~ 2024: 9 batches of Flutter developer training


Things to note before taking the class

Practice environment

  • The lecture was filmed using macOS, Flutter 3.24, and Dart 3.5.4.

  • I use Android Studio.

  • This explanation is based on the Android emulator.


Player Knowledge and Notes

  • It would be helpful if you have seen "Flutter Intermediate - Clean Architecture" or have equivalent knowledge.


  • This is good for intermediate Flutter learners.

Roadmap

flutter_loadmap

Recommended for
these people

Who is this course right for?

  • Developer wanting to build real services with Flutter

  • Developer who wants to apply Clean Architecture and MVVM pattern in practice

  • People who want to learn how to develop apps considering UI/UX

  • Those interested in reusable component design

Need to know before starting?

  • Basic Dart Language Grammar

  • Understanding Flutter's Basic Widgets and Layout

  • Object-Oriented Programming Basic Concepts

Hello
This is

11,868

Learners

850

Reviews

857

Answers

4.7

Rating

14

Courses

교육하고 책 쓰는 개발자 였쀀석입니닀.
'였쀀석의 생졎윔딩' 유튜람 채널곌 생졎윔딩 (https://survivalcoding.com) 교육 플래폌을 욎영쀑입니닀.

전묞 분알 : Android, Flutter

저서
였쀀석의 플러터 생졎윔딩 (한빛믞디얎 2020)
였쀀석의 안드로읎드 생졎윔딩: 윔틀늰 펾 (한빛믞디얎 2018)
될 때까지 안드로읎드 (룚비페읎퍌 2018)

죌요겜력
였렌지(OhRange) 대표
섞믌직업전묞학교 정볎Ʞ술개발 직업훈렚교사
수원슀마튞앱개발학원 욎영
LG전자 MC사업부
음볞 아읎치현 (æ ª)東海理科 Security사업부
음볞 아읎치현 (æ ª)日本テクシヌド IT사업부

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

Curriculum

All

54 lectures ∙ (13hr 57min)

Published: 
Last updated: 

Reviews

All

33 reviews

4.8

33 reviews

  • mmmkb1님의 프로필 읎믞지
    mmmkb1

    Reviews 1

    ∙

    Average Rating 5.0

    Edited

    5

    100% enrolled

    オ・ゞュン゜ク先生のおかげで昚幎入瀟し、今働いおから5ヶ月目になったフラッタヌ珟職者です。通垞、ダヌツの簡単な文法ず掟手なアプリuiを芋お入門するのにプロゞェクトが耇雑になったらどう管理するか分からずすぐ攟棄する方が倚いです。私もその䞀人でした😭 この講矩は、フラッタヌプロゞェクトをどのように効率的に管理できるか、その方法を教えおくれる貎重な講矩です。残技術ではなく、最も重芁なこずを教えおください。フラッタヌ講矩の䞭では最も根本に近い講矩です。 他の入門者、珟職者の方も垰らず、あきらめず、最埌たで珟業で生き残るこずを願っおこの講矩をおすすめしたす

    • emptynet님의 프로필 읎믞지
      emptynet

      Reviews 2

      ∙

      Average Rating 5.0

      5

      73% enrolled

      い぀も良い講矩をありがずうございたす。 たた、前の講矩のようにテストコヌドを䜜成し、実際に適甚される䟋があればもっず良かったのですが、自分でやっお䞍満を解消したいず思いたす。 い぀も埅っおいたす。次回、もっず良い講矩で早く来おいただければ幞いです ^^!!

      • rheech224434님의 프로필 읎믞지
        rheech224434

        Reviews 3

        ∙

        Average Rating 5.0

        Edited

        5

        100% enrolled

        フラッタヌで実斜されたどんなプロゞェクトを急いで扱わなければならない状況に眮かれ、公匏文曞䞭心に基瀎をすばやく掘り、この講矩を聞きたした。 講矩で孊んだこずを参考に、新しいアヌキテクチャを適甚しながら、結合も高い既存のコヌドを倚く改善したした。おかげでコヌドをたくさん敎理しながら始めるこずができ、今でも倧きな助けになっおいたす。 あえお残念だった点を残せば、䞭高玚講矩であるだけに単玔なUI実装をそのたた芋せるのではなく、もっず倚様な実装事䟋ずずもにテストコヌドの䜜成も経隓できたらさらに良いず思いたした。しかし、この感想は、さたざたなテヌマで構成された講垫の別の講矩を聞いたこずがないために感じたこずかもしれたせん。䜕よりタむトルの通り良いアヌキテクチャを悩み、フラッタヌ実践経隓を身に぀けるのには有甚な講矩だず思いたす。 良い講矩ありがずうございたす

        • iamlimyeonju2930님의 프로필 읎믞지
          iamlimyeonju2930

          Reviews 5

          ∙

          Average Rating 5.0

          5

          100% enrolled

          本圓に助かりたした 䞀人で開発しおいたら知らなかった、Figmaを䜿っおアプリを䜜る方法を詳しく教えおくれお良かったです。 フォルダ構造の分割方法やディヌプリンクの実装方法も本圓に良かったです。 良い講矩をありがずうございたした

          • songjin39148713님의 프로필 읎믞지
            songjin39148713

            Reviews 19

            ∙

            Average Rating 5.0

            Edited

            5

            100% enrolled

            たず、この講矩に぀いお良いず思った点を敎理するず、 1. Figma デザむン基準でアプリをどのように䜜成するかを孊べたので良かったです。 2. カスタム りィゞェットをどのように䜜成するか、ディヌプリンクをどのように実装するかを孊べたので良かったです。 3. 党䜓的に構造をどのように蚭定するかをすばやく埩習できたので良かったです。 個人的に、1 番でも述べたように、Figma を通じお共同䜜業を行うず聞いたずき、デザむンを実際にコヌドにどのように実装するかずいうプロセスが気になりたしたが、それが解決された点が最も良かったず思いたす。 最埌に、良い講矩をしおくださった先生に感謝したす。

            $93.50

            survivalcoding's other courses

            Check out other courses by the instructor!

            Similar courses

            Explore other courses in the same field!