Flutter 커리큘럼

1. 프로젝트 1: SNS 앱 개발

💡

SNS 앱 개발 프로젝트를 통해 실전 경험을 쌓습니다. 네트워크 원리 학습부터 설계, 구현, 코드 리뷰까지 모든 과정을 경험하며, 피드백을 통해 개선점을 발견하고, 효과적인 포트폴리오 작성 방법도 익힙니다.

프로젝트 킥오프 및 기초 학습

🚀

Flutter의 기본 문법과 구조를 익히는 것은 향후 프로젝트 진행의 기초를 다지는 데 매우 중요합니다. 이 단계에서 다루는 Flutter와 Dart 기초는 여러분이 이후에 경험하게 될 복잡한 개념을 이해하는 데 큰 도움을 줄 것입니다.

  • Flutter 기본 문법 및 구조 학습
    Flutter의 기본 문법을 이해하고, 위젯 트리, 상태 관리 등의 핵심 개념을 다룹니다.

  • Dart 언어 기초 문법 학습
    Dart 언어의 기본 문법과 구조를 학습하여 Flutter 개발에 필수적인 기초를 닦습니다.

  • Flutter 프로젝트 설정 및 개발 환경 구축
    개발 환경을 설정하고 프로젝트를 시작하는 방법을 익혀 실제 개발에 필요한 준비를 완료합니다.

  • SNS 앱 기획 및 요구사항 분석
    성공적인 프로젝트를 위한 기획 및 요구사항 분석의 중요성을 학습하고, 사용자 스토리를 작성합니다.

  • 프로젝트를 소규모 기능으로 나누고 일정 산정
    프로젝트를 관리 가능한 작은 기능으로 나누고, 효율적인 일정 계획을 세워 프로젝트 관리 능력을 향상시킵니다.

  • 리서치 및 공유 방법 학습
    기술 리서치 방법과 팀 내에서의 효과적인 공유 방식을 익혀 협업 능력을 강화합니다.

  • 과제: 간단한 Flutter 앱 만들기 (Hello World)
    첫 번째 Flutter 앱을 만들어 보며, 기본 개념을 실습하고 이해합니다.

Firebase 연결 및 상태 관리 학습

🔥

Firebase와의 통합을 통해 실시간 데이터베이스, 인증 및 분석과 같은 기능을 쉽게 구현할 수 있습니다. 다양한 상태 관리 기법을 통해 애플리케이션의 상태를 효과적으로 관리하는 방법을 배우게 됩니다.

  • Flutter의 State Management 학습 (GetX, Provider, BLoC)
    다양한 상태 관리 기법을 비교하고 적절한 방법을 선택하여 애플리케이션의 상태를 효과적으로 관리합니다.

  • 상태 관리 프레임워크 선택 및 비교
    GetX, Provider, BLoC 등의 상태 관리 프레임워크를 비교하여 프로젝트에 가장 적합한 방식을 선택합니다.

  • Firebase 기본 기능 학습 및 프로젝트 적용 방법 학습
    Firebase의 인증, 데이터베이스, 호스팅 등 기본 기능을 학습하고, 프로젝트에 적용하는 방법을 익힙니다.

  • 과제: 간단한 CRUD 기능이 포함된 앱 개발
    CRUD 기능을 구현하여 데이터베이스와의 상호작용을 실습합니다.

UI/UX 개발

🎨

Figma 디자인을 Flutter로 구현하면서 실전에서 자주 활용되는 UI/UX 개발 스킬을 쌓을 수 있습니다. 디자인의 기본 원칙과 Flutter 위젯의 활용을 통해 매력적이고 사용자 친화적인 UI를 만드는 방법을 배워봅니다.

  • Figma UI Design을 Flutter 코드로 구현하는 방법 학습
    Figma로부터 UI 디자인을 가져와 Flutter로 구현하는 과정을 통해 실제 UI 개발 스킬을 향상시킵니다.

  • Flutter의 기본 위젯 및 레이아웃 시스템 학습
    다양한 Flutter 위젯과 레이아웃 시스템을 활용하여 직관적이고 반응성이 뛰어난 UI를 설계합니다.

  • Flutter 애니메이션 및 트랜지션 학습
    애니메이션과 트랜지션을 사용하여 사용자 경험을 개선하는 방법을 익힙니다.

  • 과제: 주어진 Figma 디자인을 Flutter로 구현
    주어진 디자인을 바탕으로 Flutter 애플리케이션을 구현하여 UI/UX 디자인 능력을 검증합니다.

기능 설계 및 개발

🛠️

앱의 주요 기능을 설계하고 개발하면서 설계 패턴과 UML을 통한 명확한 커뮤니케이션의 중요성을 배우게 됩니다. 사용자 인증 기능을 포함한 주요 SNS 기능을 구현하는 경험을 통해 실무 능력을 향상시킬 수 있습니다.

  • UML을 통한 기능 설계 및 공유 방법 학습
    UML 다이어그램을 사용하여 기능을 설계하고 팀원과 효과적으로 공유하는 방법을 배웁니다.

  • Mobile application design pattern 학습
    모바일 애플리케이션에서 자주 사용되는 설계 패턴을 학습하여 유지보수성과 확장성을 높입니다.

  • Flutter 와 Firebase Authentication을 사용한 사용자 인증 구현
    Firebase 인증을 활용하여 안전한 사용자 인증 시스템을 구현합니다.

  • SNS 주요 기능 설계 및 구현 (게시물 작성, 댓글, 좋아요 등)
    실제 SNS 애플리케이션에서 사용되는 주요 기능들을 설계하고 구현합니다.

  • 과제: SNS 주요 기능 구현 및 코드 리뷰
    구현된 기능을 코드 리뷰를 통해 개선하고 품질을 높이는 방법을 배웁니다.

테스트 및 최적화

🔍

테스트는 코드의 품질을 보장하는 필수 단계입니다. 다양한 테스트 기법을 익히고 앱의 성능을 최적화하며, 애플리케이션의 안정성과 효율성을 높이는 방법을 배워보세요.

  • Flutter 앱 테스트 (Unit Test, Widget Test)
    유닛 테스트와 위젯 테스트를 통해 앱의 안정성과 신뢰성을 높이는 방법을 학습합니다.

  • 앱 성능 최적화 및 디버깅 방법 학습
    Flutter의 디버깅 도구를 사용하여 앱의 성능을 분석하고 최적화하는 방법을 익힙니다.

  • Optimistic update 적용 방식 학습
    사용자 경험을 향상시키기 위한 Optimistic UI 업데이트 기법을 학습합니다.

  • 과제: 작성한 코드에 대한 테스트 코드 작성
    작성된 코드에 대한 테스트 코드를 작성하여 품질을 검증하고 안정성을 확보합니다.

배포 및 포트폴리오 작성

📦

배포 과정은 개발 사이클의 마지막 단계로, 실제 사용자에게 앱을 제공하기 위한 중요한 과정입니다. 성공적인 배포와 포트폴리오 작성은 여러분의 프로젝트를 세상에 알릴 기회를 제공할 것입니다.

  • 앱을 App Store, Google Play에 베타 배포하는 과정 경험
    앱을 App Store와 Google Play에 배포하는 과정을 통해 실제 배포 경험을 쌓고, 버전 관리 및 출시 전략을 학습합니다.

  • 프로젝트 완성 및 포트폴리오 최적화
    프로젝트를 최종적으로 다듬고, 핵심 기능과 성과를 강조하여 매력적인 포트폴리오를 작성합니다. 프로젝트의 가치와 차별성을 명확히 하여 자신의 역량을 효과적으로 보여줄 수 있는 자료를 준비합니다.

  • GitHub에 프로젝트 문서화 및 README 업데이트
    프로젝트의 모든 세부 사항과 문서를 GitHub README에 추가합니다. 이 과정은 코드의 명확성을 높이고, 협업 및 공유 시 프로젝트의 의도를 명확히 전달합니다.

Next Pro 커리큘럼에 질문이 있으신가요?

아래 Kakao 오픈 채팅방을 이용해주세요. 여러분들의 질문에 친절히 답변해드립니다.

이메일 문의: next.pro.master@gmail.com