인프런 영문 브랜드 로고
인프런 영문 브랜드 로고
NEW
개발 · 프로그래밍

/

모바일 앱 개발

Flutter 고급 - 현업 수준의 아키텍처

실제 서비스에서 사용되는 수준의 앱을 처음부터 끝까지 만들어보는 실전 강의. Clean Architecture와 MVVM 패턴을 적용하여 확장 가능하고 유지보수가 쉬운 앱 개발 방법 학습.

26명 이 수강하고 있어요.

Thumbnail

중급자를 위해 준비한
[모바일 앱 개발, Flutter] 강의입니다.

이런 걸
배워요!

  • Clean Architecture와 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 : 될 때까지 안드로이드 집필

  • 2018 : 오준석의 안드로이드 생존코딩: 코틀린 편 집필

  • 2020 : 국내 1호 플러터 서적 : 오준석의 플러터 생존코딩 집필 (2020 세종도서 선정)

  • 2020 ~ 2024 : Flutter 개발자 교육 9개 기수 운영


수강 전 참고 사항

실습 환경

  • 강의는 맥OS, Flutter 3.24, Dart 3.5.4 기준으로 촬영했습니다.

  • Android Studio 를 사용합니다.

  • Android 에뮬레이터 기준으로 설명합니다.


선수 지식 및 유의사항

  • "Flutter 중급 - 클린 아키텍처"를 봤거나 그에 상응하는 지식을 가지면 좋습니다.


  • Flutter 중급자가 들으면 좋습니다.

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • 플러터로 실제 서비스를 개발하고 싶은 개발자

  • Clean Architecture와 MVVM 패턴을 실무에 적용하고 싶은 개발자

  • UI/UX를 고려한 앱 개발 방법을 배우고 싶은 분

  • 재사용 가능한 컴포넌트 설계에 관심 있는 분

선수 지식,
필요할까요?

  • Dart 언어 기초 문법

  • Flutter 기본 위젯과 레이아웃에 대한 이해

  • 객체지향 프로그래밍 기본 개념

안녕하세요
오준석입니다.

수강생 수

9,575

수강평 수

647

강의 평점

4.7

강의 수

13

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

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

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

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

커리큘럼

전체

52개 ∙ (13시간 50분)

강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!