일반적인 수준의 사람들


다트 외에 다른 객체 지향 언어를 다루어서, 어느 정도 언어에 대한 지식이 있는 사람들. 즉, 변수, 연산자, 함수 등 언어의 기본적인 개념에 대한 지식이 있는 사람들을 뜻합니다.

자신이 재귀함수를 사용해서 피보나치 수열을 구할 수 있다. 하시는 분은 아래 커리큘럼을 따라주시면 감사하겠습니다.

먼저 1주차, 2주차에 다트 언어에 대해서 다루고, 3주차부터 6주차까지 플러터와 플러터 자체적으로 지원해주는 상태 관리 방법에 대해서 다룹니다. 또, 7주차는 외부 라이브러리를 사용하는 방법에 대해서 다룹니다.

다트 언어를 사용할 때에는 https://dartpad.dev/ 를 사용하고, 플러터를 본격적으로 들어갈 때 부터는 자신의 컴퓨터에 플러터 개발 환경을 구축해야 합니다.

1주차

  1. 데이터 타입
  2. 변수와 연산자
  3. 반복문 및 조건문
  4. 배열(리스트)와 맵
  5. 함수와 클래스, 클래스의 상속

2주차

  1. 인터페이스 (abstract class)
  2. 확장 (Extension)
  3. 제너릭
  4. 콜백 및 고차함수

3주차

  1. 플러터 개발환경 구축
  2. 시작 프로젝트 뜯어보기
  3. 위젯이란?

4주차

  1. 자주 쓰는 위젯 알아보기
  2. 자주 쓰지는 않지만 알아야 하는 위젯 알아보기

→ 참고: https://www.youtube.com/playlist?list=PLjxrf2q8roU23XGwz3Km7sQZFTdB996iG

5주차

  1. 페이지 간 이동 방법, 다른 페이지 만드는 방법 알아보기 (Navigator)
  2. 페이지 간에 데이터 넘겨주는 방법 알아보기
  3. 외부의 리소스 가져오는 방법 알아보기 (보통 이미지나 글꼴, pubspec.yamlassets에 등록.)
  4. 간단한 영화(나 그 외 어떤 것이든) 정보 조회 앱 만들어보기.

6주차

  1. 플러터의 상태란? (StatelessWidget vs StatefulWidget)
  2. 플러터에서는 어떻게 상태 관리를 하는가 (setState())
  3. 간단한 카운터 앱 만들기

7주차

  1. 외부 라이브러리를 현재 프로젝트에 등록하는 방법 알아보기
  2. 외부 라이브러리의 공식 문서를 읽고, 라이브러리 사용하는 방법 알아보기
  3. 비동기가 무엇인지 알아보기 (Future)
  4. shared_preference
  5. http
  6. 플러터에서 어떻게 비동기를 처리할지 알아보기.

8주차

  1. 배운걸 종합해서 프로젝트 하나 하기!

심화일거에요?


사실 심화 하시는 분이 생길거라고 생각은 못 하고 있었어서, 잠시 기억에서 사라져 있었는데 벌써 저 8주차 분량을 끝내셨다니 멋집니다. 👍

위의 내용은 모두 인지하고 계시다 가정하고 커리큘럼을 진행할 예정입니다. 위의 커리큘럼은 어느 정도 플러터 맛보기의 경향이 강했다면, 아래의 내용은 좀 더 플러터라는 프레임워크를 더 깊이 이해하는 것이 주 목적입니다.

따라서 어느 정도 이론을 다룰 예정입니다. 또, 디테일한 배움을 위해 영어 자료가 상당량 들어갈 예정입니다.

사실 아래 내용은 상당히 난이도가 있는 주제들로 선정하였고, 이걸 한 번에 이해하신다면 정말.. 천상 개발자이신 겁니다. 이걸 모두 이해하고 개발하실 수 있다면 플러터로 취업도 가능하지 않을까요.

아무튼, 상태 관리를 끝장내겠다는 마음으로 주제를 선정하고 자료를 모았으니, 아직은 이해가 조금 어렵다라도 정상입니다. 이해는 무슨 맛만 보셔도 정말 대단하신거라 생각해요. (사실 이 쯤되면 주차는 크게 상관이 없을지도 모르겠습니다.)

이번에도 화이팅!

1주차

  1. BuildContext

    아마 플러터로 개발을 하시다보면 새로운 위젯을 만들때마다 BuildContext라는 클래스를 정말 많이 봤을텐데요. 어떤 함수/메서드/위젯에서는 이 클래스의 객체가 필요하다고는 하니 넣어주긴 했는데, 그래서 이게 대체 무슨 역할을 하는지는 모르실 거라 생각해요. 그래서 대체 뭐하는 건지, 어디에 쓸 건지는 살펴보고 넘어가는 게 좋을 거라 생각해서 넣어보았습니다.

    BuildContext?! | Decoding Flutter

    자막 퀄리티가 그렇게 좋지는 않을 거 같아서, 영어 자막으로 보시는 걸 추천드립니다.

    Synchronous BuildContexts | Decoding Flutter

    비동기 함수/메서드 내에서 BuildContext를 사용하는 것이 위험하며, 그렇다면 어떻게 해야할지를 제시합니다.

  2. Key

  3. 세 개의 트리

2주차

여기서부터는 상태 관리 라이브러리에 대해서 주로 다룰겁니다. 사실 플러터 외에도 유저에게 닿는 앱/웹을 만들 때는 상태 관리가 거의 제일 높은 난이도를 갖고 있기 때문에, 이에 관련된 라이브러리/패키지/패턴도 많이 나옵니다.

그 중 대표적인 몇 가지를 살펴볼 건데요. 먼저 첫번째로 가장 대표적이라고 할 수 있는 BLoC 패턴입니다.