메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

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

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

한빛미디어

집필서

절판

  • 저자 : 유동환
  • 출간 : 2020-03-01
  • 페이지 : 244 쪽
  • ISBN : 9791162242858
  • 물류코드 :10285
  • 초급 초중급 중급 중고급 고급
4.6점 (34명)
좋아요 : 1

플러터를 익히는 가장 쉽고 빠른 책

 

이 책은 플러터를 처음 배우는 개발자를 위한 입문서입니다. 플러터 기본 구조, 환경 설정부터 다트 언어, 네트워킹 연결과 테스트까지 플러터 앱 개발 과정을 예제로 실습하며 배웁니다.  플러터 기본 개념을 익히고, 모바일 프로그래밍에 필요한 다트 언어를 배운 다음, 소규모 모바일 애플리케이션을 만들어봅니다. 글보다는 소스코드로 이해할 수 있도록 단순하지만 바로 실행할 수 있는 예제를 제공합니다. 앱이 정상 작동하는지 확인하는 테스트도 다룹니다. 플러터 앱 개발을 이 책 한 권으로 빠르게 익힐 수 있습니다.

 

 

이 책의 구성

이 책은 플러터 개발을 하면서 필요한 내용을 빠르게 찾아볼 수 있는 공구 상자 역할을 목표로 합니다. 플러터 기본 개념과 다트 언어를 배운 다음, 소규모 모바일 애플리케이션을 만들면서  ‘레이아웃과 위젯’, ‘화면 이동과 상태 관리’, ‘HTTP/JSON 프로그래밍’, ‘채널 프로그래밍’, ‘테스트’를 다룹니다.

 

1장 플러터 입문하기 

플러터를 소개하고 기술적인 특성과 개발자로 느낄 수 있는 플러터의 매력을 알아봅니다. 앞으로 실습할 개발 환경을 설치합니다.

 

2장 처음 만드는 플러터 앱 

안드로이드 스튜디오를 기반으로 첫 플러터 프로젝트를 만듭니다. 플러터 프로젝트의 구성요소를 알아보고 핫 리로드를 실습합니다. 플러터 앱의 기본 요소인 위젯의 개념을 알아봅니다.

 

3장 다트 언어 소개 

플러터 앱은 다트 언어로 작성합니다. 언어를 알아야 앱을 구현할 수 있습니다. Hello Dart 프로그램을 시작으로 다트 언어의 다양한 키워드를 알아봅니다. 기본 자료구조와 표준 라이브러리를 활용해 빠르게 실습합니다. 

 

4장 레이아웃과 위젯 

다양한 위젯을 알아봅니다. 텍스트와 이미지를 표시하는 Text, Image 위젯부터 버튼 위젯과 레이아웃 위젯을 배웁니다. 더 도전적인 ListView 위젯과 마지막으로 공식처럼 활용하는 MaterialApp과 Scaffold 위젯도 알아봅니다. 

 

5장 화면 이동과 상태 관리 

새로운 화면을 추가하고 다른 화면으로 이동하는 방법을 알아봅니다. 정적 Routes와 동적 Routes의 개념을 배웁니다. 마지막으로 Provider를 활용한 앱의 상태 관리(State Management)를 실습합니다. 

 

6장 HTTP/JSON 프로그래밍 

HTTP 네트워크 프로그래밍을 배웁니다. 서버와 통신하여 JSON 데이터를 받아 파싱해봅니다. 마지막으로 공공 API를 연동하여 지하철 교통정보를 표시하는 앱을 만들어봅니다. 

 

7장 안드로이드 채널 프로그래밍

플러터는 안드로이드와 iOS 모바일 기기의 내부 정보에 접근하는 채널(Channel)을 제공합니다. 배터리 정보와 현재 위치 정보 사례를 통해 채널 프로그래밍을 실습합니다. 

 

8장 테스트 

플러터에서 제공하는 다양한 테스트 도구를 알아봅니다. 다트 언어를 테스트하는 다트 테스트, 개별 위젯을 테스트하는 위젯 테스트와 실제 사용자 환경에서 앱을 실행시키는 통합 테스트를 배웁니다.

유동환 저자

유동환

책 쓰는 프로그래머. 연세대학교 정보대학원에서 경영정보학을 전공한 후 LG전자에서 안드로이드 앱을 개발했다. 자바카페와 한국자바개발자협의회(JCO)에서 초기 멤버로서 수년간 활동했다. 집필한 책으로는 『처음 배우는 플러터』, 『RxJava 프로그래밍』, 『안드로이드를 위한 Gradle』(공저, 이상 한빛미디어)이 있고, 번역한 책으로는 『자바로 배우는 핵심 자료구조와 알고리즘』, 『Java 9 모듈 프로그래밍』, 『그레이들 레시피』(이상 한빛미디어), 『Professional Java Web Services』(정보문화사, 2002) 와 『자바와 JUnit을 활용한 실용주의 단위 테스트』(길벗, 2019)가 있다. 

CHAPTER 1 플러터 입문하기 

_1.1 플러터 소개 

_1.2 플러터 시스템 구조 

_1.3 플러터의 매력 

_1.4 다른 플랫폼과 비교 

_1.5 플러터 설치 및 환경 설정 

_1.6 마치며

 

CHAPTER 2 처음 만드는 플러터 앱 

_2.1 Hello Flutter 프로젝트 생성하기 

_2.2 플러터 프로젝트 구성요소 

_2.3 더 단순한 앱 만들기 

_2.4 위젯 개념 잡기 

_2.5 Stateful 위젯 생명주기 

_2.6 마치며

 

CHAPTER 3 다트 언어 소개 

_3.1 다트 역사 

_3.2 Hello Dart 프로그램 

_3.3 주석, 변수, 데이터 타입 

_3.4 연산자

_3.5 조건문과 제어문 

_3.6 final, const, static 

_3.7 함수 

_3.8 객체와 클래스 

_3.9 기본 자료구조 

_3.10 표준 라이브러리 활용 

_3.11 마치며

 

CHAPTER 4 레이아웃과 위젯 

_4.1 Text와 Image 위젯 

_4.2 RaisedButton 위젯 

_4.3 Container, Row, Column 위젯 

_4.4 ListView 위젯 

_4.5 MaterialApp, Scaffold 위젯 

_4.6 마치며

 

CHAPTER 5 화면 이동과 상태 관리 

_5.1 새로운 화면으로 이동 

_5.2 동적 routes 활용 : onGenerateRoutes 

_5.3 상태 관리 

_5.4 마치며

 

CHAPTER 6 HTTP/JSON 프로그래밍 

_6.1 비동기 HTTP 호출 

_6.2 JSON 데이터 파싱 

_6.3 공공 API 연동하기 

_6.4 마치며

 

CHAPTER 7 안드로이드 채널 프로그래밍 

_7.1 플랫폼 채널의 개념 

_7.2 배터리 정보 가져오기 

_7.3 현재 위치 가져오기 

_7.4 마치며

 

CHAPTER 8 테스트 

_8.1 다트 테스트 

_8.2 위젯 테스트 

_8.3 통합 테스트 

_8.4 마치며

출판사 서평/리뷰


핵심 개념 위주로 빠르게 이해하고, 

가벼운 예제로 쉽게 실습하는 플러터 프로그래밍 입문

 

모바일 개발과 플러터를 몰라도 프로그래밍 기초 개념 정도만 알고 있으면 따라올 수 있도록 구성했습니다. 안드로이드 스튜디오 공식 IDE를 사용해 다트 기본 문법을 익히고 다양한 플러터 실습 예제를 다룹니다. 70여 예제로 플러터를 체계적으로 학습할 수 있습니다.

 

 

추천사

 

이 책은 1년간 플러터 스터디를 진행하면서 구성원들이 어려워했던 부분이나 중요하게 생각한 부분을 정리한 책입니다. 책이 알려주는 순서대로 플러터의 다양한 내용을 학습하면 스터디 그룹에 참여하여 함께 공부하는 것처럼 플러터 활용 기술을 얻을 수 있을 것입니다.

김진형, 메이크아이티 CEO

 

입문자에게 꼭 필요한 내용만 골라 효율적으로 학습할 수 있도록 구성됐습니다. 플러터로 앱을 개발하는 것이 어떤 것인지 빠르게 감을 잡고자 하는 분에게 추천합니다.

이현석, 업투데이트북스 대표

 

꼭 필요한 부분을 요약, 정리하여 플러터의 기본 흐름을 빠르게 알 수 있습니다. 안드로이드와  iOS에서 동시에 개발하기 어려워 크로스 플랫폼을 찾는 분, 플러터가 어떤 것인지 알고자 입문하는 분에게 추천합니다. 

허지훈, 드림인사이트 백엔드 개발자

 

앱 개발을 처음 시작하는 독자에게 훌륭한 지침서입니다. 파이썬과 같은 스크립트 언어만 다룬 입장에서 다트에 대한 막연한 두려움이 있었지만, 주제에 맞게 잘 구성된 책의 예제를 따라서 직접 코드를 입력하고 결과를 확인하다 보니 생각했던 것보다 쉽고 재밌었습니다.

이완선, 유니드컴즈 데이터 분석가

 

 

 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

 

플러터가 무엇인지, 플러터를 사용하기 위한 언어 다트(Dart), 플러터 개발(설정, 실습)을 전반으로 다루고 있는 책 입니다.

플러터를 배우고 싶어서 플러터 관한 책을 2번째 정독중입니다.

플러터는 크로스 플랫폼 애플리케이션 개발이 가능하고, 동작 하는 방법이 웹 개발자에게 유리한 프레임워크 입니다.

취미로 앱개발은 하고 싶은데 ,, 안드로이드 ios따로 배우고 싶지가 않고, 개발할 때 그 거대한 안드 네이티브를 돌리자니 생각만해도 답답해서

플러터를 사용해야겠다고 생각했습니다.

그리고 .. 똑똑한 구글이 만든거여서 특히 궁금했습니다..ㅎㅎ

"잘 몰라도 처음부터 끝까지 일단 만들어보자!" ~ 라는 내용을 담고 있는 책들과 마찬가지로

내용이 가볍고, 친절하고, 사용설명서 같은 면이 있는 책이었습니다. 그리고 가독성이 좋습니다.

실습을 안해봐서 거의 모르는 언어인데, 설명 자체가 잘 읽혔습니다.

좋았던 점은. 예제가 실용적이었다는 것이었습니다.

외부 api 호출, 안에 하드웨어에 접근하는 예제가 있습니다.

특히 외부 api 호출은 혼자 미니 프로젝트 할때, 고립되서 ? 하는 면이 있는데 그렇지 않도록

어떻게 network 통신(소통)을 이 앱을 통해 이룰 수 있는지 , 단순하고 강력하고 꼭 필요한 예제를 넣어줘서 좋았습니다.

어차피 예제를 통해서 코딩을 배우게 되기 때문에 예제가 좋다는것은 큰 장점인것 같습니다.

사실 이 책만 읽어서는 "나는 플러터를 마스터했다." 이렇게 ㅎㅎ 말하기는 어려울 것 같습니다.

왜냐하면, 순간순간 이 예제를 어떻게 구현하는지, 이 구현방식은 무엇을 뜻하는지를 알려주는 곳은 있지만,

왜 굳이 이것을 해야하고, 어떻게 다른 방식으로 고도화할 수 있고 어떤 구조가 더 바람직한지에 대한 설명은 거의 없기 때문입니다.

만약 책을 읽고 더 흥미가 생기고 진짜 어떤 프로젝트를 해보고 싶다면 직접 찾아보실 것 같습니다.

(저는 Stateful, Stateless 쪽이 바로 이해가 안가서 구글링해보게 되었습니다 ㅎㅎ)

그래도 전체적인 플러터 개발 흐름과, 다트 문법을 익히고, 위젯을 어떻게 활용하는지에 대해서 경험 해보기로 좋을 것 같습니다.

제가 미니 프로젝트를 혼자한다면 이 책을 읽고 구글링을 하는 방법을 택할 것 같습니다.

플러터의 장점을 잘 설명한 책이고, 또 예제가 자세해서

얼른 IDE 키고 예제 코드를 라인 by 라인으로 타이핑하면서 플러터 개발을 시작하고 싶어지는 책이었습니다.

 

 

목차

  • CHAPTER 1 플러터 입문하기
  • CHAPTER 2 처음 만드는 플러터 앱 
  • CHAPTER 3 다트 언어 소개 
  • CHAPTER 4 레이아웃과 위젯 
  • CHAPTER 5 화면 이동과 상태 관리 
  • CHAPTER 6 HTTP/JSON 프로그래밍 
  • CHAPTER 7 안드로이드 채널 프로그래밍 
  • CHAPTER 8 테스트 

 


  하나의 언어로 두가지 플랫폼에서 돌아가는 앱을 거의 성능 저하없이 개발할 수 있다는 점만으로도 플러터는 흥미를 끌만하다. 플러터의 개발사가 구글이라는 점도 신뢰가 간다. (물론 구글에서 나왔다가 사라진 수많은 서비스와 기술들이 있긴하다) 강력한 무료 개발툴인 안드로이드 스튜디오나 (굳이 원한다면) VS Code에서도 개발이 가능한 점도 메리트가 있다. 개발 언어인 다트는 향상된 버전의 자바 (코틀린과 비슷)를 보는 모습이라 간결하고 어렵지 않은 장점도 있다. 안정성이나 호환성이 궁금할 수도 있는데, 실제 프로덕션에서 네이버 지식인앱이 플러터로 개발되어 있다. 

 

  내가 느끼는 장점들을 나열해 보았는데 물론 장점만 있지는 않을 것 같다. 네이티브앱을 플러터앱으로 완전히 대체될 수 있냐 하면 그것도 아직은 잘 모르겠다. 다만 부족한 부분들은 계속 보완되고 발전될 것이라고 본다. 더 많은 사례와 논의가 이루어지면 좋겠다.

 

  책을 보고 느낀 점은 "깔끔하다"이다. 처음에 먼저 (이해가 안되더라도) 돌아가는 앱을 만들어서 흥미를 유발한다. 그 뒤에 간단하게 다트 언어를 한 챕터만에 설명해준다. 그리고 앱에서 사용되는 여러가지 레이아웃과 위젯들을 알려주고 (화면 1개짜리의 정말 간단한)앱이 아니라면 당연히 가지고 있을 상태와 화면 이동에 대해 다룬다. 외부 통신없이 유용하고 가치 있는 무언가를 만들기는 힘들기에 HTTP/JSON 통신을 이용한 외부 데이터와의 연동을 다룬다. 기기 내부정보를 다루기 위해 드디어 각 플랫폼별로 따로 해줘야 하는 일들이 필요하다는 것을 알려준다. 마지막으로 가장 중요한 테스트를 다룬다.

 

  책 제목처럼 개발 경험은 있지만 플러터를 처음 접하는 사람을 위한 책이다. 다양하게 간단한 경험을 해보고 이후에 필요하다면 세세하게 더 찾아서 공부하고 적용하면서 개발하면 될 것 같다. 앱 개발 한 번 해보고 싶게 만드는 플러터이다.

Screen Shot 2021-11-21 at 9.20.01 PM.png

 

 

 

앱개발에서 요즘 신흥강자로 뜨고 있는 플러터에 관심이 있었는데 이번 기회로 가볍게 접해보게 되었습니다.

 

학부때 JAVA와 Objective-C를 사용해서 네이티브 앱 개발을 해본경험이 있었고, 

 

그 후엔 리액트를 접해보면서 리액트 네이티브를 활용하여 iOS앱 개발을 간단하게 해본 경험이 있습니다.

 

리액트 네이티브를 사용해보면서 크로스플랫폼 앱개발에 관심을 갖게 되었고,

 

플러터라는 플랫폼을 들어만보고 실제 사용한건 이번이 처음이었습니다.

 

플러터는 구글에서 밀고있는 크로스플랫폼으로 Dart라는 언어를 사용해서 안드로이드 및 애플 앱 개발을 동시에 진행할 수 있는

 

크로스플랫폼의 일종입니다.

 

이 책에서는 안드로이드 스튜디오를 기본 IDE로 사용하며, 대부분의 예제를 안드로이드로 진행합니다.

 

아이폰을 사용하고 안드로이드 폰이 없는 저로써는 iOS예제가 없어서 조금 아쉬웠습니다.

 

하지만, 앱 개발이 처음이신분들도 쉽게 따라할 수 있을만큼 쉽고 자세하게 설명되어 있습니다.

 

또한 기존 안드로이드 어플리케이션 생명주기와 네이티브 기능등을 사용할 수 있게 해주는 채널 같은 경우도

 

설명이 잘 되어 있어서, 쉽게 개념을 잡을 수 있었습니다.

 

앱 개발에 관심이 있고, 한 가지 언어 및 플랫폼으로 안드로이드와 아이폰 개발을 동시에 하고 싶으신 분께 강력 추천하는 책입니다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 
 

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

책을 읽기 전에

평소 관심이 많았던 플러터에 대한 도서라서 기대되는 마음 반, 출간 날짜가 좀 오래되었고 플러터 버전이 낮아서 걱정되는 마음 반으로 독서를 시작했습니다.

기본 위젯과 다트 설명부터

'처음 배우는 플러터'라는 책 이름에 맞게, 초심자에게 필요한 플러터 기본 위젯들에 대한 설명과 다트 문법 등의 내용을 충실하게 다루고 있습니다. 프로그래밍 입문자보다는 어느 정도 프로그래밍 경험이 있는 상태에서 실제 프로젝트를 만들어보고 싶은 독자에게 적합할 것 같습니다.

HTTP 통신까지

기본적인 플러터 이론을 다루고 난 뒤에는 공공데이터 API를 활용한 예제를 통해 라우팅, HTTP 통신에 대해 다룹니다. 정해진 분량 안에 앱 개발에 필요한 필수적인 내용을 충실하게 담았다는 느낌을 받았습니다. 또한 예제 위주의 내용을 통해 입문자가 흥미를 가지고 몰입할 수 있도록 합니다.

테스트를 다루는 입문서

입문서에서 테스트 관련 내용을 다루고 있다는 점이 놀라웠고 마음에 들었습니다. 많은 경력을 가지고 있는 저자인 만큼 실무나 추후 프로젝트에서 중요한 부분을 차지하는 테스트에 큰 비중을 실어준 것 같습니다.

 

 

다소 생소할 수 있는 Dart 언어에 대한 소개와 예제를 통해 기본 자료구조, 표준 라이브러리등을 배울 수 있고 기존에 앱개발에 사용되는 언어와의 비교를 통해 Dart의 빠른 습득을 가능케 한다. 그리고 HTTP/JSON 프로그래밍, 채널 프로그래밍을 통해 앱을 통해 구현할 수 있는 기능들의 범위를 확장 시켜준다. 특히 프로그래밍 기초 지식이 있고 앱개발을 배우고자 하는 사람들에게 강력히 추천한다.

한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.


[한빛미디어에서 제공 받은  2021년 '나는 리뷰어다' 도서 리뷰입니다


'구글'을 알고 있는가?

'구글' 하면 떠오르는것은 무엇일까?


'좋은 직장', '최고의 대기업', '자유', '멋짐', '안드로이드'

대충 성공적인 무언가가 떠오르는 기업이다.


성공적이라면 '구글은 1인자인가?'

라고 묻는다면 '아니다' 라고 말할것이다.

왜냐하면 '사과'가 존재하기 때문...


오늘 리뷰할 서적의 주인공도 바로 그렇다.

구글이 만들어서 킹왕짱이고 누구나 다 쓸것 같지만

우리나라에서만큼은 그렇게 유명하지 않은 이녀석,

'플러터'

 

오픈 소스 모바일 애플리케이션 개발 프레임워크 로

안드로이드와 아이폰 앱 두가지를 동시에 개발할 수 있게 만들어주는

편리한 프레임워크이지만, (우리나라에서만큼은) 페이스북의 '리액트 네이티브'에

밀려 정상에 서지 못하고 있다.


하지만 '걱정하지 말라구~?'

왜냐하면 오늘 리뷰할 '처음 배우는' 시리즈에서

쉽고 재미나게 배우면 플러터의 매력에 흠뻑 빠질테니!


오늘 리뷰할책은 바로

'처음 배우는 플러터'

 

  • 서적 요약 및 정리

1. 약 220p, 기초적인 프로그래밍 기본 지식이 있는 독자가 대상

2. 플러터를 익히기 위해선 다트(Dart) 라는 언어를 배워야 하기 때문에 기본개념, 다트 언어 익히기, 앱 개발 순으로 진행(플러터는 프레임워크 이기 때문에 단독으로 사용할 수 없음)

3. 다른 IDE를 사용해도 되지만 안드로이드 스튜디오에 최적화 되어있음

4. 이 책은 플러터 SDK 1.12.13 버전을 사용(현재 2021년 11월 20일 기준 2.5.3 버전, 초보자들은 버전 차이가 많이 나니까 "다른거 봐야지" 하겠지만 버전만 잘 맞추면 실행과 기초를 쌓는데 문제가 없음)

5. 6장 HTTP 네트워크 통신 설명으로 '지하철 실시간 도착정보'를 활용하기 위해 공공데이터를 활용, 초보자가 가장 접근하기 쉬우면서도 어려운 부분이 나와있어 멋진 포인트가 아닌가 싶음

6. 크로스 플랫폼이라는 언어에 어울리지 않게 안드로이드에 치중된 설명

 

  • 여담

1. 자마린이라는 MS에서 소유중인 크로스플랫폼도 있지만... 워낙 리액트 네이티브와 플러터가 잘나가서 그런지 언급이 잘 안되는 듯 하다(우리나라 한정)...

2. 다트는 플러터와 같이 구글에서 만들었으며 C언어 문법과 거의 같음(최근에 다트가 나왔다면 파이썬과 비슷하지 않았을까...?)

3. 현재 릴리즈 된 버전과의 차이를 보면 알겠지만 업데이트가 빈번하고 바뀌는게 많기 때문에 최신버전을 사용하고 싶다면 책으로 사용법을 익히고 인터넷 자료를 훑어보며 실력을 키우길 권함(책이 20년 3월에 나왔는데 발전이 어마무시하게 빠른듯...)

4. 작년에 리액트 네이티브를 배우기 위해 구매했던 서적도 그랬지만, 입문용 프로그래밍 서적이 대부분 그렇듯 코드 때문에 대부분의 지면을 차지하는것이 약간 불만(뭐, 코드를 따로 적자니 초보자들은 따로 찾아보기 힘들테고 책과 다른 매체를 동시에 이용해야 한다는 불편함도 있기 때문에 어쩔 수 없겠지만 앞으로 이 딜레마가 어떻게 해결될지가 관건일듯...?)

5. 코드를 보면서 작년에 배웠던 리액트 네이티브랑은 코드 스타일이 전혀 다른 느낌을 받아서 약간 충격이었음(리액트 네이티브를 깊게 배우진 않았지만 확실히 언어가 다름에도 비슷한 방향성(크로스 플랫폼)을 갖고 있다는것이 약간 신기하고 백엔드 프로그래머들은 오히려 플러터가 더 쉽게 다가올수도 있겠단 생각이 듦)

6. 작년에 리액트 네이티브를 공부할때도 느꼈지만(계속 리액트 네이티브 얘기가 나와서 좀 그렇지만...) 크로스 플랫폼임에도 ios 관련 내용이 너무 적다는것이 불만, ios는 설정도 빌드 방법도 달라서 해맸던 기억이 있는데 시리즈물로 만들게 아니라면 이건 좀 감점요인이라고 생각함.

7. 책이 얇다고 생각했는데 전체적으로 알찬 내용으로 꽉 차있어서 만족스러움

- 플러터의 대한 기본 개념 학습

: 어떤 프레임워크를 배울 때, 프레임워크가 왜 만들어졌는지 이해하는 것은 중요합니다. 그것을 알아야 프레임워크가 장점을 활용한 개발이 가능합니다. 이 책에서는 플러터에 대한 기본 배경 지식을 쌓을 수 있습니다. 배경 지식을 통해 플러터가 왜 매력적인지 요즘 점차적으로 떠오르고 있는지 알 수 있습니다.

- 다트언어 기본 학습

: 플러터는 다트 언어로 개발을 합니다. 대부분의 사람들에겐 조금 생소한 프로그래밍 언어일 수 있습니다. 그래서 3장 챕터를 통해 다트언어에 대한 소개와 문법을 배울 수 있도록 되어 있습니다.

- 쉽게 찾아볼 수 있게 만들어진 챕터

: 제 경험상 책을 한 번 본다고 알아서 척척척 개발되진 않습니다. 초기에는 개발하다 막히는 부분이 있으면 해당 내용이 있는 부분을 다시 읽고 이해하고 적용해나가면서 개발을 하게 됩니다. 가끔은 분명히 책에서 본 것 같은데, 찾다가 많은 시간을 사용한 경우도 있었습니다. 그러나 이 책은 나중에 다시 볼 때 쉽게 찾을 수 있도록 챕터를 구성했습니다. 레이아웃과 위젯, 화면 이동과 상태 관리, HTTP/JSON, 안드로이드 채널 그리고 테스트로 큰 챕터를 나누고 소 챕터도 내용을 찾기 쉽도록 정리했습니다. 초기 개발할 때는 이 책을 옆에두고 개발한다면, 빠르게 찾아가면서 개발할 수 있습니다.

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

플러터는 안드로이드와 iOS 모바일 앱을 단일 소스코드로 개발할 수 있는 UI 프레임워크인데, 이 말인즉슨 안드로이드 기기와 iOS 기기에 동시에 배포할수 있고 이를 크로스플랫폼이라고 한다. 플러터는 그리고 구글에서 만든 언어이며, Dart 언어 기반이다. 기존에 자바를 많이 쓰던 나도 금방 이해할 수 있을 정도로 설명을 잘 해주신것같다. 사실 플러터말고도 크로스플랫폼은 많이 있다. MS의 자마린과 페이스북의 리액트 네이티브가 있다 하지만 나는 C#을 배울 생각이 없어 자마린은 관심이 안갔고 리액트 네이티브는 내가 웹 프론트엔드 개발자는 아니기에 관심이 안갔고 자연스럽게 플러터에 관심을 가지게 된 것같다. 물론 다트도 새로운 언어고 서버쪽에선 별로 쓸일 없겠지만 이 책을 통해 재미있게 배운 것같다

플러터를 처음 사용하게 되어 플러터 및 다트 언어를 심플하게 접해 보고자 하는 입문자들에게 유용하다고 생각 되어지는 책이다. 플러터의 많은 기능을 담고 있지는 않지만 설치부터 예제를 따라하다보면 점점 플러터에 익숙해지면서 감을 잡을 수 있도록 구성 되어 있다.

책소개

크로스플랫폼 앱 개발 기술의 대표적인 플러터에 대한 책이다

구글에서 지원하고 있는 플러터는 약 1년전에 접했었고 상당히 매력적인 개발 기술이라고 생각한다.

경쟁상대로 리액트 내이티브가 있지만 리액트는 개발자가 많은 부분을 만들어서 사용해야 하지만 플러터는 구글에서 상당히 많은 클래스와 패키지를 제공하므로 초보자도 빠르게 안드로이드와 iOS에서 동시에 수행할 수 있는 앱을 빠르고 쉽게 만들 수 있어서 좋았다.

이책은 그런 플러터의 기본적인 구조, 다트언어 , 간단한 UI(레이아웃변경, 위젯 등), HTTP 네트워크 프로그래밍, 공공API 연동, 스마트폰 기긱의 내부 정보에 접근하는 채널등에 대해 설명하고 있다.

기본적인 앱의 흐름등을 간단한 도식으로 설명한 후 그에 해당하는 소스와 상세 설명을 기술하고 있다

중요한 소스의 내용은 상세한 설명을 하므로 쉽게 소스의 내용을 파악할 수 있다.

플러터의 장점인 쉽게 만들 수 있는 앱을 이 책에서도 기본적인 위젯 몇개만을 사용하여 앱을 만드는 법을 설명한다.

다트언어에 대해서는 변수, 데이터타입, 연산자,조건문/제어문, 함수, 클래스 등을 예제를 통해 설명하고 있으며 다트의 표준라이브러리 사용법도 설명하고 있다. 초보자에게는 꼭 필요한 다트언어의 특징을 설명하고 있지만 추가적인 내용을 구글 다트관련 페이지에서 더 공부하면 좋을 거라 생각한다. 구글에는 메뉴얼 형태로 다트와 플러터에 대한 내용이 많이 있으니까...

다트언어의 대한 설명 이후에는 개발하면서 필요한 사항들에 대해 설명을 이어간다. 레이아웃의 설계와 그에 맞는 위젯에 대한 예제와 HTTP/JSON을 이용한 공공 API연계 예제, 기기의 배터리, 위치 등 내부정보와 연계하는 예제를 설명한다.

최종적으로 개발한 내용을 fluuter_test 패키지를 이용하여 검증을 수행하는 방버에 대해 설명한다.

 

KakaoTalk_20211114_193518968.jpg KakaoTalk_20211114_193519227.jpg KakaoTalk_20211114_193519451.jpg KakaoTalk_20211114_193519665.jpg

 

 

총평

초보자가 알아야 하는 기본적인 내용은 200페이지 내외의 짦은 분량임에도 모두 들어가 있다고 생각한다. 추가적으로 궁금한 내용은 구글 관련 페이지에서 더 찾아볼 수 있으니까.

이 책은 빠르게 플러터의 기본적인 내용을 구글링을 하지 않고 습득할 수 있게 해주는 의미에서 충실한 책이라고 생각한다.

약간 아쉬운 점은 개정판에서는 근래에 나온 액과 데스크톱을 모두 아우르는 플러터 2.0 특징에 대해서도 기술을 해 주었으면 하는 바람이다.

 

"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

KakaoTalk_20210321_235821639.jpg

 

이 책은 처음부터 접하는것보단 c나 파이썬을 기초학습을 어느정도 진행한적이 있는 대상으로 한다.
 
큰 구성으로는 1)플러터의 기본개념 2)Dart언어 3)소규모 모바일 프로그래밍 이다.
 
 
플러터의 최고 장점이라고 생각하는것은 소스코드 한벌?로 안드로이드와 iOS앱을 만들 수 있다.
 
 
비교될 플랫폼으로는 Xamarin(자마린)이랑 리액트 네이티브가 있다.
 
자마린은 잘 못들어봤는데 리액트네이티브는 많이들어본듯?
 
 
플러터가 위 두개 플랫폼보다 최신 출시로 인해 지원되는 라이브러리가 적은것 말고는 단점이 없어보인다.
 
 
2장에서는 플러터 사용을 위한 환경설정 후 간단한 앱을 만들어보는데 개발을 해본적이 없다면 확실히 이해하기에는 간단하지 않아보인다.
 
 
3장에서는 다트에 대한 설명이 나오는데, 처음에는 웹에서 사용하기 위해 만들어졌다고 한다. 2.0이 나오고 나서는 많은 부분이 달라지면서 좋아진듯하다. 다트에 대한 전반적인 함수들, 변수를 사용하기 위한 키워드, 객체, 자료구조등이 나오는데 예제와 설명이 자세하게 나와있으니 충분히 이해가 될듯하다. 
 
4,5장은 코딩을 통해 화면이 어떻게 구성되는지 자세한 설명이 나오는데 안드로이드 개발을 했을때 xml로 화면구성하는것과 실행되는 코드들간의 관계에 대해 파악해야되는것이 있었는데 이부분은 조금 시간을 들여서 봐야될듯 하다.
 
 
 
6장은 앞서 코딩했던것들이 네트워크 통신을 어떻게 하는지 설명해주고 7장은 디바이스 정보를 통한 채널프로그래밍, 8장은 책에서 설명했던것들을 가지고 실제 테스트를 구현해본다.
 
예전에 회사에서 앱 진단을 할때 처음 알게된 플러터. 패키징? 구조가 이전 앱들과 달라서 뭔가 싶어서 확인해봤던 기억이 난다. 그때는 한글로된 컨텐츠는 전무했고 사용도 막 스타트 하는 수준이라서 정보찾기가 어려웠었다.
몇년 지나지 않았는데 좋은정보가 많은 책들이 나와서 다행이다. 아쉬운점은 안드로이드에 비해 iOS에 대한 내용이 적었던게 조금 아쉬웠다.
 

 

앱 애플리케이션 개발에 하이브리드 앱, 네이티브 앱 개발을 통해서 진행하고 있는데 이번에 크로스 플랫폼 애플리케이션 개발이라는 이야기와 그리고 구글에서 지원하는 크로스 플랫폼 애플리케이션 개발에 플러터가 있다는 이야기를 듣고 "처음 배우는 플러터"를 선택해서 읽어보게 되었다. 


국내에 플러터에 대한 책이 몇권 없는데 그 중 이 책 "처음배우는 플로터"는 초보자가 학습하기 위한 가장 좋은 책이라고 생각한다.

플러터에 대한 기본 내용, 구조를 학습할 수 있고 그리고 플로터에 대한 개발언어인 Dart애 대한 기초 내용을 학습할 수 있게 구성되어 있으며 앱 개발에서 가장 중요한 레이아웃과 위젯, 화면이동에 대한 내용이 기본적으로 잘 설명되어 있었고 학습할 있는 책이 었다. 기본서에 충실하고 빠르게 플러터를 개념을 잡기위한 주제로 잘쓰여진 책이라고 생각한다. 

 

다만 이책을 읽으면서 아쉬운 점은 버전에 대한 이슈가 있었다. 

현재 버전과 그리고 플로터에 대한 버전에 대한 갭차이가 있고 해당 내용을 학습하는데 전혀 문제는 없었지만 플로터 2.0 이 나오고 그리고 추가적인 변화가 계속 있을텐데 그때에는 해당책에 대한 추가적인 개정판이 빠르게 나와야 할거라고 생각한다. 그리고 플로터에 대한 업데이트에 따른 추가적인 내용도 계속 지속적인 업데이트가 되면 좋을 것 같다.  


Flutter (flutter-ko.dev)의 문서와 "처음 배우는 플러터" 를 통해서 전체적인 플러터에 대한 내용과 그리고 개발방법등을 확인할수 있었고 예제 소스를 통해 안드로이드 폰에서 확인하면서 해당 책을 읽고 학습할 수 있었다. 

애뮬레이터 보다는 안드로이드 폰에서 직접해보는것을 추천한다. 


이책의 장점은 

- 기본적인 내용에 빠른 학습가능 

- 앱 개발에서 가장 중요한 레이아웃, 화면이동, 상태관리를 쉽게 배울수 있음

- 플로터에 대한 개발언어인 Dart언어 학습가능 


아쉬운점

- 플로터 업데이트에 대한 지속적인 개정판이 나와야 할것 같음


해당 학습 및 책을 읽으면서 크로스 플랫폼 개발에 대해서 관심을 가지게 되었고 신규 프로젝트에도 적용을 한번 해봐야 되겠다는 생각을 하게 되었다. 그리고 해당 책에 대한 추가 학습을 위해 "플러터 인 액션" 에 대한 학습도 진행해봐야 할것 같다.

이번에 리뷰하게된 책은 처음 배우는 플러터 입니다.
플러터는 구글에서 만든 모바일 앱 개발에 사용되는 크로스 플랫폼 프레임웍입니다.
Dart라는 하나의 언어 코드베이스를 통해 IOS앱이나 안드로이드앱 그리고 웹앱까지  동시에 지원합니다.
IDE는 주로 안드로이드 스튜디오를 사용합니다.

목차는
간단한 소개부터 플러터의 시스템 구조 그리고 설치
간단한 앱 만들기
다트 언어 소개
레이아웃과 위젯 설명
화면 이동과 상태 관리
HTTP/JSON 프로그래밍
안드로이드 채널 프로그래밍
테스트

의 구성으로 되어있습니다.

일반적인 안드로이드 앱개발에 비해 처음에는 신경쓸 게 많이 줄어보였습니다.
리액트 네이티브에 비해 성능이 좋고 핫 리로딩으로 개발속도도 단축시킬 수 있습니다.
설치는 그림설명이 친절하게 나와있어서 쉽게 따라할 수 있었습니다.
회사에서는 자바를 주로 사용하는데 다트 언어는 자바랑 많이 비슷한 느낌이었고, 안드로이드 스튜디오에서 자동완성이나 기타 여러 IDE상의 지원이 잘 되어있어서 처음 접하는 언어에 프레임웍임에도 크게 어렵게 느껴지지는 않았습니다.
거의 대부분이 위젯으로 되어있고 UI에 대한 코드가 많아질 수 밖에 없어서 코드 가독성이 떨어질 수 밖에 없는데
코드는 주요한 부분에 대해서만 원번호와 bold체로 표시후 주석이 아닌 별도로 분리해서 설명한건 잘한 거 같습니다.
중간 중간 궁금할 만한 내용들에 대해서 IDE의 단축키설명등과 함께 알려준것도 좋았습니다.
모바일앱에서 권한을 획득하는법이라든지 API호출을 위해 네트웍통신하는법 테스트방법 등 처음 접하는 개발자가 알아야 하는 부분에 대해서 소개하고 있습니다.
정말 입문서정도의 분량입니다. 따라서 부담없이 따라할 수 있지만 실제로 개발하고자 한다면 온라인이든 다른 자세한 책을 가지고 추가적으로 공부해야 할 거 같습니다.

아쉬운점
 
앱을 만들어 에뮬레이터에 돌리는 방법만 나와있고, 실제 아이폰이나 안드로이드폰에 어떻게 설치해볼 수 있는 지 등에 대한 정보가 없어서 아쉬웠습니다.

 

 

플러터-01.jpg

 

플러터-02.jpg

 

 

 

한빛미디어 나는 리뷰어다 3월 이벤트 도서로 '처음 배우는 플러터'라는 책을 받았습니다. 관련 업계에서 플러터에 대한 관심이 점점 커지고 있는지, 플러터와 관련된 책을 연달아 받은 상황인데, 이번에 받은 '처음 배우는 플러터'는 2020년 3월에 출간된 책이니 출판된지 딱 1년된 책이었습니다. 보통은 최근에 출간된 서적위주로 서평단이 운영되는 것으로 생각하고 있었는데, 모르긴 몰라도 최근 부쩍 커진 플러터에 대한 개발자 혹은 개발자 지망생들의 관심을 반영한 것 아닌가 하고 생각해 봅니다.

'처음 배우는 플러터'는 출간전 1년동안 플러터 스터디를 진행하면서 스터디 구성원들이 어려워했던 부분이나 중요하게 생각한 부분, 그리고 응용할 수 있는 부분 등 여러가지 중요한 사항을 정리한 책이라고 합니다. 덕분에 플러터 입문자들을 위한 효율적인 학습을 안내하는 가이드가 되어 주고 있습니다. 제 경우, 개발관련 서적을 읽을 때 처음 열흘정도는 일단 전체적인 책의 구성과 내용을 눈으로 훑고 다음 열흘정도는 예제를 손으로 따라가 보는데요, 책의 내용에 실제 스터디 그룹 운영에서 얻은 피드백이 고스란히 반영되어 있어서 그런지, 제 기준으로는 이 책이 지금까지 접한 플러터관련 서적중에서 "가장" 효율적인 학습 가이드라고 수식어를 추가할 수 있었습니다.

우선, 책이 비교적 얇은 편입니다. 지은이 소개부터 색인까지 다 해서 240여페이지정도라 다른 플러터 서적에 비해 심리적으로 편했습니다. 내용상으로도 플러터 입문자들이 굳이 아직 초보단계에서는 고민하지 않아도 되는 부분이라면 과감하게 덜어 낸 노력이 느껴졌습니다. 그렇다고 내용이 부실한 것이 아니라 혼동할만한 부분에서는 꼭 추가설명을 삽입하여 이해도를 높여 주었습니다. 많은 프로그래밍 관련 서적들이 지금은 이해하지 못해도 일단 따라해 보면 나중에 저절로 이해하게 된다는 식으로 중요개념을 겉으로 핥고 넘어가곤 하는데, 이 책의 경우 플러터 앱을 구성하는 기본 코드 한줄 한줄에 대해 설명하며 입문자들을 배려하고 있습니다. 특히 플러터는 위젯이라든가 stateless라든가 stateful이라든가 머터리얼 앱 기본 구조라든가 하는 다소 생소한 개념들이 처음부터 발목을 잡는데 이 책에서는 플러터에 대한 진입장벽이 되지 않도록 잘 설명해 두고 있습니다.

설명에 군살이 없다보니 책 1/3정도까지는 직장에서 업무를 보면서도 짜투리 시간만으로 하루정도만에 큰 부담없이 읽어 나갈 수 있었습니다. 다만 Dart 언어를 설명하는 부분에 있어서는 조금 어려움이 있었습니다. 기존의 구조적인 언어 학습방법에 대입하여 간략하게 훑고 넘어가거든요. 이 책 자체가 Dart 언어를 학습하는 책이 아니라 플러터 플랫폼을 학습하는 책이다 보니 어쩔 수 없이 Dart 언어는 다른 프로그래밍 언어 경험자들의 수준에서 집필된 것 같습니다. 잡다한 설명 없이 다른 언어는 이렇게 코딩하는데 Dart는 이렇게 쓴다는 식으로 가볍게 짚고 넘어가는 수준이거든요. 예를들어 자바나 C#, 파이썬중 하나 정도 기초학습한 지식은 있어야 편하게 이해가 됩니다. 플러터로 앱을 개발하는데는 충분한 수준이겠지만 좀 더 유용한 수준까지 가려면 별도의 Dart 관련 서적이 필요할 것 같습니다.

Dart 언어를 설명한 부분을 꾸역 꾸역 넘어가고 나면 책의 반이 지나며, 이후 몇가지 필수적인 예제를 다루면서 플러터의 전반적인 구조와 작동원리를 학습하게 됩니다. 굉장히 기초적인 개념들이라 JSON정도만 잘 이해하게 되면 그다지 어렵지 않습니다. 쉽고 명확한 예제들을 제시하고 있어서 그럭저럭 따라가고 나니, 다른 플러터 관련 서적들의 예제를 학습하는데에도 큰 도움이 되었습니다. 입문자들에게 꼭 필요한 내용위주로 내용이 구성되어 있으므로, 기본 개발자들이 플러터 앱 개발이 무엇인지 빠르게 감을 잡는 용도로도 좋은 책이라고 생각됩니다.

구글이 플러터를 더 끌고 가내 마내 설왕설래가 많은 상황입니다만, 여하튼 지난 2021년 3월 3일에 플러터 버전2가 발표되었다고 합니다. 기대했던대로 웹과 데스크톱 지원 부분에 있어 안정화 버전으로 업데이트 되었다고 합니다. Dart 언어도 좀더 최적화된 버전으로 업데이트 되어, 플러터가 명실상부한 모바일/웹/데스크톱 및 여러 OS간 크로스 플랫폼으로 기능할 수 있는 기반이 마련된 것 같습니다. 향후 몇달안에, 이 책 '처음 배우는 플러터'도 플러터 2버전으로 업데이트 되어 주길 기대해 봅니다. 업데이트 버전에서도 쉬운 설명과 예제 기대하겠습니다.

 

 

책 소개

  • 책 제목 : 처음 배우는 플러터
  • 글쓴이 : 유동환
  • 출판사 : 한빛미디어
  • 초판 1쇄 : 2020년 03월 01일

책의 특징

지난번 플러터로 애플리케이션을 개발하는 다른 책과 달리 해당 책은 놀랄만큼 얇았다. (물론 매우 얇다는 것은 아니다. 약 250pg) 그렇지만, 다들 알다싶이 개발 책이 그것도 예제들과 설명들을 다 포함하여 해당 두께 정도 되는 책은 흔치 않다.


해당 책이 얇을 수 있는 이유는 안드로이드 프레임워크에 대한 설명이 적기 때문이다. 따라서, 이미 java, Kotlin 등 다른 언어로 안드로이드를 개발해 본 경험이 있는 개발자에게 적합한 책이라고 할 수 있다.


내용이 많이 함축되어있기 때문에 다트라는 언어의 많은 내용을 포함하고 있지는 않다.


그러나, 그렇다고 내용을 생략하거나 빼놓지 않았다. 표 및 NOTE 등의 내용으로 궁금할 내용을 정확히 짚어 설명 해 준다.


다트는 직관적으로 이해하기 쉬운 언어이다. 따라서 약 40pg 의 내용에도 뒤의 실습에서 응용하기에 무리가 없었다.


책에서 다루는 실습 내용은 로그인, 지하철 API 연동앱이다.


간략한 축에 속하지만 꼭 필요한 내용을 핵심적으로 기술하였다. 무엇보다 빠른 시간에 플러터 앱 개발에 대해 감을 잡을 수 있었다.

추천 대상

위에서 언급하였듯이 안드로이드 프레임워크 및 적어도 앱 개발을 한 경험이 있는 개발자 중, 플러터를 입문하고자 하는 사람에게 강력히 추천하는 바이다.


빠른 시간 안에 플러터 앱 개발이 가능하기 때문에 플러터에 대해 알고자 하거나 가볍게 접하고자 한다면 부담 없이 시작할 수 있는 입문서이다.



책의 한줄평

플러터 애플리케이션 개발의 튜토리얼

 

이 글은 2021년 3월 한빛미디어에서 진행하는 <나는 리뷰어다> 프로그램에 참여하게 되어

한빛 미디어 측에서 책을 제공받아 글을 작성하였습니다.

 

처음 배우는 플러터 표지 (출처: 한빛 미디어)

2017년 5월 구글을 통해 처음으로 알파 버전을 공개 한 이후 클로스 플랫폼 애플리케이션 개발이 많이 사용되며 큰 인기를 받았다.

그 이후 약 4년만인 2021년 3월 4일 구글은 2.0 버전을 공개하면서 기존 플러터를 사용하는 사람들을 포함하여 많은 개발자들을 놀라게 하며 큰 주목을 받았다. 

 

오늘은 크로스 플랫폼 애플리케이션을 개발 할 수 있는 플러터에 대한 책을 약 2주간 읽고 느끼게 된 점을 작성하려고 한다.

목차


CHAPTER 1 플러터 입문하기 
- 플러터를 소개하고 실습에 필요한 환경을 세팅함

CHAPTER 2 처음 만드는 플러터 앱 
- 안드로이드 스튜디오를 기반으로 한 플러터 프로젝트를 만들고, 위젯의 개념을 배움

CHAPTER 3 다트 언어 소개 
- 플러터에서 사용되는 다트라는 언어에 대해 공부하고 기본 자료 구조와 표준 라이브러리를 실습함

CHAPTER 4 레이아웃과 위젯
- 텍스트와 이미지 위젯부터 버튼, 레이아웃 위젯까지 다양한 위젯에 대해 배움

CHAPTER 5 화면 이동과 상태 관리 
- 새로운 화면을 만들고 화면을 이동하고 정적/동적 Routes의 개념을 배우며 앱의 상태 관리에 대해 배우고 실습함 

CHAPTER 6 HTTP/JSON 프로그래밍
- 서버와 통신하기 위한 HTTP 네트워크 통신에 대해 배우고 JSON 테이터를 파싱하여 앱을 실습함 (공공데이터 API을 사용함)

CHAPTER 7 안드로이드 채널 프로그래밍 
- 모바일 기기의 내부에 접근하는 채널에 대해 배우고, 배터리/위치정보 사례을 사용하여 실습함

CHAPTER 8 테스트
- 플러터에서 제공하는 테스트 도구에 대해 알아보고, 각각의 테스트을 실습함

책의 목차은 총 8개의 챕터로 나누어져 있으며 기존 앱 개발에 사용되는 자바/코틀린, Object C/Swift와는 다르게 Dart라는 언어를 사용하는 플러터이기 때문에 언어에 대해 소개하는 챕터가 따로 나누어져 있음을 볼 수 있으며 서버와 통신하기 위한 네트워크 통신 프로그래밍 등 다양한 실습을 통해 직접 앱을 개발할 수 있게 구성되어 있다.

 

느낀 점


나는 학부 3학년 때 모바일 프로젝트 수업을 통해 안드로이드 앱을  개발해 본 적이 있다. 당시 Java을 사용하여 개발해본 만큼 Java가 아닌 다른 언어로 안드로이드 앱을 만든다는 것에 대해 많이 낯설었다. 또한 C와 Java, Python까지 다양한 언어를 사용해본 경험이 있어 이 책을 읽으면서 코드는 물론 안드로이드 스튜디오 사용법 및 Dart언어를 빠르게 습득할 수 있었고, 실습 또한 쉽게 따라 할 수 있었다.

 

예상 독자


책 제목에서 알 수 있듯이 초보자도 플러터를 사용하여 쉽게 앱을 개발할 수 있도록 알찬 구성으로 되어 있다. 

책을 보며 가장 놀라웠던 점은 공공데이터 API을 사용하여 JSON타입의 데이터를 파싱 하여 직접 실습까지 하는 과정이 있어서 놀라웠다.

 

하지만 단 한 번도 프로그래밍을 해본 적이 없는 사람이 이 책을 통해 Dart라는 언어를 배우고 첫 앱을 개발한다면 추천을 해주기는 어려울 거 같다.

왜냐하면 언어에 대한 설명은 있지만 다소 부족한 부분이 있기 때문이다.
(단, 모바일 프로그래밍에 반드시 필요한 부분은 작성되어 있다.)

 

직접 책을 읽으며 추천하는 예상 독자는 다음과 같다.

1. C나 Python, Java와 같은 기초 프로그래밍 학습이 되어 있는 사람
2. 자바나 코틀린이 아닌 언어로 모바일 앱을 개발하고 싶은 사람
3. 플러터를 사용하여 크로프 플랫폼 앱을 개발하고 싶은 사람 

 

<본 글은 한빛미디어 측의 "나는 리뷰어다" 프로그램을 통해 무상으로 제공받아 작성한 글입니다.> 

회사에서 주는 월급으로는 풍족한 생활을 영위하지 못하는 시대, 

유튜버를 하기에는 재치가 약하고, 

다른 아르바이트를 하기에는 몸이 피곤하다면, 

앱 개발로 부업을 하고 싶은데, 프로그래밍이 너무 어렵다 하는 당신에게 추천하고 싶은 책.

 

프로그래밍 언어를 몰라도 책을 하나하나 따라가다보면 나만의 앱을 만들 수 있습니다. 

단독실행형 앱 뿐만 아니라, HTTP/JSON 통신으로 서버연동형 앱도 개발 할 수 있습니다. 

 

 

JAVA , 리액트 등 좀 어려운 언어를 공부하지 않고, 쉽게 앱을 만들 수 있도록 해준다.

 

다 읽고 났더니, 아이들이  앱을 쉽게 직접 만들어 볼 수 있도록 해주는 책으로 판단된다.

간단한 예제들이 많이 있어 더 그렇다~

나도 이제 앱 개발자~

개인적으로 내가 앱을 만들 수 있다는 게 가장 신난다~~

 

대상 독자?

C나 파이썬 기초 프로그래밍 기본 지식이 있는 대상으로 합니다.

기초가 없다면?

서점에 가서 파이썬 기초 책 1권 사세요~

요즘 파이썬은 기본^^

 

2

전체 구성?

플러터의 기본 개념이 나오고

모바일 프로그래밍을 하기 위해 다트라는 언어를 배운다.(파이썬처럼 쉽다 ~)

간단한 애플리케이션을 하나씩 만드는 순서로 되어 있다.

 

저자가 책을 집필한 것은 20년 2월이고, 이 책을 읽게된것은 21년 3월이다. 여타의 서적에서 1년은 짧다면 짧은 시간이겠지만 IT분야에서의 1년은 결코 짧지 많은 않다.
책에서 소개하고 있는 flutter 안정버전은 1.12.13에서 2.0.1(2.0.0 발표 하루만에 minor수을 포함함 2.0.1 발표)으로 변경되었으며, 다트(Dart) 언어 버전은는 2.0에서 2.12로 변경되었다. 찬밥 신세(?)의 다트 언어가 나온지 10년이 되지 않았으니 정말 빠른 변화이다.
 

history_of_flutter_and_dart.jpg

 

 
이런 빠른 변화에 발맞추어 안드로이드와 아이폰에서 동작하는 앱을 구현하고자 한다면 Flutter는 좋은 선택이다. 저자가 책 서두에서 이야기 했듯이 Flutter 공식 홈페이지에 있는 예제등 활용할 자료는 많지만 빠르고 변화하고 있는 시대에 Flutter 선배의 경험이 녹아있는 지식을 빠르게 배울 수 있다면 더할나위 없이 좋은 선택이 될것이다.
리뷰를 쓰고 있는 나는 안드로이드와 아이폰과는 거리가 먼 협업 개발자이다. 동료가 얼마전(?) 아마 21년 2월로 기억한다. (동료는 회사를 다니며 창업을 준비중이며, 안드로이드/아이폰에서 구동되는 앱이 필요함.) Swift가 좋다며 매번 이야기 하다 이번엔 화제를 Flutter로 돌렸다. Flutter가 좋다며, 한번 써보라고 권해 주어…
일단, 이 책은 'C 또는 파이썬'의 기초 프로그래밍 경험이 있는 대상으로 하며, 자바 또는 자바스크립트 개발자가 쉽게 배울 수 있다. 즉, 바꿔말하면 어떠한(?) 프로그래밍 경험이라도 있다면 아주 쉽고 빠르게 Flutter와 Dart를 이용해서 앱을 개발할 수 있다. 안드로이드 초창기에 오!직! 자바 프로그래밍으로 힘들게 경험했던 과거(?)에 비해 정말 좋은 환경이 아닐 수 없다. 앱 개발많이 아니라 최근에는 웹(그리고 WebAssembly등)등에도 활용가능하다고 하니 이번 기회에 이 서적을 통해 빠르게 학습하여 활용도를 고민해 보는 것도 좋을 듯 하다.
난이도가 그다지 높지 않다는 Flutter와 다트의 특징(?)이 아니라 저자는 군더더기 없이 깔끔하게 주요 용어 및 개념에 대해 설명해 주며, 초심자가 자칫 실수하거나 놓칠만한 포인트를 잘 알려 주고 있다.
저자의 또다른(아마 다음번에는 좀더 활용도가 높거나 중/고급 이상대상) 서적이 빨리 나오길 기대하며 리뷰를 끝마칠까 한다.

일단 책 표지는 이렇고...
 
개인적으로 앱 하나를 만드는 프로젝트를 진행 하려 하는데 하는김에 안드로이드와 아이폰 모두 해볼까 해서 플루터에 관심을 두고 있었다.
온라인 자료만으로 해도 되지만 잘 정리된 책 하나 보면서 천천히 해볼까 해서 책을 하나 구매 하였다.
플러터 인 액션....같은 한빛에서 나온거....
그리고 책장에 고이고이 모셔둔지 2~3주가 되어갈 무렵 이 책이 리뷰할 책으로 나에게 왔다.
 
리뷰라는 강제성이 주어지니 아무래도 책장이 잘 넘어 간다.....( 이 무슨... )
 
일단 책 두께가 얇다!
IT서적인데 얇다니 이 얼마나 만만해 보이는가 ㅋㅋㅋ
 
전체적인 평은 일단 쉽다! 이다.
정말 말 그대로 플러터를 처음 접하는 기존 개발자나 새로 배우려는 사람 모두에게 쉬운편이라 생각한다.
쓸데없이 장황 하지도 않고 간결하게 필요한 내용만 잘 전달 해주려 한다는 느낌이다.
 
그러면서도 앱 개발에 필수적인 항목들도 놓치지않으려 한거 같다는 느낌이다.
물론 이런 기술서적이 공식 레퍼런스들을 기반으로 쓰여지는것이긴 하지만 뭔가 적절한 벨런스를 잡았다는 생각이 드는 책이다.
 
가볍게 읽고 참고 하면서 개인 프로젝트를 진행 해 나가야겠다.(과연? 언제?)

 

KakaoTalk_20200503_235551070.jpg

 

 

처음 배우는 플러터는 현재(205) 국내에 딱 2권 있는 구글의 Flutter와 Dart 언어를 다루고 있는 책입니다.

 

책 제목처럼 UI 프레임워크인 Flutter를 처음 배우는 개발자를 위한 기초 입문서입니다.

 

개발 환경설정부터 모바일 애플리케이션 개발을 위한 Flutter의 기본 개념위젯 사용법, 안드로이드 채널 프로그래밍, 테스트도구 등에 대해 배웁니다.

 

Flutter앱은 Dart라는 언어로 작성합니다. 모바일 프로그래밍을 위해서 Dart 언어의 문법, 기본 자료구조, 표준 라이브러리에 대해 자세히 배웁니다. (실제 문법을 보시면 Java랑 거의 똑같습니다.)

 

책이 243 페이지로 주제에 대한 긴 설명은 생략된 경우가 많으므로 실전 프로그래밍 경험이 있는 개발자를 대상으로 합니다.

 

참고로 원활한 학습을 위해 아래의 기초 지식이 필요합니다.

 

1. Java, JavaScript 같은 언어를 알고 있으면 좋습니다. 특히 객체지향 언어에 대한 지식이 있어야 합니다. , 소스 코드가 많아서 소스를 읽고 이해하는 능력이 필수입니다.

 

2. 본 서적은 예제 설명을 위해 Flutter 공식 개발 툴인 안드로이드 스튜디오를 기본 IDE로 사용합니다. 설치 후 사용법을 익혀 놓아야합니다. (에디터에 소스를 입력하고 RUN 할 수 있는 정도면 충분합니다.)

 

책은 심플하게 3가지로 주제로 나누어져 있습니다. 먼저 Flutter의 기본 개념부터 익힙니다. 그리고 모바일 프로그래밍을 위해 Dart 언어를 학습합니다. 마지막으로 소규모 모바일앱을 직접 만들 수 있도록 구성되어 있습니다.

 

조금 자세히 살펴보면, 8장으로 구성되어 있습니다.

 

1장에서는 Flutter가 무엇이고 기존의 경쟁 크로스 플랫폼인 자마린과 리액트 네이티브와 비교한 장단점에 대해서 배웁니다.

먼저 개발환경 구축을 위해 SDK, 안드로이드 스튜디오를 스크린샷을 보면서 설치합니다.

 

2장에서는 Flutter를 이용하면 앱을 얼마나 쉽게 만들 수 있는지 예제를 통해 확인합니다. 안드로이드 가상 디바이스에 ‘Hello Flutter’을 출력해보고 Flutter 개발의 핵심인 위젯의 개념을 잡고, Stateful 웨젯의 생명주기에 대해 학습합니다.

 

3장은 Dart에 대해서 배웁니다. 일반 프로그래밍 언어를 배울 때처럼 주석 추가, 데이터 타입, 연산자, 조건문, 반복문, 함수, 객체, 자료구조 등을 살펴봅니다.

 

4장에서 정말 본격적으로 Flutter의 핵심이 나옵니다. Flutter는 UI 프레임워크이므로 화면을 구성하는 레이아웃과 위젯을 잘 이해하고 다룰 줄 알아야 합니다.

 

Text, Image, RaisedButton, Container, Row, Column, ListView,MaterialApp, Scaffold 위젯의 개념을 이해하고 예제를 통해 사용 방법을 익힙니다. 4장부터는  안드로이드 스튜디오에서 소스를 직접 따라 입력해야 Flutter에 빨리 익숙해 질 수 있습니다.

 

4장까지는 하나의 화면(페이지)에 위젯 등을 추가해서 개발을 했는데, 5장에서는  여러 가지 페이지를 만들고 화면을 이동하는 방법에 대해서 배웁니다.

새로운 화면으로 이동하기 위해 Navigatorroutes 그리고 자료구조인 스택에 대해서 학습합니다.

 

6장에선 네트워크에 연결된 상태의 앱(웹 서비스)을 구현하기 위해 비동기 HTTP 호출 방법과 공공 API에서 자주 사용되는 json 데이터의 파싱 방법 등에 대해서 배웁니다.

 

이상으로 이 책의 핵심 내용을 살펴보았습니다.

 

책에서도 강조했지만 Flutter는 위젯이 전부라고 해도 과언이 아닐 정도로 위젯을 잘 이해하고 활용하는 것이 중요합니다.

 

아쉽게도 본 서적은 지면상 앱을 구성하는 레이아웃과 기본적인 위젯(Text, Image, Button )에 대해서만 다루고 있습니다.

 

좀 더나은 실전 개발을 위해서는 Flutter 공식 홈페이지에서 별도로 다양한 위젯에 대해 공부를 해야 할것입니다.

 

#플러터

#Flutter

#다트

#Dart

#한빛미디어

 

App 개발자가 아니다보니

App을 만드는 것에 부담이 있고

더군다나 App을 Android와 IOS 두 종류를 만들어야 하는데...

 

상황이 이렇다 보니, 그나마 만들기에 제약이 덜한

Android App을 먼저 만드는 선택을 하게 되는 듯 하다.

 

하지만, 이젠 그럴 필요가 없을 듯 하다.

한 번의 프로그래밍으로 두 가지 종류의 App을 만들어 낼 수 있게 되었으니...

그것이 바로 플러터다.

 

 

처음배우는플러터.jpg

 

 

물론, 이러한 크로스 플랫폼 기술이 처음 나온 것이 아니지만

이미 나와있는 기술들보다 훨씬 빠른 성능을 보인다니

이왕 크로스 플랫폼 기술을 배워볼꺼라면

플로터를 적극 추천해본다.

 

플로터는 다트라는 언어를 사용하여 App을 만드는데

프로그래밍을 하지 않은 사람에게나

프로그래밍을 해본 사람에게나

그렇게 큰 부담이 되지 않을 듯 하다.

 

물론, 프로그래밍을 해보고

거기에 C나 JAVA를 해봤다면

거기에 "처음 배우는 플로터" 책과 함께 한다면

이건 땅 짚고 헤엄치는 격 정도로 쉬워질 듯 하다.

 

 

기본적인 다트의 문법들을 소개해주고

플로터의 기본인 여러가지의 위젯들과 화면 구성법등

App이라면 당연히 가지고 있는 것들을

만들 수 있는 요소들만 쏙쏙 뽑아서 정리해준다.

 

더불어 요즘 가장 많이 사용되는

JSON을 사용하는 방법과 공공API까지 접목할 수 있게해주니

크로스 플랫폼 기술도 배우고

다트 언어도 익히며

원하는 App의 기본은 만들기에 충분해지니

1석 3조를 이루기에 부족함이 없을 듯 하다.

 

처음 배우는 플러터.

갓템이다...!!!

 

11.jpg

 

이번 한빛미디어 리뷰단을 통해 온 책은 처음배우는 플러터이다

 

대상 : 정말 처음 플러터를 배우고 관심있는 사람

작년부터해서 크로스플랫폼으로 리엑트네이티브가 아닌 플러터가 뜨는 것을 보고

그리고 구글에서 제작한 것을 알고 관심을 가지고 있었는데

이번 기회에 책으로 공부하게 되었다.

가장 기본인 인스톨부터 기본적인 앱 띄우기, dart에대한 간단한 설명 등

제목 그대로 '처음 배우는 플러터'에 충실한 책이었다.

급성장하고 있고 쉽게 ios, android 추후에는 웹과 데스크탑용도 노리고 있으니

기대해 볼 만 한것 같다.

첫 테스트앱의 패키지 구조와 기능 설명 등을 위주로 하고 있으

최대한 놓치지않고 설명하려는 느낌을 받을 수 있었다.

이 책을 시작하는 책으로 딛고 플러터를 더 공부하면 좋을 것 같다.

 

22.jpg

 

 

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

 

 

 

 

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

 

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

 

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

 

 

책은 1장에서 플러터를 소개하고,  2장에서 일단 플러터 앱부터 만들게 한다. 사실 언어 관련 책을 보면 지루한 문법 소개들부터 나와 좀 머리가 아픈데, 그런 사람들에게 일단 지루하지 않게 앱부터 만들어보게 시킨다.그다음에 3장에서 플러터 프레임워크가 사용하는 다트 언어를 소개한다. 다행히 잘 안 쓰는 고루한 연산자 등등 정보는 빼고 친숙하고 자주 쓰이는 내용들 위주로 소개한다. 다른 언어들과의 비교도 해줘서 더 잘 와 닿는다. 4장이 되면 플러터의 핵심인 위젯을 소개한다. 그리고 지치지 않게 화면 이동과 상태 관리하고, 바로 공공 API와 연동해서 데이터를 가져오는 실습을 해보게 한다. 사실 대부분  챕터에 관심을 가질 것이다.  책에서는 서울시에서 제공하는 '지하철 실시간 도착정보'를 활용해서 UI가 있는 앱을 개발하는 실습 과정을 제공한다. 역시  생활에  와닿는 예제를 해야 관심도 생기고 재미도 있다. 또한 안드로이드에서 배터리 정보 등을 가져오는 예제도 소개한다. iOS에서 가져오는 법도 알려주셨으면 하는 아쉬움이 살짝 들었지만 국내 모바일 플랫폼 시장 점유율을 생각해보니 저자도 나름 고민하다 안 넣었을 거란 결론을 내렸다. 

 

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

 

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

 

추가적으로 관심이 있다면 저자가 책에서 알려주는 플러터 단체 카톡방(https://open.kakao.com/o/gsshoXJ )이나 국내 페이스북 개발자 그룹(https://www.facebook.com/groups/flutterkorea )에 참여해보는 것도 좋을 것 같다. 


 

unnamed.jpg

 

앱 개발을 목표로 공부하는 사람이 아니라 크게 와닿지는 않았지만

 

앱도 웹과 밀접한 관련이 있기때문에 어느정도 관련된 내용이 도움이 되고 공부가 되었습니다.

 

그리고 다트라는 언어를 새롭게 익히면서 플러터의 라이벌 격인 리액트 네이티브와 비교하며

 

관심을 가지고 있는 HTTP/JSON 부분 쪽이 제가 공부한 쪽과 잘 맞아서 책에게 많이 도움을 받았습니다.

 

앞으로 만약 앱쪽에 관심을 가지게 된다면 많이 힘이 될거같습니다.

[크기변환]KakaoTalk_20200430_205025681.jpg

 

다른 입문서와 마찬가지로 개발환경의 설정과 실행방법을 친절히 설명해 주며. 다음은 생소할 수 있는 개발언어인 '다트'에 대해 짧지도 그렇다고 길지도 않게 예제하 함께 기술되어 기초적인 학습를 마칠 수 있다. 그럼 책의 중반까지 진도가 진행 될것이다. 금방 읽힌다!

이어 레이아웃과 위젯에 대한 학습을 할 수 있도록 코드와 결과화면 으로 쉽게 설명 되어있고 중반부에서는  

앱에서 가장 많이 활용되고 사용되는 내용으로 서버 혹은 서비스와 연동하는 부분인데 바로  비동기 HTTP 호출, JSON 데이터 파싱, 공공 API 연동하는 방법에 대한 예과 예제와 함께 상세히 설명되어있다. 

후반부 에는 안드로이드와 iOS의 기기 정보를 얻기위한 방법인 채널에 대한 사용방법을  아래와 같은 예제로 설명된다. 
① 간단히 접해볼 수 있는 배터리정보를 얻어오는 예 
② 좀 깊이있는 예로 위치정보를 통한 예제. 
플로터를 처음 시작하는 입문자로서는 플로터의 모든것을 다 습득한 느낌을 받을 수 있으리라 생각된다. 

다만 Chart나 Grid 와같은 설명이 없는게 가장 큰 아쉬움! 이역시 앱에서 가장 많이 사용되는 레이아웃 위젯들 인데... 


 

플러터1.jpeg

 


스마트폰이 등장하면서 개발자의 종류도 많아졌습니다.


안드로이드 개발자와 아이폰 개발자도 그중 하나입니다.


스마트폰이 나오기 전에는 두 개발은 없었지만 나온 후에는 구인·구직에 많이 보입니다.


안드로이드 개발과 아이폰 개발은 구현되는 언어가 다릅니다.


안드로이드는 자바와 코틀린으로 쓰고 아이폰은 스위프트로 개발합니다.


또한 등록을 시키는데도 안드로이드는 빠르지만 아이폰은 절차가 좀 더 까다로운 점도 있습니다.


그러한 점이 있지만, 한가지 언어로 두 가지 앱을 만들 수 있다면 그 부분은 정말 매력적입니다.


그런 매력적인 책이 나와 소개하고자 합니다.


책 제목은 ‘처음 배우는 플러터’입니다.


모바일 앱을 개발하려 한다면 플러터로 해보는 것도 좋은 전략이라 볼 수 있습니다.


 

플러터2.jpeg

 


 


◆ 플러터로 어떤 개발을 하는가?

이 책에서 플러터로 공공 API를 실습하는 것까지 진행합니다.


앱 개발을 배우면 보통 시작은 인사로 시작하게 됩니다.


이 책도 “Hello Flutter’ 프로젝트를 생성하는 것부터 배웁니다.


프로젝트를 생성한 후에는 프로젝트의 구성요소와 위젯의 개념들도 알려줍니다.


그다음에는 앱의 레이아웃과 화면 이동하는 것까지 차례대로 기초적인 것을 배우게 됩니다.


또한 플로터를 쓰기 위해서는 다트 언어를 사용하기에 다트 언어에 대한 것도 한 챕터로 구성되어 있습니다.


앱 개발 인문서로 이 책의 목적지는 공공 API를 연동하는 것입니다.


공공 API 예제를 통해 앱이 흘러가는 동작을 이해할 수 있습니다.


예제의 핵심적인 것은 HTTP와 JSON이 중요합니다.


중요한 이유는 통신이 되어야 공공 API에 접근할 수 있기 때문입니다.


여기서는 지하철 교통정보를 표시하는 앱으로 실습합니다.


 

플러터3.jpeg

 


 


◆ 플러터는 무엇인가?

플러터는 안드로이드와 아이폰 앱 개발을 동시에 개발 할 수 있습니다.


한가지 코드로 동시에 개발이 가능한 것입니다.


크로스 플랫폼은 한가지 소스 코드로 둘 이상의 플랫폼을 지원이 가능합니다.


두 가지 언어를 배우려면 시간이 오래 걸리겠지만 한 가지만 배우면 되기에 시간을 단축해줄 겁니다.


또 하나의 장점이 있습니다.


크로스 플랫폼이기에 가능한 장점인데요.

앱을 개발 후에 수정하려면 각각 수정을 해줬어야 했습니다.


하지만 코드가 하나이기 때문에 한 개만 수정하면 플랫폼에 알아서 적용되게 됩니다.


플러터는 다트라는 언어를 사용합니다.


다트는 구글이 자바스크립트를 대체하기 위해 개발된 언어입니다.


자바스크립트를 대체하진 못했지만, 다트를 통해 모바일 앱 개발이 가능했습니다.


다트 언어는 프로그래밍 언어를 배운 적이 있다면 따라오기 쉬울 것으로 보입니다.


끝으로 이 책은 플러터 입문용 책입니다.


공공 API 사용법과 채널 프로그래밍도 알려줍니다.


안드로이드와 iOS 앱을 동시에 플러터로 어떻게 개발하는지 감을 잡을 수 있습니다.


책을 한 권 다 읽다 보면 플러터에 대한 입문 지식을 쌓을 수 있을 겁니다.


플러터를 입문하고 싶은 분들께 이 책을 추천합니다.


 

플러터1.jpeg

 

 

1. 간략 정리

크로스 플랫폼 플러터의 기초를 잡아주는 책

  • IOS와 안드로이드 둘다 출시할 수 있는 플러터의 기본을 잘 설명한다.
  • 주제에 따라서 깊은 내용을 포함하므로 이해가 안될때는 스킵해도 될 듯하다.
  • 플러터가 궁금한 개발자

2. 느낀 점

새로운 언어, 다트! 그리고 구글이 밀고 있는 크로스 플랫폼 플러터에 대해서 입문할 수 있다.

얇지만 알차게 설명한다!

 

너무 두껍지도 않게 플러터의 핵심을 간결하고 이해하기 쉽고 핸즈온 할 수 있도록 잘 설명하고 있다.

일단 이책으로 기본기를 닦고 나머지 부분은 중급서를 찾아보는 것이 좋을 듯 하다.

하지만 이책으로도 플로터는 이런식으로 돌아가는구나 라고 이해할 수 있다.

 

3. 좋았던 점

원리를 설명해 줘요!

처음의 읽기 힘든 고비(?)를 넘긴다면, 이 책은 원리를 풀어서 설명해 주기 때문에 생각보다 많은 도움이 된다.

4. 보완할 점

맥에 대한 실습도 알려줘요!!

맥에 대한 실습 환경에 대해서 설명해 줬으면 하는 아쉬움이 있다. (난 맥유저 이므로)

 

5. 정리

현재 우리는 웹에서 앱으로 비즈니스 트렌드가 이동해 있다.

그런 의미에서 안드로이드나 IOS 네이티브를 따로 익히는 것보다는 크로스 플랫폼인 플러터를 이용해서 양쪽 플랫폼을 만족시키는 것이 생산성 부분에서 좋을 듯 하다.

flutter.png

 

 

책을 읽으면서 안드로이드와 아이폰 앱개발을 위해 2가지를 배워야 되나 고민한다면 Flutter를 고려해볼만 하다는 생각이 들었습니다.
둘 다 개발할 수 있는 방법으로는 폰갭이나 프로그레시브웹앱 등 다른 방법도 있지만, Flutter는 구글의 전폭적인 지원으로 미래도 밝기 때문입니다. 
 
또한 플러터를 통해 dart라는 새로운 언어도 공부해볼 수 있으며, JAVA나 C++ 등 하나 이상의 언어를 써본 사람은 쉽게 느껴질 수도 있을 것 같습니다.
 
책에서는 Dart 언어에 대해 기본적인 것만 설명을 해주지만 그 것만으로도 초보자가 간단한 앱을 만드는데는 지장이 없어 보였습니다.
그리고 기존 안드로이드는 빌드하고 설치해서 화면에서 확인해보는데 시간이 오래걸렸지만 플러터는 웹을 수정하듯이 저장하면 바로 화면에서 확인할 수 있는게 또하나의 매력인것 같습니다.
 
책에 코드는 하나하나 잘 따라하면 동작하는데 크게 무리가 없었고, 제목 그대로 '처음 배우는 플러터'이기 때문에 많은 내용을 다루고 있지는 않습니다.
 
그게 좀 아쉽긴 했지만, 플러터 책이 많지 않은 지금 이 입문서를 시작으로 하여 나머진 인터넷을 통해 충분히 공부가 가능할 것 같습니다.

 

한빛 미디어 처음 배우는 플러터

 

오늘은 한빛 미디어에서 출판한 처음 배우는 플러터의 책을 리뷰하려고 합니다.

제가 처음 배우는 플러터 라는 책을 선택하게 된 이유는 크로스 플랫폼 애플리케이션 개발이라는 문구에 끌려서 였습니다.

크로스 플랫폼이란 한가지 소스 코드를 가지고 여러가지 다양한 플랫폼을 지원한다는 내용입니다.

예전에 제가 프로젝트 수행 할때 같은 C언어로 프로젝트를 수행해도 윈도우즈에서 구동시키는 프로그램 소스코드를 개발 후에 다시 유닉스에서 똑같이 구동하는 프로그램을 만들기 위해서는 유닉스 환경에 맞춰서 한땀 한땀 소스 코드를 수정해 주고는 했던 기억이 나네요.

이렇게 OS에 종속적인 언어들을 유지 보수 하기 위해서는 똑같은 곳을 수정하기 위해서는 두가지 모두를 수정해야 되기 때문에 관리하기가 쉽지 않은 부분이 있었습니다.

이러한 부분을 JAVA와 같이 플랫폼 위에서 동작하는 언어로 구현하게 되면 자바 플랫폼이 설치 되는 OS라면 하나의 소스코드로 모두 구동이 되니 유지보수 측면에서 획기적이지 않았나 싶네요.

이러한 크로스 플랫폼의 장점은 이렇게 유지보수가 편리한 반면에 단점은 플랫폼에서 제공해 주는 기능들만 사용할수 있다는 점이고 새로운 기능을 추가하기에는 더 많은 수고스러움이 뒤따른 다는 점입니다.

그래서 이러한 플랫폼을 사용할때는 안정화 되기 이전에 사용하기에는 많은 어려움이 있습니다.

사실 이 책을 선택하게 된 이유는 플러터 라는 언어가 생소해서 어떤 내용인지 궁금해서 읽어 보게 된 경우인데요.

이 플러터(Flutter)라는 언어는 구글에서 만든 안드로이드와 iOS 모바일 애플리케이션을 개발 할 수 있는 UI 프레임워크입니다.

즉 기존에 앱 프로그램을 만들때 iOS와 안드로이드 용 두가지 버젼을 관리해야 했다고 하면 이젠 플러터 하나의 소스코드를 가지고 iOS와 안드로이드 두가지 앱프로그램을 만들 수 있다는 것입니다.

여기서 플러터(Flutter)의 태생이 흥미로운데요. 바로 구글이 부모라는 점이네요.

어떤 플랫폼이 계속해서 성장을 할것인지 혹은 성장을 하다가 멈출것인지는 부모의 역할도 중요한데...

플러터는 든든한 배경을 가지고 태어난 귀족 같은 느낌이네요. 

또한 플러터는 다트라는 언어를 사용하고 있는데요.

다트(dart)는 웹에 도입하기 위해 나온 언어이지만 지지 부진 하면서 2018년에는 최악의 언어로 꼽힐 정도였는데요.

이 책을 읽으면서 다트(dart) 언어를 사용해 보았는데 왜 이렇게 최악의 언어가 되었는지 모르겠더라구요.

일단 이 책을 읽으면서 테스트를 해 본 중에 가장 기억에 남는 것은 바로 이 장면입니다.

 

소스코드 수정후 CTRL+S 로 저장후 바로 에뮬레이터에 실행 되는 모습

 

일반적으로 안드로이드 프로그래밍을 할때 소스 변경 후에 재 실행 하면 소스코드가 에뮬레이터에 적용되는 시간은 빠른 시스템이라고 해도 적어도 수십초 늦으면 몇분이 걸리게 됩니다.

따라서 안드로이드 앱 프로그래밍을 할때 에뮬레이터 보다는 실제 스마트폰을 이용해서 개발하는것이 조금은 수명을 늘려 주게 되는데요.

이 플러터(Flutter)을 사용하니 소스코드에서 변경 후 저장 버튼 하나로 바로 에뮬레이터에 적용 되는 것을 보고 깜짝 놀랐네요.

그리고 Dart 프로그래밍 언어도 살펴 보면 다음과 같습니다.

 

 

안드로이드 스튜디오에서 실행 된 모습인데요~

C언어에서 main() 을 찾아서 실행을 시킨다면

Dart 언어에서도 역시 main() 이 처음 실행 되는 위치입니다.

그리고 언어에서 main() -> runApp()->MatrialApp()->Scaffold -> AppBar( 또는 body) 의 앱 기본 구조만 알고 있으면 앱 프로그램을 만드는데 어렵지는 않을것 같네요.

또한 이 책에 있는 소스는 깃허브(https://github.com/yudong80/flutter_programming) 에서도 제공을 하고 있습니다.

개념을 이해 하기에는 소스코드를 직접 실행해 보면서 개념 잡기에 좋을것 같네요.

다트 언어 역시 C언어나 다른 언어를 배우신 분이시라면 비슷한 문법으로 그렇게 어렵지 않게 접근 하실 수가 있을것 같은데요.

이러한 플러터는 2018년에 태어나서 2살이 조금 넘었는데 그동안 구글의 전폭적인 지원을 받아 벌써 V1.12 버젼까지 출시 되면서 지속적으로 기능이 추가 되고 안정화 되고 있다는 점입니다.

이러한 매력적인 플러터(Flutter)를 배우고 싶으신 분이시라면

처음 배우는 플러터(한빛미디어 : https://www.hanbit.co.kr/store/books/look.php?p_code=B8753032429) 를 가지고 배우신다면 처음 플러터 설치 환경 부터 다트 언어의 문법 과 지하철 공공 API 를 이용한 앱 프로그래밍까지 친절한 설명으로 자세히 배우실 수 있을것 같네요.

최근에 React 기반의

홈페이지 제작에 관심이 있어서 살펴보다가

React Native를 알게 되었었다

 

안드로이드 앱개발과 iOS 앱개발을

한 방에 할 수 있다는~~~

 

그러다가 우연히

Flutter(플러터)

이야기를 듣게 되었고

 

최종적으로

플러터를 공부하기로 마음먹고

설치부터 공부하던 와중에...

 

 

집에 도착하게 된 책

 

 

 

우와~~~ 타이밍 정말 구우우우웃~~~~!!!

 

 

 

 

Flutter 개발 환경 구축은 아래 링크를 참조하기 바란다.

 

https://www.whatwant.com/entry/Flutter-Install-Flutter-설치하기-Windows

 

 

 

책을 받기 전에 이미 진행했던 내용인데...

책을 먼저 받아보았다면

조금 더 편하게 진행할 수 있었을텐데...

 

 

 

최근 많은 인기를 얻고 있는 Flutter 이다보니

구글링을 하면

많은 좋은 포스팅 및 동영상 강좌를 찾아볼 수 있다.

 

 

나도 그렇게 찾아서 하나씩

공부를 해보고자 하였으나

구글링을 통한 학습은

꼼꼼히 공부하기는 쉽지 않았다.

 

 

그러다가 받게된 "처음 배우는 플러터"라는 책은

정말 가뭄의 단비와 같이

알고 싶었던 내용들을 잘 설명해주었다.

 

 

 

플러터라는 언어에 대한 충분한 소개가 너무 좋았다.

 

구조가 어떻게 되어있고

다른 경쟁 도구(?)인 자마린이나 React Native 등과의 비교도 좋았다.

 

 

플러터 프로젝트에서 보이는 폴더들에 대한

설명도 꼼꼼하게 해주어서 정말 정말 좋았다.

 

 

 

 

 

 

각주를 보면 "합니다"로 하다가 "한다"로 변하는 과정을 보면서

인간적인 면(?)을 보여주기도.... ^^

 

 

책이 아직은 조금 다듬어지지 않은 부분이 보이긴 하지만

내용 자체가

기본적인 부분에서 너무 충실하기에

그냥 웃으며 넘어갈 수 있을 것 같다.

 

 

 

책 제목 그대로 처음 입문하는 용도로는 너무나 좋은 책이다.

 

이 책을 통해서 기본적인 사항에 대해서

파악한 뒤에

 

구글링 또는 유튜브 검색을 통해서

다른 좋은 자료들을 찾아서

원하는 내용을 공부하면 충분할 것으로 보인다.

 

플러터?

플러터에 대한 지식이라고는 모바일 크로스 플랫폼 개발이 가능하고 dart라는 언어를 사용한다 정도로만 알고 있었다.

무언가 더 있을거라고 생각하신 분들도 계시겠지만 책을 정주행 한 지금은 약간 추가하여 모바일 크로스 플랫폼 개발 UI 프레임워크 라는 정도까지 알게 되었다.

거기에 더하여 플러터에 대한 개념, 구조, 구성, 간단한 예제를 통한 개발 방법테스트 방법 등을 배울 수 있었다.

리액트 네이티브를 접해보지 못하여 플러터가 나은지 리액트 네이티브가 나은지는 잘 모르겠다.

플러터 입문을 위한 넓고 얕은 내용

솔직하게 플러터에 대한 책이라고는 국내 도서 검색 결과로는 처음 배우는 플러터와 오준석의 플러터 생존 코딩 두 가지 도서 밖에 없는 상황이고 둘 다 읽어본 것은 아니므로 비교분석은 불가능하다.

그렇지만 목차만 보고 처음 배우는 플러터를 정주행한 입장으로써 책에 대한 느낌을 묘사하자면 지대넓얕을 패러디한 '플러터 입문을 위한 넓고 얕은 내용'정도로 요약되겠다. 정말 플러터에 대한 개념부터 테스트까지 전체적인 큰 그림을 얕게 그려주기 때문이다.

사실 책 제목만 보더라도 딱 입문용 느낌이고 부제만 보더라도 '예제로 배우는' 이므로 다들 예측은 했을거라 생각한다.

그럼에도 불구하고 책이 2종류 뿐이고 목차를 비교해 보았을 때 오준석의 플러터 생존 코딩은 토이 프로젝트 위주로 되어있어 공부한 내용으로 무언가를 만들어보는 연습을 할 때 도움이 될 것 같았다. 반면 처음 배우는 플러터는 기본 개념부터 플러터에 대한 전반적인 설명과 예제를 통한 학습이 가능하다는 점, 그리고 테스트까지 전반적으로 다루는 점이 마음에 들었다.

플러터가 무엇인지 궁금하고 기초적인 부분부터 학습하고자 한다면 처음 배우는 플러터를 추천하고 싶다.

오준석의 플러터 생존코딩을 읽어보지 않고 이런 말을 하는 것도 웃기다고 생각할지 모르지만 알라딘 리뷰를 보면 별로라고 생각된다.( 물론 직접 정주행 해봐야 정확한 비교분석이 가능하지만 말이다. )

읽기 전 권장사항

처음 배우는 플러터는 다른 언어를 접해보았고 기본적인 문법, 자료구조에 대한 이해가 있어야 한다고 생각한다. 그래야 플러터라는 주제에 초점을 맞추어서 학습할 수 있기 때문이다.

추천하는 이유

예제로 배우는 이라는 부제처럼 하나하나 개념을 설명하고 예제로 학습하고 소스코드에 대한 해설까지 해주는 점이 괜찮았다. 또한 예제 중심의 책들이 실제로 해보면 코드가 안 돌아가거나 오류가 생기거나 하는 경우가 많은데 이 책은 거의 없었다.

말 그대로 개념을 읽고 이해한 다음 바로 예제로 학습하면서 구조를 익히는 방식이다. 이렇게 하다보면 다음에 어떤 부분을 작성해야 할지 그리고 이 부분을 구현하려면 어떻게 해야 할지가 눈에 보이기 시작하면서 좀 더 흥미를 갖게 될 수도 있다.

단점이 없겠나

뭐 없을 수도 있다. 그러나 개인적으로 정주행하면서 불편했던 점을 공유하고자 한다.

앞에서 실습했던 것들에 대해서 다음에 할 때 앞부분의 이것까지 한 뒤 다음을 작성해라 라고 한마디만 해주어도 좋을 텐데 그런 말이 없어서 프로젝트 이름을 보고 코드를 보고 내용을 이해하고 선수 작업으로 무엇이 필요한지 생각하고 앞에 찾아가서 보고 해야 한다. 물론 이게 저자가 의도한 바이며 복습을 시키기 위함이라고 한다면 할 말은 없다.

끝으로

누군가에게 기대려는 마음이 탐탁치 않게 느껴지실 분들도 계시겠지만 개인적으로 출판사들은 아마존 리뷰 우수한 IT도서들에 대한 번역서를 빠르게 내주었으면 좋겠다.

예를 들면 Beginning App Development with Flutter: Create Cross-Platform Mobile Apps과 같은 책..

 

[한줄평]

플러터 기초를 탄탄하게 설명하는 책으로 추천


[목차구성]

CHAPTER 1 플러터 입문하기

CHAPTER 2 처음 만드는 플러터 앱

CHAPTER 3 다트 언어 소개

CHAPTER 4 레이아웃과 위젯

CHAPTER 5 화면 이동과 상태 관리

CHAPTER 6 HTTP/JSON 프로그래밍

CHAPTER 7 안드로이드 채널 프로그래밍

CHAPTER 8 테스트


[이 책의 특징]

  • 플러터의 기본 개념을 배울수 있음

  • 모바일 프로그래밍에 필요한 다트 언어를 배울수 있음

  • 소규모 모바일 애플리케이션을 만들어수 있음


[대상 독자]

  • 프로그래밍 기본 지식이 있는 독자

  • 안드로이드, IOS 개발을 한번에 해보고 싶은 개발자


[서평]

안드로이드, IOS를 한번에 해결 하려면 하이브리드앱 혹은 리액트 네이티브로 개발을 해야 한다. 하이브리드 앱은 제약 사항이 많아서 간단한 기능 정도만 사용을 하고 네이티브 같은 효과를 보려면 리액트로 개발을 해야 한다. 이번에 리액트를 대항마로 구글에서 플러터를 출시 했다. 이책으로 플러터를 공부하면 알면 알수록 매력이 있다. 우선 리액트(자바스크립트)와 달리 다트언어를 사용한다. 다트 언어가 자바스크립트와 파이썬의 장점을 합친 언어의 느낌을 받는다. 처음 시작하시는 분은 조금 어려울수도 있겠지만 다른 언어 자바스크립트, 파이썬, 자바를 접한 개발자라면 금방 배울수 있는 간편한 언어다. 책에서 다트의 기본 문법을 잘 설명 하고 있다. 플로터에 대한 기초 설명도 잘 될어 있다. 예시로 지하철 공공 API앱을 만들어 볼수 있다.

아쉬운점도 있다. 이책이 입문서라서 그런지 많은 부분을 다루지 않고 있다. 앱을 개발하면 필요한 푸시 알림이라던지 플러터 위젯을 좀더 다양하게 다루지 못한 것이 아쉬웠다. 



앱을 개발하면서 경험으로 프로그래밍 원리를 익히고 싶으신 분들에게 정말 좋을 것 같습니다. 왜냐하면 현대 프로그래밍 언어에서 필수로 다루고 있는 객체지향 프로그래밍과 비동기 프로그래밍의 기본 개념을 다루지만 함수형 프로그래밍과 스트림 API 에 대해 다루지는 않거든요. 즉 모바일 프로그래밍을 처음 시작하는 분에게 원하는 앱을 빠르게 개발하는 경험을 할 수 있는거죠. 

 

단순하지만 바로 실행할 수 있는 소스코드 예제를 제공하니 플러터를 이용한 앱 개발을 생각하시는 분은 부담없이 도전해보시기 바랍니다. 



결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 상품명 :
처음 배우는 플러터 : 예제로 배우는 크로스 플랫폼 애플리케이션 개발
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
처음 배우는 플러터 : 예제로 배우는 크로스 플랫폼 애플리케이션 개발
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
처음 배우는 플러터 : 예제로 배우는 크로스 플랫폼 애플리케이션 개발
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실

최근 본 상품1