Programming/Knowledge

플러터(Flutter)를 학습하는 방법_1

지표덕후 2022. 8. 2. 08:27

플러터(Flutter)는 앱을 빠르게 구축할 수 있는 유연성과 습득의 용이성 때문에 인기를 끌고 있습니다. 경험이 많은 개발자든 초보자든, 영상물 몇 개와 온오프라인 학습자원, 그리고 어느 정도의 열심만 있다면 이 플러터를 독학할 수 있습니다. 이 포스팅에서는 플러터 학습방법에 대해 주로 다루지만 그 전에 알아두면 좋을 플러터에 대한 지식도 정리해봤습니다.

 

플러터가 뭔데요?

구글이 개발한 플러터는 주로 모바일 애플리케이션 개발에 사용되는 오픈소스 프레임워크입니다. 그뿐 아니라 하나의 코드베이스를 사용하여 동일한 애플리케이션에 대한 웹 및 데스크톱 버전을 개발할 수도 있습니다. 플러터는 아름답게 디자인된 많은 위젯, 풍부한 motion API, 그리고 여러 플랫폼에서 동작하는 스크롤, 네비게이션, 글꼴 및 아이콘으로 이루어져 있습니다. 플루터는 안드로이드와 iOS폰 모두에서 원활한 성능을 보장합니다. 플러터 애플리케이션은 네이티브로 컴파일되므로 성능이 우수하고 속도가 빠릅니다.

 

 

왜 배워야 하는데요?

사용자가 완전히 커스터마이징 가능한 프레임워크인 플러터는 배우기도 쉽고 개발도 빠르게 가능합니다. 이러한 이유들로도 충분하지 않다면, 여러분이 플러터를 배워야 하는 몇 가지 더 많은 이유를 더 제시해보겠습니다.

  • 교차 플랫폼도 문제 없음: 플러터는 미리 컴파일되어 코딩 한 번으로 이종 플랫폼에서 작동하는 애플리케이션을 개발할 수 있기 때문에 네이티브 코드 경험을 제공합니다.
  • 리빌드 불필요: "Hot reload"을 통해 개발자는 변경된 코드를 저장하자마자 변경사항을 확인할 수 있습니다.
  • 훌륭한 커뮤니티 및 지원: 플루터 팀은 상당히 유용하고, 커뮤니티는 새로운 학습자들에게 충분한 지원을 제공합니다.
  • 2 Dimensions Flare를 사용하여 끝없는 애니메이션을 만들 수 있습니다.
  • VS Code, Android Studio 등과 같이 다양한 IDE를 지원합니다.
  • Dart라는 단일 언어를 사용하여 프론트엔드와 백엔드를 구축할 수 있습니다. 

 

어떤 기능(Feature)이 있는데요?

플러터를 학습하기 전에 플러터의 몇 가지 고유한 기능을 알아두시면 좋습니다.

  • 위젯을 사용자가 커스터마이징할 수 있습니다. Material design과 Cupertino pack (Android XML이 아니라)의 모든 위젯 세트를 사용할 수 있어 간편하게 UI 개발을 할 수 있습니다.
  • Hot reload는 개발자가 변경사항을 즉시 확인할 수 있도록 도와줍니다. 이를 통해 개발 시간은 물론 버그 수정 시간도 단축할 수 있습니다.
  • 한 번 작성한 코드를 변경 없이도 모든 플랫폼에서 실행할 수 있습니다. 
  • 플러터는 사전(ahead of time) 컴파일 및 적시(just in time) 컴파일을 모두 사용하는 프로그래밍 언어 Dart 를 사용하여 높은 성능과 빠른 구동을 자랑합니다.
  • 네이티브 ARM machine code는 안드로이드와 iOS 모두에서 네이티브에 가까운 성능을 가능케 합니다.

 

플러터를 배우기 전에 알아야 할 것들

플러터를 배우기 위해서는 다음과 같은 내용을 숙지해야 합니다. 아래 내용에 대해 전혀 모르는 경우 먼저 해당 개념을 파악한 후 플러터 학습을 이어가는 것이 좋습니다.

  • Android에 대한 기본 개발 지식: 매우 정교하고 상세한 애플리케이션을 개발하려는 경우 
  • 객체지향언어(OOPS; Object-Oriented Programming) 개념: 자바, C++와 같은 언어들은 OOPS 개념을 기반으로 하기 때문에, 그것들을 철저히 다루는 것이 중요합니다. 여기 객체지향언어를 쉽게 설명하는 영상이 있으니 한 번 참고해보세요.
  • 플러터를 배우기 전에 Dart 프로그래밍을 알아야 합니다. 걱정 마세요, 다트도 쉽습니다. 다트는 구글의 범용 프로그래밍 언어입니다. Hackr.io은 여러분이 다트를 빠르고 쉽게 다룰 수 있도록 도와줄 수 있는 몇 가지 좋은 코스들을 알려주고 있습니다.
  • C++/Java를 알면 좋긴 하지만 필수사항은 아닙니다.

 

플러터, 어떻게 배우는데요?

지금은 프로그래밍 언어 배우기 좋은 세상입니다. 정보가 너무 많아 오히려 문제이지요.. 이 때문에 굳이 이런 포스팅을 마련해 플러터를 올바른 방법으로 학습할 수 있는 리소스들을 소개합니다. 플러터 공식 웹사이트에 있는 documentation들을 참고해도 되지만, 아래와 같은 자료들이 제공하는 깊이와 다양성이 있습니다.

1. 온라인 비디오 및 설명서

공식 홈페이지에는 샘플 영상과 설명서가 많이 올라와 있습니다.

SDK에서 위젯을 다루는 “Widget of the Week(금주의 위젯)”도 YouTube에서 확인해야 합니다. 플러터의 위젯을 잽싸게 실습해보고 싶다 하시면 아래 꼭지를 참고하세요.

2. 온라인 튜토리얼

Hackr의 Flutter 튜토리얼 링크에는 최고의 무료 및 유료 강좌 목록이 있습니다. Flutter & Dart는 Dart와 Flutter를 동시에 배울 수 있는 좋은 코스입니다. 마찬가지로 “getting started with Flutter”도 초급자들이 시작하기에 좋은 코스입니다.

3. 책

책은 보조적인 자료로서뿐만 아니라 어떤 주제에 대해 깊이 있는 배울 수 있는 방법입니다. 플러터를 학습에 유용한 좋은 책들 몇 개를 소개합니다.

초심자라면 이 두 권의 책만으로도 충분할 겁니다.

4. GitHub의 코드 예시들

깃허브 플러터 커뮤니티에서 만든 샘플, 데모 및 예제를 사용하여 플러터 스킬을 향상시킬 수 있습니다. 먼저 UI 예제들을 살펴보십시오. 그 중 일부는 앱 스토어에 등재되어 있는 것들입니다. 어플리케이션이 작동하는 걸 실시간으로 보면서 코드를 확인할 수 있습니다.


좋습니다, 플러터 학습을 위한 자원들은 대충 소개해드린 것 같고, 다음 포스팅에서는 플러터 환경을 세팅하고 샘플 앱을 하나 가볍게 만들어보면서 학습의 마중물을 넣어볼까 합니다.