플러터를 사용해보다

KRChungwol·2020년 4월 15일
0

개발만담

목록 보기
3/3

이제 슬슬 새로운 기술을 써보고 싶네요.
웹 개발을 아무리 잘 한다 해도 저는 아이디어가 떠오르지 않아요.
프로젝트를 진행할 실력은 되도 좋은 아이디어가 떠오르지 않으니
진행할 프로젝트가 없어지고 결국 이렇게 시간을 낭비하게 되네요.
그래서 선택한 방법은 새로운 분야를 접해보는 것 입니다.

모바일 개발

새로운 분야를 찾던 도중, 문득 모바일 개발이 생각났습니다.
인공지능을 공부하기엔 수준이 높고, 시스템 프로그램을 배우기에는
만들 프로젝트도 없고, 네트워크 프로그래밍도 마찬가지였습니다.
그래서 선택한 건 모바일 개발이었습니다.
하지만 여기서 한 가지 문제점, 안드로이드 개발과 iOS 개발은 전혀
다르다는 것 입니다.

보편적으로 안드로이드는 Java(또는 Kotlin), iOS는
Object-C(또는 Swift) 로 개발됩니다.
결국 모바일 앱을 개발할려면 두 분야의 개발자가 모두 필요한거죠.
저는 이 둘을 모두 배울 시간도 없고 맥북도 없었기에
크로스 플랫폼 개발이 가능한 프레임워크를 찾기 시작했습니다.

크로스 플랫폼

크로스 플랫폼이란? 하나 이상의 플랫폼에서 구동 가능한 어플리케이션

이 용어는 대부분 안드로이드와 iOS 동시개발이 가능하다는 의미로 쓰입니다.
그렇게 해서 두 가지 언어와 프레임워크를 모두 배울 필요가 사라지게 되죠.
대표적인 크로스 플랫폼 프레임워크는 총 4가지가 있었습니다.

Flutter, 구글에서 개발한 오픈소스 크로스 플랫폼 프레임워크로,
구글이 개발하고 대부분의 구글 앱에서 사용되고 있다고 합니다.
주요 언어는 Dart로, Material UI 를 사용해 간결하고 심플한 UI를 보여줍니다.

React Native, 페이스북에서 개발한 프레임워크로,
React 프레임워크를 모바일에 접합시킬 수 있는 프레임워크입니다.
주요 언어는 JS로, 기존 React 개발자들에게 좋은 평을 받고 있습니다.

NativeScript, Progress Software 에서 개발한 프레임워크로,
Angular, Vue 등의 프레임워크로부터 크로스 플랫폼 앱을 제작할 수 있습니다.
주요 언어는 JS를 사용합니다.

Ionic, Drifty 라는 해외 기업에서 개발한 프레임워크로
React, Angular, Vue의 많은 웹 프레임워크를 통해
사용할 수 있습니다. 주요 언어로는 JS를 사용합니다.

이 중 윈도우 개발환경에서 배우기 쉽고 좋은 디자인을 가지고 있는
Flutter를 선택하게 되었습니다.
(사실 React Native랑 고민했었는데 튜토리얼 대부분이 맥 기준이라 포기)

Flutter

Flutter, 구글에서 개발한 프레임워크이자 동시에 구글이 밀고있는 프레임워크입니다.
Material UI와 많은 라이브러리를 가지고 있어 다양한 기능 구현이 간편합니다.
또한 Android SDK만 있으면 VS Code 에서도 편집이 가능하고, 좋은 확장 기능을 가지고 있어
굉장히 편리합니다. 다만 국내 튜토리얼이 좀 적은 편입니다.

Dart라는 언어가 처음에는 낯설었지만, 금방금방 익혔습니다.
마치 Java와 Typescript를 섞은 느낌이었죠. 편리하긴 했습니다.
하지만 확실히 처음 쓰는 언어라 API 서버와 통신하는 부분을 구현하기에는
조금 벅찼습니다. http 모듈을 사용하고, 그 데이터를 파싱하는 것이
Dart 로는 익숙하지 않아 조금 헤맸거든요.
지금은 어느정도 적응을 해 나가고 있는 편입니다.

혹시나 개발자로써 뭘 해야할 지 모르겠다면 다른 프레임워크나 언어를 공부해보는 것도
나쁘지 않을 듯 합니다. 배울게 생겨 의욕이 어느정도 살아나거든요.

오늘은 국회의원 선거날이네요. 항상 궁금했던 게 저는 유권자가 아니지만
국회의원 홍보 문자와 선거운동 하시는 분들이 항상 명함을 주시더군요.
학생들에게 투표권이 확대되어 정치인 분들이 학생들을 위한 정책을 추진해주셨으면
하네요. 이상으로 포스팅을 마치겠습니다. 모두 건강하세요!

profile
Student & Frontend Developer

0개의 댓글