Thumbnail
BEST
개발 · 프로그래밍 모바일 앱 개발

Flutter 앱 개발 실전 대시보드

(5)
14개의 수강평 ∙  251명의 수강생
143,000원

월 28,600원

5개월 할부 시
지식공유자: DevStory
총 125개 수업 (14시간 23분)
수강기한: 
12개월
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유

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

실전 Flutter 프로젝트를 진행하는데 필요한 경험과 노하우를 담은 수업입니다. 단순 구현을 넘어서 시각적으로, 데이터적으로 일관성 있고, 프로젝트가 커져도 지속가능한 서비스를 만드는 방법을 배울 수 있습니다.

✍️
이런 걸
배워요!
필수로 알아야하는 실전 Dart 문법
Flutter 동작 원리를 이해하는데 필요한 지식
시각적, 데이터적으로 일관성 있는 서비스 만들기
지속 가능한 서비스를 만드는 방법

Flutter 앱 개발,
기초를 익혔다면 실전을 배울 때입니다! 📱

Flutter 실전 프로젝트에서 만나는 문제들 🧐

#1.
Flutter와 Dart에 대한
기반 지식이 약하다.

모든 Flutter 개발자는 알게 모르게 BuildContext와 InheritedWidget을 사용하지만, 개념을 제대로 이해하고 사용하는 개발자는 많지 않습니다. 또한 Flutter의 기반이 되는 Dart와 Widget의 동작 원리를 깊이 있게 학습하지 않는다면, 이유와 원리를 모른 체 간신히 동작하는 코드만 작성하게 됩니다.

#2.
최신 기술을 따라가느라
맥락을 놓친다.

상태 관리 패키지만 해도 GetX, Provider, Riverpod, Bloc, Cubit 등 계속해서 새로운 기술이 등장하고 있습니다. 특히 최근에 Flutter를 시작한 개발자들은 StatefulWidget이 존재하는데 해당 패키지들이 어떤 이유로 등장했고, 왜 이런 방식으로 기능을 제공하는지 정확한 이유를 모르기에 패키지 구현 방법 위주로만 학습하게 되며, 과거의 문맥을 제대로 이해하고 사용하기는 어렵습니다.

#3.
프로젝트가 커져가며
코드 복잡도가 올라간다.

실전 프로젝트를 진행하다 보면 프로젝트가 점점 커져감에 따라 더 이상 손대기 두려워지는 경우가 있습니다. 코드 복잡도가 너무 높아져 변경사항이 어떤 문제를 일으킬지 예상이 안되는 지경에 이른 것이죠. 프로젝트를 운영하면서 발생하는 변경사항을 반영할 때 흔히 직면하는 문제인데, 여기까지 오신 분들은 아키텍처를 배우실 차례입니다.


강의 목표 🎯

본 강의는 다른 프로덕트를 따라 만드는 클론 코딩이나, 조금만 찾아보면 배울 수 있는 특정 라이브러리 사용 방법을 알려주는데 초점이 맞춰진 강의가 아니며, Dart와 Flutter에 대한 올바른 지식을 바탕으로 지속 가능한 프로젝트를 만드는 것을 목표로 합니다.


강의 특징 ✔️

이유와 원리를 알려주는 강의

Dart의 동작 원리와 이로부터 파생되는 여러 가지 문제들을 소개하고 이를 어떻게 해결하는지 최대한 실무적이고 본질적인 내용을 다룹니다. 또한 수많은 상태 관리 패키지들은 어떤 문제를 해결하기 위해 등장하였고 어떻게 문제를 해결하는지 배우고 직접 코드로 구현해 봅시다.

지속 가능한 서비스를 만드는 강의

이번 강의는 단순히 동작하는 앱을 만드는 단계를 넘어서 시각적으로, 데이터적으로 일관성 있는 서비스를 구현하고 프로젝트가 성장함에 따라 증가하는 코드 복잡도를 제어하고 검증하는 방법을 다룹니다. 이를 통해 지속 가능한 서비스를 만드는 방법을 배워봅시다.

📌 수강 전 확인해 주세요!

본 강의는 Flutter 앱 개발 시리즈의 두 번째 강의입니다. Flutter 앱 개발 기초 강의는 아래 강의를 참고해 주세요.


특별히 준비했어요 ✨

노션 학습 자료 제공
평생 소장
(섹션0. 강의 자료 참고)

피그마 학습 자료 제공
👉 미리보기

전체 소스 코드 제공
평생 소장


이런 걸 배워요 🎓

1. 실전 Dart 문법

  • 메모리 할당 규칙
  • 참조 비교 & 값 비교
  • 얕은 복사 & 깊은 복사
  • 불변 객체
  • 직렬화 & 역직렬화
  • 코드 생성 패키지
  • final & const 차이
  • getter & setter
  • extends & mixin & extension

2. 상태 관리

  • 상태 관리 이론
  • StatefulWidget
  • InheritedWidget
  • Provider
  • Riverpod
  • Cubit
  • Bloc


3. 디자인 시스템 & 반응형 UI

  • 디자인 시스템 이론
  • 커스텀 테마 만들기
  • 다국어 구현
  • Overlay
  • GlobalKey
  • BuildContext
  • 반응형 UI 구현



4. MVVM & Test

  • MVVM 아키텍처
  • 관심사 분리
  • 데이터 바인딩
  • 의존성 주입
  • 모의 객체
  • Unit Test
  • Golden Test
  • Widget Test
  • Integration Test
  • Test Coverage

이런 걸 만들어요 💫

1. 다양한 상태 관리 실습

2. 글로벌 서비스를 위한 다국어 구현

3. 커스텀 테마 구현 - 라이트 테마

3. 커스텀 테마 구현 - 다크 테마

4. 디스플레이 크기 변경에 반응하는 UI 구현

5. MVVM 아키텍처 구현

6. 단위 & 위젯 테스트 구현

7. 상품 결제 통합 테스트 구현


예상 질문 Q&A 💬

Q. 어느 정도 수준부터 수강하실 수 있나요?

아래 기초 강의를 수강하신 분들이면 따라오실 수 있도록 준비했습니다.

Q. Flutter 최신 버전으로 수강 가능한가요?

네! Flutter 최신 버전에서 수강하실 수 있도록 노션 학습 자료를 상시 업데이트하고 있습니다 :) 강의 영상과 다른 부분은 강의 자료를 참고해 주시고, 만약 수강하시다가 문제가 생기시는 경우 언제든지 오픈 카카오톡으로 문의주시면 빠르면 30분 이내, 늦어도 24시간 이내에 해결해 드리고 있습니다.

Q. Visual Studio Code(VSCode)로 진행하는 이유가 있나요?

VSCod는 Android Studio보다 메모리를 적게 사용하기 때문에 더 많은 분이 수강하실 수 있도록 VSCode를 선택하였습니다. 또한 VSCode에서 제공하는 대부분의 기능은 Android Sutdio에서도 지원하기 때문에 조금만 검색해 보시면 Android Studio에서도 동일하게 이용하실 수 있습니다.

Q. 수강 기한이 무제한이 아닌 이유가 있나요?

강의 구매 후 미루지 않고 수강하시도록 기한을 두었으며, 수강 기한 연장을 원하신다면 언제든지 devstory.co.kr@gmail.com로 인프런 이메일을 알려주세요! 참고로 강의 자료는 평생 소장 가능합니다 :)


이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
나만의 커스텀 테마를 구현하고 싶은 개발자
지속 가능하고 일관성 있는 앱을 만들고 싶은 분
Flutter 취업을 희망하시는 분
나만의 앱 서비스를 제대로 만들고 싶은 분
단순 구현을 넘어 지속 가능한 서비스를 만들고 싶으신 분
📚
선수 지식,
필요할까요?
Flutter 앱 개발 기초 강의

안녕하세요
DevStory 입니다.
DevStory의 썸네일
커리큘럼 총 125 개 ˙ 14시간 23분의 수업
이 강의는 영상, 수업 노트가 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. 강의 소개
섹션 1. 실전에 필요한 Dart 지식
intro 미리보기 03:06 객체 생성 & 비교 미리보기 10:32
값 비교 - 실습 준비 07:22
값 비교 - 직접 구현 08:57
값 비교 - Equatable 03:56
객체 복사 16:35
불변 객체 - 사용 이유 & 특징 04:26
불변 객체 - 배열 04:35
불변 객체 - 커스텀 클래스 05:40
직렬화 & 역직렬화 - 이론 05:06
직렬화 & 역직렬화 - 실습 11:12
코드 생성기 - 이론 05:17
코드 생성기 - 실습 07:28
final & const 04:13
getter & setter 10:19
extends & mixin 04:50
extension 04:06
섹션 2. 상태 관리
intro 00:18
선언형 & 명령형 01:37
상태 관리 이해하기 미리보기 02:59
프로젝트 준비 06:16
StatefulWidget 이론 03:27
StatefulWidget UI 구현 07:20
StatefulWidget 상태 관리 구현 10:48
StatefulWidget 특징 01:00
InheritedWidget 이론 08:04
InheritedWidget UI 구현 02:06
InheritedWidget 실습 - InheritedCart 04:20
InheritedWidget 실습 - Store & Cart 12:18
InheritedWidget 실습 - Badge 04:18
InheritedWidget 실습 - updateShouldNotify 06:42
InheritedWidget 특징 00:53
Provider 이론1 11:15
Provider 이론2 09:10
Provider 실습 21:08
Provider 특징 02:54
Riverpod 이론1 13:54
Riverpod 이론2 09:42
Riverpod 실습1 05:56
Riverpod 실습2 12:02
Riverpod 특징 01:18
BLoC 패턴 03:25
Cubit 이론 10:29
Cubit 실습 16:53
Cubit 특징 00:48
Bloc 이론 06:14
Bloc 실습1 08:45
Bloc 실습2 13:01
Bloc 특징 01:32
섹션 3. 디자인 시스템 & 반응형 UI
intro 00:34
디자인 시스템 소개 02:37
디자인 시스템 구성 10:19
프로젝트 준비 02:58
커스텀 테마 미리보기 03:22
커스텀 테마 - resource 11:22
커스텀 테마 - foundation 08:02
커스텀 테마 - ThemeService 05:19
커스텀 테마 - 사용법 & Material 커스텀 07:44
다국어 설정 08:53
다국어 적용 07:49
AssetIcon 06:00
Button1 18:08
Button2 18:19
BottomSheet 10:20
Tile 13:28
InputField 15:06
상품 API & NetworkHelper 03:18
API 호출 03:50
JSON 역직렬화 11:46
Rating & ProductCard 12:38
ProductCardGrid & ProductEmpty 06:08
검색 & Hidekeyboard 06:32
RoutePath 04:44
AppBar 01:42
ProductView 상태관리 02:19
ProductColorPreview 07:58
ColorPicker 13:15
이미지 개선 06:52
ProductDesc 04:50
ProductBottomSheet & CounterButton1 08:01
ProductBottomSheet & CounterButton2 07:58
CartService 08:51
CounterBadge & CounterButton 09:00
상품 추가 03:25
CartItemTile & CartEmpty 14:55
CartBottomSheet 10:18
상품 삭제 11:37
상품 결제 03:22
Overlay & Toast 11:50
Toast Animation 08:14
navigatorKey 04:52
BuildContext 미리보기 06:21 반응형 UI 개발 환경 구축 미리보기 04:20
layout 02:21
ConstrainedScreen 07:11
ShoppingView 반응형 03:16
ProductView 반응형 14:15
CartView 반응형 08:06
디자인 시스템 패키지 01:29
섹션 4. MVVM & Test
intro 00:40
Software Architecture 04:02
MVVM 이론 06:41
MVVM 실습 준비 01:12
코드 분석 02:15
BaseView & BaseViewModel 05:23
ShoppingViewModel 05:48
ProductRepository 04:20
CircularIndicator 13:03
ProductViewModel 05:42
CartViewModel 14:04
MVVM 정리 02:20
테스트 개요 미리보기 02:47
단위 테스트 이론 05:06
테스트 데이터 준비 02:04
CartService 테스트 11:08
ProductRepository 의존성 주입 07:05
네트워크 모듈 모의 객체 생성 05:45
ProductRepository 테스트 07:27
ShoppingViewModel 테스트 12:22
위젯 테스트 이론 04:28
CartButton 테스트 04:01
통합 테스트 06:11
테스트 커버리지 02:43
강의 게시일 : 2023년 06월 30일 (마지막 업데이트일 : 2023년 06월 30일)
수강평 총 14개
수강생분들이 직접 작성하신 수강평입니다.
5
14개의 수강평
5점
4점
3점
2점
1점
VIEW 추천 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
모아 thumbnail
5
최고의 플러터 강의! 추천합니다. 플러터를 현업에서 쓰시는 분들, 그리고 플러터 개발자는 아니지만 빠르게 필요한 기능만 배워서 제대로 된 앱을 출시하고 싶다 하시는 분들께 추천드리고 싶습니다. 플러터의 특성을 핵심만 간추려서 설명해주셔서 사이드프로젝트로 플러터를 선택하실 분들에게도 많은 도움이 될 것 같습니다.👍 저는 사수없는 스타트업에서 플러터 앱 개발중입니다. 지난번 데브스토리님 강의를 통해 강사님이 코딩하는 방법, 공부하는 방법을 많이 배워서 덕분에 앱 개발자로 입사도 하고 이직도 하며 잘 성장중입니다. 그동안 유지보수만 담당하던 제가 이제 신규프로젝트를 맡게 되었네요ㅎㅎ 이번 강의에는 실무에서 그리고 실제 플러터 앱으로 개발했던 앱을 유지보수하는 데 큰 도움이 되었던 것 같습니다. 특히 상태 관리, 테마, 언어팩, 기타 등등.. 당장 실무에서 혹은 내 프로젝트에 당장 필요한 내용들이 있어서 저는 회사 앱 관리하는데 많이 도움이 되었던 것 같습니다. 플러터로 스타트업에 입사해보신 분들은 다들 경험해보셨을거에요..스타트업 특성상 이전 개발자분들 혹은 외주 개발자분들이 우당탕탕 급하게 작성한 코드를 열심히 힌트를 찾아가며 유지보수해나가야 하는 그 막막함.. 정말 운이 안좋으면 여러 명의 개발자분들이 각각의 상태관리를 사용하셔서 한 앱에 3개 이상의 상태관리가 존재하는 앱을 만나실 수 있습니다ㅠ 만약 그 때 이 강의를 만났으면 유지보수가 그리 어렵지 않을 것 같습니다. 저는 정말 앱 다시 만들고싶다 생각만하다가 회사 사정으로 빠르게 퇴사했는데 지금 그 회사 다니고 계실 개발자님에게 이 강의를 정말 추천드리고 싶네요 다른 플러터 강의들도 너무 좋은 강의들이 많지만 아무래도 아쉬웠던 부분이 코드나 학습 자료였는데 데브스토리님 강의에서는 노션으로 UI 코드는 미리 준비해주셔서 강의를 멈추지 않고도 필요한 로직만 얻을 수 있어서 학습이 효율적입니다. 개인적으로 이런 부분에서 수강생들을 많이 배려하셨다는 게 느껴져서 좋은 것 같아요 그리고 그냥 내용만 알려주는 게 아니라 어떻게 이 정보를 찾을 수 있는지 어디서 찾을 수 있는 지 알려주시는 것도 너무 좋은 것 같습니다. 회사에 이런 사수분 계시면 이렇게 혼자 삽질하진 않아도 될 것 같습니다. 사수가 없다보니 회사에서 우당탕탕 개발하며 막막할 때마다 종종 인프런에 강의들으러 오며 데브스토리님은 안올리셨나.. 확인하고 시무룩해하고를 반복하던 중에 드디어 강의가 나와서 너무 좋아서 말이 길어지네요ㅠ 혹시라도 과거의 저처럼 수강할까말까 고민하시는 플러터 신입 개발자분들.. 고민하지 마시고 바로 수강하시기를 추천드립니다. 내가 기초가 부족하다하시는 분들은 이전 강의 들어주시면 정말 도움될거에요 수강과 함께 여러분은 이제 최고의 플러터 강사님을 사수분으로 두시게 되는겁니당 개인 프로젝트를 디벨롭하기 위해 오늘도 강의보고 있는데 회사 앱에도 도움이 되지만 내 개인 앱에도 적용해보고 싶은 기능들이 많아 이번 강의가 더 좋은 것 같습니다. 다음 중급, 고급 강의도 기다리고 있을게요 강사님!
2023-08-13
JJANGSOON thumbnail
5
단순하게 하나하나 구현하는 건 유투브에도 자료가 넘쳐나지만, 이 강의는 정말 실무에 필요한 많은 내용이 논리적인 순서대로 담겨있습니다. 특히 전체적인 아키텍처를 세우고 고민할 수 있다는 점, 그리고 MVVM패턴을 적용해서 각각 코드를 분리해서 유지보수에 유리하게 개발할 수 있다는 점, 다국어나 테마 , 디자인 시스템 같은 점은 어디에서도 제대로 배우기 힘든 내용 같습니다. 그리고 과정에서 유용한 팁도 계속 나오고요. 다른 분들께도 강추 드려요. 사실 저는 처음에 일정에 쫓겨서 필요한 내용만 골라 들으려고 했거든요(사실 그런건 유투브에 다 있죠..) 그러면 이 강의의 진가를 모를 수 있어요. 이 수업은 순서대로 논리적으로 이해하면서 전체를 차근차근 습득하는 게 중요한 거 같습니다. 그러면 뭔가 갑자기 숲이 보이면서 정말 개발자로서 레벨이 하나 올라갈 수 있을거 같아요.
2023-09-23
Link thumbnail
5
최고의 강의 중 하나입니다. 강추합니다. 강의평이 좋아서 신청해서 들었습니다. 플러터를 배우고 싶은 마음은 Flutter 2.X 버전때부터 였지만, 플러터로 시큐어코딩까지 해결할 자신이 없어서 미온적이었습니다. 회사 보안검증 통과를 위해 필히 구현해야 하는 시큐어코딩 일부 기능 구현 성공하고 나서 작년말부터 플러터를 제대로 배워야겠다 싶어 인프런 플러터 강좌를 다수 듣고 있습니다. 초보강좌, 중급강좌를 들으면서 강좌마다 배우는 사항이 많습니다. 플러터를 배우면서 접하는 상태관리 부분에서 애로사항을 많이 겪고 있습니다. 인터넷에서 검색하면 riverpod 상태관리가 좋다는 내용이 많아 배워보고 싶어 강의를 검색하면 대부분 Provider 로 되어 있습니다. 본 강의는 강의평도 좋고 여러 상태관리 섹션이 있어서 망설임없이 신청해서 들었는데 너무 좋습니다. 동영상 강의는 Provider 상태관리 중심으로 되어 있지만, Riverpod 상태관리 버전도 노션에 올려주셔서 정말 많이 배우고 있습니다. 막힐 때마다 강사님이 친절 신속한 답변 덕분에 조금씩 성장하는 거 같은 뿌듯함이 느껴집니다. 저는 서비스기획 업무를 하다가 뒤늦은 50살에 코딩을 배우기 시작했습니다. 그러다보니 사수없이 혼자서 해결해 가야하는 막막함, 벽에 부딪치면 오랜기간 멈추고 해결되면 진도나가는 숱한 어려움. 새로운 언어를 배울때마다 두려움이 앞서지만 트렌트를 따라가고자 플러터도 배우는 중입니다. 유투브로는 궁금증이 생겨도 해결이 안되는데 데브스토리(DevStory)님의 신속한 답변에 손쉽게 해결되니 바로 옆에 든든한 사수를 둔 기분입니다. UI 와 기능 분리 코딩은 Clean Architecture 가 있지만, MVVM 으로도 충분히 해결될 수 있는 거 같습니다. 본 강의와 코드팩토리님의 중급 강의를 같이 수강하면 훨씬 더 많은 걸 얻을 수 있다고 장담합니다.
2024-01-17
제이디티 thumbnail
5
플러터를 배우고자 여러 강의를 들어봤습니다. 대부분의 강의가 플러터로 몇몇 어플을 만들수는 있으나, 뭔가 부족함을 느끼던 중... 문득 '데브스토리'님의 기초강의를 보고, 플러터에 대한 감을 잡게 되어, 실전강의도 들어봤더니... 역시입니다.~~~ ^^ 논리적이고 깔끔한 설명! 플러터에 대한 방대하고 섬세한 준비 자료! (준비하신 자료로 책도 좀 내주세요...^^ ) 디자인시스템과 MVVM 리팩토링은 특히 좋았습니다...^^ 플러터를 제대로 배우려는 분들에게 적극 추천드립니다. 멋진 강의! 감사합니다. 데브스토리님...^^
2023-07-05
김병욱 thumbnail
5
강의가 진짜... 플루터 강의 중에서 최고에요. 일주일 동안 이 강의 반복해서 회독하고 바로 프로젝트 시작했습니다. 왠만큼 만들고 싶은 기능들은 여기 강의에 다 녹아져있어서 무리없이 개발하고 있어요 ㅎㅎ 정말 플루터 강의 이거 하나로 끝!!
2023-07-05