본격적으로 Flutter를 이용한 앱 개발을 시작하기 전에 갖춰야 할 개발 환경과 알아두면 좋은 것들에 대하여 정리 해 보았다.


# IDE 설정

Flutter 개발은 Flutter SDK만 컴퓨터에 설치 되어 있으면 어떤 IDE를 사용해도 개발 자체는 가능하지만, 개발을 편하게 하기 위해선 Android Studio를 추천한다. 그 다음으로 추천하는 건 Visual Studio Code.

Android Studio를 추천하는 이유는 웹에서 개발할 때와 같은 크롬의 Inspection Tool을 디버깅 용으로 사용할 수 있고, 코드 자동완성 기능은 물론 Refractor, Wrap with Widget 같은 편의 기능이 개발 할 때 유용하게 사용 할 수 있기 때문이다.

Hot Reload, Emulator 선택 같은 건 Visual Studio Code에서도 가능하다.

개발에 필요한 편의 기능을 사용하기 위해선 플러그인을 설치해야 한다.

Android Studio 플러그인 설치

Tools -> SDK Manager를 클릭.
Plugins에서 Marketplace를 선택 후, Flutter와 Dart를 검색해서 각각 설치해주면 된다.

Visual Studio Code 플러그인 설치

Extensions에서 Flutter와 Dart를 각각 검색해서 설치해주면 된다.


# Dartpad

Flutter는 Dart라는 언어로 개발한다. 다른 프로그래밍 언어들이랑 크게 다른 건 없다. 어느 언어든 사용해 본 경험이 있다면 어렵지 않게 사용할 수 있다.

간단하게 테스트 하고 싶을 땐 https://dartpad.dev/ 에 가면 직접 코드를 적고 결과물을 확인 할 수 있으니 적극적으로 활용해보자.

기본적인 Dart 언어에 대한 갈무리는 https://dart.dev/samples 에서 확인 할 수 있다.


# 코딩 스타일

혼자서 연습용으로 할거면 그렇게 크게 신경쓰지 않아도 되긴 하지만, 코딩 할 때 읽기 쉽게 하는 습관을 평소부터 들여 놓는 것이 좋긴하다. 물론 어떤 코드가 읽기 쉬운지는 사람마다 각자 기준이 다르겠지만, 한가지 말 할 수 있는건 통일 된 규칙으로 짜여져 있는 코드가 읽기 쉬운 코드라는 건 아무도 부정하지 않을 것이다.

팀 단위로 개발을 할 때는 팀원들과 미리 규칙을 정하고 그에 맞게 코드를 쓰겠지만 어떤 언어든 기본적인 가이드 라인이 존재한다. 언어의 특성상 반드시 지키지 않으면 안되는 것도 있기 때문에 어느정도 숙지를 해 놓는 것이 좋다.

Dart의 경우 코딩 가이드라인은 공식 홈페이지에 기재 되어있다.
https://dart.dev/guides/language/effective-dart/style

일반적으로 다른 언어들이랑 크게 다른 규칙은 없다. 굳이 눈에 띄는 걸 뽑자면 DON'T use prefix letters 정도.

Java 개발에 익숙한 사람들은 constants 이름 앞에 k를 쓰는 것이 습관이 되어 있는 경우가 많을텐데, Dart에서는 공식적으로는 하지 말라고 써있다. 실제 내용을 읽어보면 그렇게 써야 할 이유가 없으니 하지 마라 정도로 순화된 표현으로 적혀있다. 근데 실제 개발 할 때 이름 생각하는 것이 가장 머리를 아프게 하는 것 중 하나이기도 하기 때문에, 그런 문제를 해결할 수 있다면 그냥 원래 하던데로 해도 문제는 없다. 오히려 하던데로 하는 것이 도움이 될 것 같기도 하다.


# Flutter 기본 위젯

왠만한 앱에서 필요한 위젯들은 이미 Flutter팀에서 만들어 놓았다. 이것들만 활용해도 왠만한 앱을 만드는데에 크게 문제가 없다.

일단 위젯 카탈로그를 한번씩 간단하게 훑어보는 것이 좋고, 각 기능에 대해 더 자세한 것들은 공식 API 문서를 통해 알 수 있다. 이 두가지 사이트들에 기재 된 것들과 친해지면 개발에 많이 도움이 된다.

문서를 들여다 보는 것도 좋지만 역시 가장 좋은 건 그냥 일단 해보면서 문서도 참조하는 것이라 생각한다. Flutter 팀이 만들어 놓은 샘플 앱 들이 github에 올라와 있다. 이 곳에 올라와 있는 것들 중에 자기가 만드려는 앱과 유사한 것이 있으면 무작정 따라해보는 것도 좋은 방법이다.

그 외에는 각종 기능들을 어떻게 구현하나 모아 둔 Cookbook이 매우 유용하다.


# 패키지 검색

Flutter 팀이 이미 많은 기본 위젯들을 개발 해 두었고, 기본 위젯들의 활용법들도 공식 사이트에 잘 설명해두었지만, 기본 위젯들이 모든 기능들을 구현 할 수는 없다. 그럴 땐 따로 개발 하기 전에 한번 공식 패키지 모음집 사이트를 검색해보자. Flutter 공식 팀은 물론 많은 능력자들이 이미 내가 생각하는 기능을 이미 구현해서 다른 사람들이 간단하게 도입할 수 있게 패키지를 공유하고 있다.

왠만한 것들은 이미 패키지가 존재하니 적극적으로 활용해서 개발 시간을 줄여보자.


개발을 시작하기 전에 공식 문서들을 정독하기 보다는, 일단 샘플을 활용해서 무작정 에뮬레이터로 실행해보고, 코드를 한가지씩 바꿔가면서 뭐가 어떻게 기능하고 있는지 실제로 테스트 해 보는게 가장 좋은 방법이 아닐까 생각한다. 그 다음 코드 중에 이해가 가지 않는 부분을 한부분씩 사전을 찾아보듯이 공식 문서들을 찾아보고 이해하려고 하다 보면 어느 순간 공식문서들과도 친해져 있을 것이다.