brunch

You can make anything
by writing

C.S.Lewis

by 미소해 Apr 30. 2020

일타쌍피를 노리는 모바일 앱 개발자라면

크로스 플랫폼 애플리케이션 개발 - 처음 배우는 플러터

Digieco 보고서 - 2019 모바일 시장 현황 및 전망 2부 : 플랫폼&콘텐츠

KT 경제경영연구소 Digieco의 보고서(https://bit.ly/3ddpkgb)에 따르면 전 세계 모바일 앱 시장은 2019년 4,617억 달러 규모로 추산, 2023년에는 9,352억 달러 돌파 예정이라고 한다. 전 세계 모바일 운영 체제는 안드로이드 72.82%, iOS는 25.36%를 차지하고 있다. 모바일 앱 개발자라면 이 두 플랫폼을 모두 커버해야 한다. 하지만 운영체제가 다르다 보니 각각 따로 개발해야 하는 부담이 있다. 그런데! 플러터는 "안드로이드와 iOS 모바일 애플리케이션을 단일 코드로 개발할 수 있는 UI 프레임워크"라고 한다. 플러터는 구글이 다트(Dart)라는 언어로 만들었으며 권장 IDE는 안드로이드 스튜디오와 VSCode다.


https://flutter-ko.dev/


한 프레임워크에서 개발해서 앱스토어와 플레이스토어 모두 한 번에 배포한다면 효율도 높아지고, 수익 가능성도 높아질 수 있다.  import 문 변경 만으로도 앱 전체 룩앤필을 바꿀 수 있다고 한다. 보통 모바일 앱을 개발할 때 코드 변경하고, 빌드하고, 설치하고, 동작하는 과정을 거친다. 과정이 길어 매우 귀찮다. 플러터는 핫 리로드 기능을 제공하여 코드 변경하자마자 바로 딱 동작을 확인할 수 있게 해준다고 한다. 게다가 xml 없이 UI를 만들 수 있다!! 정말 볼수록 매력적이다. 국내 네이버 지식인 앱이 플러터로 개편했다고 하니 확실히 전망이 있긴 한가보다.

일타 쌍피 - https://bit.ly/35jiNxv



플러터를 처음 시작해야 하는 개발자를 위해 나온 책이 <<처음 배우는 플러터>> (유동환 저, 한빛 미디어)이다.

유동환 저자는 같은 회사를 다니고 있어서 직접 뵙고 이런저런 얘기를 나눠본 적이 있다. 다양한 책을 번역하고, 쓰고, 책 쓰는 프로그램협회(https://www.facebook.com/groups/techbookwriting/)도 운영하고, 회사일도 열심히 하시는 분이셨다. 근데 겸손하기까지 하시다. 아는 분의 책을 읽으니 그분의 성격이 글에 녹아 있는 것 같다.


책의 순서나 내용을 보면 (저자를 닮아) 친절하다. 실제 해보고, 사람들이 질문하거나 궁금해할 만한 내용들을 담기 위해 고심한 흔적들이 보인다. 저자의 친절한 안내는 특히 NOTE에 녹아있다. 안드로이드 실제 타깃이 없어도 되는지, 다트의 들여 쓰기는 2칸이라던지, 문자열은 홑 따옴표를 사용하라던지 이런 사소하지만 (중요한 내용들도 많다) 궁금한 것들이 담겨있다.


<<처음 배우는 플러터>>는 1장에서 플러터를 소개하고,  2장에서 일단 플러터 앱부터 만들게 한다. 그렇지! 'Hello world'로 시작해야지!


codepen에서 짜본 hello flutter


그다음에 3장에서 플러터 프레임워크가 사용하는 다트 언어를 소개한다. 다행히 잘 안 쓰는 고루한 연산자 등등 정보는 빼고 친숙하고 자주 쓰이는 내용들 위주로 소개한다. 다른 언어들과의 비교도 해줘서 더 잘 와 닿는다.


4장에서는 플러터의 핵심인 위젯을 소개한다. 그리고 5장에서는 독자가 내용을 따라오는데 지치지 않게 화면 이동과 상태 관리를 소개한 후 6장에서 바로 실습해볼 수 있게 공공 API와 연동해서 데이터를 가져오는 예제를 소개한다. 개발자라면 대부분 이 챕터에 관심을 가질 것이다. 서울시에서 제공하는 '지하철 실시간 도착정보'를 활용해서 UI가 있는 앱을 개발해볼 수 있다. 역시 실 생활에 딱 와 닿는 예제를 해야 관심도 생기고 재미도 있다. 7장에서는 플랫폼 채널 프로그래밍을 소개하고 안드로이드에서 배터리 정보 등을 가져오는 예제를 소개한다. iOS에서 가져오는 법도 알려주셨으면 하는 아쉬움이 살짝 들었지만 국내 모바일 플랫폼 시장 점유율을 생각해보니 저자도 나름 고민하다 안 넣었을 거란 결론을 내렸다.


https://flutter-ko.dev/docs/testing

이 책에서 가장 마음에 들었던 부분이 테스트였다(개발자 테스트와 관련된 일을 하는 내 직업병이다). 개발자 특히 스토어에 앱을 배포할 개발자라면 자신의 앱을 테스트하는 것은 기본이다. 플러터 사이트에서도 방법을 가이드한다(역시 구글!!). 저자는 이를 알려주기라도 하듯이 이 책에서는 테스트에 한 챕터를 할애했다(다른 설명하고 싶은 내용도 많았을 텐데!). 물론 유동환 저자가  JUnit 관련 책들 번역을 많이 하기도 하고, 스스로가 개발자 테스트를 잘하는 깨어있는 개발자라서 그럴 거다!


이 책은 "플러터 공식 IDE는 안드로이드 스튜디오"라고 처음 시작하는 독자는 안드로이드 스튜디오로 개발할 것을 권한다. 하지만 요즘 많이 쓰이고 plugin 도 잘 나온 VSCode에서도 한번 해보고 싶고, 코드펜(https://codepen.io/topic/flutter/)에서도 한번 해보면 재미있겠다는 생각도 든다(위에 hello flutter는 코드펜에서 실습해본 것이다).


플러터에 대해 더 많이 알고 싶다면 유동환 저자가 알려주는 플러터 단체 카톡방(https://open.kakao.com/o/gsshoXJ )이나 국내 페이스북 개발자 그룹(https://www.facebook.com/groups/flutterkorea )에 참여해보는 것도 좋을 것 같다.


* 이 책은 한빛미디어의 '나는 리뷰어다' 활동으로 제공받았으나, 내용은 제 주관적인 의견입니다.



매거진의 이전글 [번역]초보자를 위한 containers 101의 이해
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari