부산사는신씨

프론트엔드 개발자의 Flutter 맛보기 본문

Flutter

프론트엔드 개발자의 Flutter 맛보기

부산사는신씨 2020. 8. 14. 17:59
오준석의 플러터 생존 코딩
국내도서
저자 : 오준석
출판 : 한빛미디어 2020.03.01
상세보기

 

"역시 네이티브가 답이야. 아냐 플러터가 좋은 것 같아."

첫 장에 있는 지은이 오준석 님의 글이다.

이 한 줄을 읽고 "아~" 하면서 공감을 할 수밖에 없었다.

나에게도 네이티브? 하이브리드? 고민을 했던 적이 여러 번 있었고 그럴 때마다 성능이 중요하지 않으니까 하이브리드로 개발해야겠다고 같은 생각을 했었다.

 

먼저 나의 소개를 하자면

나는 프런트엔드 개발자이다.

처음부터 프런트엔드 개발자는 아니었다.

필요에 의해 프런트엔드 개발자가 되었다고 하는 것이 맞는 것 같다.

웹 개발을 하기 위해 PHP도 했었고 대규모 프로젝트를 위해 Spring도 했었고 개인 토이 프로젝트로 NodeJS도 했었다.

그런 프로젝트를 할 때마다 항상 개발하게 되는 것이 모바일앱이었다.

중견급 회사라면 모르겠지만 나같이 중소기업에서 일을 하는 개발자라면 공감하는 말이 있다.

"모바일은 사용자가 조회만 할 수 있게 간단하게 개발하면 돼요."

간단하게?

그렇게 간단하면 네가 하든지.

필요에 의하여 모바일 웹을 공부하게 되었고 또 필요에 의하여 네이티브도 하게 되었고 또 발전하여 하이브리드 앱도 하게 되었다.

지금은 프론트엔드 개발자로서 개발을 하고 있다.

Angular도 공부해보았고 React도 해보았다.

지금은 주력으로 Angular를 하고 있다.

내 이력을 소개하기 위한 것이 아니라 나와 비슷한 환경의 개발자가 이 책을 읽었을 때 도움이 되었으면 하는 마음에 느낀 점을 작성해보려 한다.


대상 독자

프로그램 개발 입문자 대상은 아닌 것 같다.

Flutter 개발을 처음 접하거나 접해본 적 있는 독자가 대상인 것 같다.

내용 중에 객체지향, 함수형 프로그래밍 등 간단하게 설명은 하고 있지만 프로그램을 처음 접하는 독자는 이해할 수 없는 수준이기 때문에 Flutter를 따라 하고 싶은 수준이 아니라 개발을 하고 싶은 수준이라면 선행 학습을 하고 오는 것이 좋겠다.

난이도

별1~별3개까지 난이도를 표시해두었지만 별 3개라고 해서 겁먹을 필요는 없을 것 같다.

예제 코드에 설명과 주의 할것들이 다 표시되어 있기 때문에 오타 없이 잘 따라 하면 실행되는 앱을 개발할 수 있다.

내용

1부

개발환경 구성

모든 프로그램 언어 공부의 시작은 환경 설정이라고 생각한다.

1부에서는 환경구성이 포함되어 있고 책에서 제시하는 동일한 버전으로 설치를 잘 따라 하면 책 끝까지 실습했을 때 어려움 없이 진행될 것이고 나 또한 그랬었다.

 

Dart 문법

다른 프로그램 언어를 몇가지 알고 있다면 비슷한 점과 다른 점을 찾으면서 꼭 실습해보면 도움이 많이 된다.

PHP, Java, javascript, typescript, Python를 접해본 나에게는 신선한 충격이었다.

 

프로젝트 구조와 앱 구조

처음 샘플 앱을 생성 하고 책을 따라 읽어 보았지만 이해가 되지 않아 일단 넘어갔다.

책을 다 읽고 나서 다시 돌아와서 읽었더니 디렉터리 구조와 샘플 앱의 구조가 한눈에 들어왔다.

이 부분은 처음부터 이해 하려 하지 말고 일단은 진행하고 나중에 다시 읽어보길 바란다.

 

기본 위젯

아쉬운 부분이기도 하고 입문,초급서라서 어쩔 수 없는 부분이라고 이해가 되기도 하는 부분이다.

책에서는 많이 사용 되는 위젯을 알려주고 있고 실습을 위한 예제만 가르쳐주고 있다.

토이 프로젝트등을 하면서 레퍼런스 사이트를 꼭 읽어보길 추천한다.

 

내비게이션

앱 개발뿐만 아니라 모든 애플리케이션은 여러 개의 화면을 만들고 그 화면들의 이동을 컨트롤할 수 있어야 한다.

그에 대한 내용을 실습과 개념 설명을 통해서 가르쳐주고 있다.

 

복잡한 UI 구성

실제 프로젝트에서는 책에서 나오는 것보다 더 복잡하고 화려한 UI를 요구하겠지만 어느 정도 맛은 볼 수 있었던 것 같다.

2부

2부에서는 1부에서 배운 것을 3개의 예제를 통해 실습을 해볼 수 있다.

 

웹이든 앱이든 애플리케이션이면 기본이 되는 Form과 Navigation 기능을 사용하여 폼 입력과 화면 전환을 배울 수 있고 타이머 클래스를 활용하여 타이머도 구현할 수 있었다.

개인적으로 Flutter를 공부하면서 가장 궁금했던 것은 외부와 데이터 연동이었는데 10장에서 배울 수 있었다.

 

 

마치며

끝까지 다 읽고 실습 후에 느낀 점은 아쉬움자신감이었다.

먼저 느낀 아쉬움은 실무에서는 api 콜을 통해 기능 구현을 많이 하고 있는데 http 통신에 대한 예제가 없었기 때문이었다. 샘플 서버 구현이 부담이 있었을 거라 생각하지만 Firebase를 사용하여 마지막 예제를 구현한 것은 너무 아쉬운 부분이었다.

또 하나는 Flutter라면 당연히 BloC 패턴에 대한 내용이 있어야 하는데 그 부분이 빠진 것 또한 아쉬운 부분이다.

그리고 뒤에 느낀 자신감은 Flutter를 처음 접했을 때 쌓아 올린다는 개념의 UI 구성에서 적응되지 않는 나에게 방향을 제시해줬고

입문자, 초급자의 눈높이에서 설명하고 개념을 제시하면서 이해시키려 하는 부분은 좋았으나 <소문난 명강의> 시리즈의 실용적 항목인 '실전에 유용한 3가지 실용 앱 개발'은 물음표가 생겼다.

 

책 한 권으로 마스터할 수 있는 건 당연히 어디에도 없다 생각합니다.
이 책에서는 방법을 알려줬으니 결과물을 만드는 건 저의 몫이고 아쉬웠던 부분은 또 다른 저의 공부라 생각합니다.

 

책의 독자 대상이 입문, 초급인 만큼 처음 모바일 앱을 만들고 싶은 개발자에게는 추천되는 책입니다.

 

마지막으로 이렇게 꼭 배우고 싶었던 Flutter를 공부 할 수 있고 리뷰 할 수 있게 기회를 주신 책프협과 좋은 책을 써주신 오준석님과 회신이 많이 늦었지만 기회를 주신 한빛미디어 담당자님께 감사드립니다.

Comments