개발 · 프로그래밍

/

모바일 앱 개발

Flutter 중급 3편 - 의존성 주입 가이드

Flutter에서 제대로 된 의존성 주입 가이드 강의입니다. injectable 패키지를 활용하는 DI 활용법을 제시합니다

(5.0) 수강평 7개

수강생 153명

Thumbnail

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

이런 걸
배워요!

  • 의존성 주입의 개념과 활용 방법

  • get_it, injectable 라이브러리를 활용한 의존성 주입 방법

복잡한 의존성 문제, 쉽게 해결하는 방법 
Flutter 의존성 주입 가이드 

점점 복잡해지는 의존성 문제 🚨

  • 앱의 규모가 커지면서 만나게 되는 첫 번째 문제는 쉽게 스파게티 코드가 되어버린다는 것입니다.
  • 스파게티 코드가 되지 않도록 의존성에 신경쓰며 개발을 하다 보면 설계 패턴을 적용하게 되지요.
  • 클린 아키텍처를 적용하여 개발을 하더라도 결국 의존성을 주입하는 부분의 코드가 꽤 복잡해집니다.
  • 이 강의에서는 플러터 프로젝트에서의 올바른 의존성 주입 가이드를 제시해드립니다.

DI 라이브러리 📖

플러터에는 DI(의존성 주입)를 도와주는 많은 라이브러리가 있습니다.
이 강의에서는 특정 상태관리 도구에 의존하지 않는 Injectable 라이브러리를 사용합니다. 

강의에서 쓰는 Injectable 라이브러리

이 강의를 들어야 하는 분 🙆‍♀️

지금까지의 DI 설정이 다음 코드와 비슷하거나 이보다 못하다면 이 강의를 수강하시기 바랍니다.

그래서, 강의를 듣고 나면!

  • ✅ 이 강의를 수강하고 나면 위와 같이 사람이 직접 DI를 하는 코드는 제거되게 됩니다.
  • ✅ 적절한 시점에 원하는 형태로 인스턴스를 전달할 수 있게 됩니다.

DI가 왜 필요한지에 대한 
관점을 제시해드립니다.

이전 강의들에서 다루었던 예제를 리팩토링하거나 다른 시각에서 재작성하면서 DI 의 필요성을 느껴갈 수 있도록 구성하였습니다.

리팩토링편 📚

💡 'Flutter 중급 1편 - 클린 아키텍처'에서 작성했던 노트 앱의 문제점을 진단하고 리팩토링합니다.

소규모 앱 개발을 할 때는 아무 생각 없이 모든 객체를 싱글턴으로 사용하기도 합니다. 하지만 중간 규모 이상의 앱에서는 바람직한 방법이 아닙니다. 기존 앱을 리팩토링하면서 해당 문제에 대해 학습합니다.

  • 'Flutter 중급 1편 - 클린 아키텍처' 소스를 다운받아 출발하는 리팩토링 코스입니다.
  • 문제점을 해결하면서 더 나은 코드로 수정해 나갑니다.

재작성편 📚

💡 'Flutter 응용 - 마스크 정보 앱'에서 MVVM 으로 작성했던 마스크 정보 앱클린 아키텍처 및 DI를 적용하여 다시 만들어 봅니다.

앱을 만들 때 세부 기능을 구현하느라 개발 기간이 딜레이된 경험이 있나요? 클린 아키텍처와 DI를 고려한 방식으로 '마스크 재고' 앱을 다시 작성해 보면서 새로운 개발 방식을 경험합니다.

DI를 활용하여 데이터를 Mocking하여 빠르게 앱을 만들고 나중에 실제 데이터로 쉽게 교체할 수 있습니다.

  • 처음에는 가짜 객체를 토대로 Test하면서 앱을 개발해 나갑니다.
  • 앱 완성 후 DI 라이브러리를 사용해서 진짜 데이터로 교체합니다.

[오준석의 플러터 앱 개발 시리즈] 강의 선택 가이드 👀

본인이 공부해야 할 강의가 맞는지 확인해 보세요.
(클릭하면 이미지를 새창으로 볼 수 있습니다.)


수강 전 참고 사항 📢

본 강의는 다음과 같은 환경에서 진행합니다.

실습 환경

  • 운영 체제 및 버전(OS): macOS 환경에서 안드로이드를 타겟
  • 사용 도구: Android Studio Flamingo 이상, Flutter 3, Dart 3 이상

학습 자료

  • 리팩토링편을 위해 시작 코드의 다운로드를 제공합니다.
  • 재작성편은 완성된 소스 코드를 제공합니다.

선수 지식 및 유의사항, 연관 강의

  • MVVM, 클린 아키텍처를 선행 학습한 중급자 코스입니다.

이런 분들께
추천드려요!

학습 대상은
누구일까요?

  • Flutter 에서 의존성 주입 방법 가이드를 알고 싶으신 분

  • 의존성 주입시 장점을 알고 싶으신 분

선수 지식,
필요할까요?

  • Flutter 중급 - 클린 아키텍처 강의 학습자

  • MVVM, 클린 아키텍처 경험자

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

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

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

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

커리큘럼

전체

29개 ∙ (3시간 22분)

수업 자료

가 제공되는 강의입니다.

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

수강평

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