Skip to content

Lovingcats/Flutter_study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
 
 
 
 
 
 

Repository files navigation

Logo
Flutter Study

목표계획프로젝트참고 자료

🚀 목표

퇴근하고 Flutter애 대한 블로그 쓰면서 다시 정리해보자 💡

📅 계획

Week 1-2(1~35): Dart 언어 및 기본 개념 학습(지속해서 업데이트 예정)

  • Dart 언어 기초

    • 동적 및 정적 타이핑의 차이 이해
    • 변수, 상수, 자료형 등의 기본 문법 학습
    • 예제: 간단한 계산기 함수 작성
  • Dart의 고급 기능

    • 함수형 프로그래밍 개념 (익명 함수, 클로저 등) 학습
    • 라이브러리 및 패키지 사용 방법 익히기

Week 3-4: Flutter 환경 설정 및 첫 번째 앱 개발

  • Flutter 개발 환경 설정

    • Flutter SDK 설치, 에디터(예: VS Code) 설정
    • 기본 명령어 (flutter doctor 등) 학습
    • 예제: "Hello World" 앱 개발과 실행
  • Flutter Widget의 기초

    • StatelessWidget 및 StatefulWidget의 차이 이해
    • 기본 위젯 (Text, Image, Container) 사용법 학습
    • 실습: Flutter DevTools를 사용하여 위젯 트리 디버깅

Week 5-6: Flutter 위젯과 레이아웃

  • 다양한 Flutter 위젯 활용

    • ListView, GridView 등의 스크롤 가능한 위젯 사용법
    • 예제: 이미지 갤러리 앱의 기본 구현
    • 실습: 다양한 위젯을 조합하여 사용자 인터페이스 디자인
  • Flutter 레이아웃 디자인

    • Row, Column, Stack 등의 레이아웃 위젯 학습
    • Flex와 Expanded를 활용한 유동적인 레이아웃 구성
    • 실습: Flutter Inspector를 사용하여 레이아웃 디버깅

Week 7-8: 상태 관리와 네비게이션

  • 기본적인 상태 관리

    • StatefulWidget 내부에서의 상태 관리 (setState 활용)
    • 예제: 단순한 To-Do 앱의 상태 관리 구현
    • 실습: Provider 패턴을 사용한 간단한 앱 상태 관리
  • Flutter 네비게이션

    • MaterialPageRoute과 Navigator 사용법 학습
    • 데이터 전달을 위한 네비게이션 학습
    • 실습: 네비게이션을 활용한 다중 화면 앱 구현

Week 9-10: 애니메이션과 사용자 입력 처리

  • Flutter 애니메이션 기초

    • 애니메이션 컨트롤러 및 Tween 사용법 익히기
    • 예제: 로그인 화면에 애니메이션 효과 추가
    • 실습: 커스텀 애니메이션 구현
  • 사용자 입력 처리

    • GestureDetector 및 InkWell 등의 제스처 인식 위젯 사용법 학습
    • 실습: 제스처를 활용한 사용자 입력 처리 구현

Week 11-12: 플러그인과 플랫폼 특화 기능

  • Flutter 플러그인 사용

    • 플러그인을 사용하여 카메라 기능 추가
    • 예제: 카메라 플러그인을 활용한 간단한 앱 구현
    • 실습: 플러그인을 커스터마이징하여 기능 추가
  • 플랫폼 특화 기능 구현

    • iOS 및 Android에서 각각 다른 기능 추가 방법 학습
    • 실습: 플랫폼별로 다른 기능을 갖춘 앱 개발

Week 13-16: 비동기 프로그래밍과 데이터 관리

  • 비동기 프로그래밍 기초

    • Future와 async/await를 사용한 비동기 프로그래밍 학습
    • 예제: 날씨 정보를 비동기로 가져오는 앱 개발
    • 실습: 비동기 코드를 효율적으로 작성하는 방법 익히기
  • Stream과 비동기 이벤트

    • Stream을 활용한 이벤트 기반 프로그래밍 학습
    • 실습: 실시간 업데이트가 필요한 앱 개발
  • 데이터 관리와 데이터베이스

    • REST API 호출을 통한 데이터 관리 방법 학습
    • Firebase를 사용한 데이터베이스 통합 실습
    • 실제 데이터를 사용한 앱 개발

Week 17-20: 상태 관리 패턴과 고급 주제

  • Bloc 패턴 사용

    • Bloc 패턴의 기본 원리와 사용 방법 학습
    • 예제: Bloc 패턴을 사용하여 복잡한 앱 로직 구현
    • 실습: Bloc 패턴을 적용한 앱 개발
  • 디자인 패턴과 아키텍처

    • MVP, MVVM 등의 디자인 패턴 이해
    • Clean Architecture와 같은 효율적인 아키텍처 학습
    • 실습: 선택한 아키텍처를 적용한 프로젝트 구현

Week 21-24: 테스트, 디버깅, 및 최적화

  • 단위 테스트 작성

    • Unit 테스트 및 Widget 테스트 작성 방법 익히기
    • 실습: 기존 앱에 단위 테스트 적용
  • 디버깅과 성능 최적화

    • 디버깅 전략 및 디버깅 도구 사용법 학습
    • 앱 성능 최적화 전략 학습
    • 실습: 프로파일링을 통한 성능 분석과 최적화

Week 25-28: 상태 관리 패턴의 적용

  • 프로젝트에 상태 관리 패턴 적용

    • 선택한 상태 관리 패턴을 프로젝트에 적용
    • 실습: Bloc, Provider, Riverpod, Getx 모두 학습 및 구현
  • 복잡한 앱 로직 및 UI 구현

    • 코드 리뷰 및 최적화 작업

Week 28-31: 웹, 데스크톱 애플리케이션 개발

  • 플러터 웹 또는 데스크톱 애플리케이션
    • 플러터를 사용한 웹 또는 데스크톱 앱 개발 방법 학습
    • 선택적으로 플러터 패키지 및 라이브러리 사용

Week 31-35: UI/UX 디자인과 개선

  • 디자인 원칙과 기초

    • 디자인 원칙 및 컬러, 타이포그래피 등 기초 학습
    • 예제: 앱 디자인에 기초를 적용한 프로토타입 제작
  • 사용자 경험 개선

    • 사용자 피드백을 수집하고 사용자 경험을 개선하는 방법 학습
    • 디자인 패턴을 활용한 UI 개선

📚 참고 자료

Happy coding! 🚀

About

기초부터 다시 쌓아올리는 플러터

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages