플루터로 무엇을 했는가?
두개의 앱을 안드로이드 마켓에 올려 출시했다. 하나의 앱은 yolkTalk 지금보면 부끄럽지만 처음 sqlite를 접하고 이런 저런 기능도 생각하며 만들었는데 하다보니 이런게 좋을것 같고 저게 좋을것 같고 여러가지 생각이 들다가 일단 올해안에 하나라도 출시해보자 라는 생각으로 달렸고 마무리 하게되었다. 단순한 메모앱인데 나는 가끔 카카오톡에서 내방에서 메모를 하곤하는데 그것을 위해서 만들었다.
또 다른 하나는 MBTI-모여라 순전히 어그로성 앱 같지만 과연 나는 어느정도 I이고 어느정도 E인가가 궁금해져서 만들기 시작했다. 그러다 앱이 허전해보였고 커뮤니티로 방향을 틀어서 Supabase를 써서 서버사이드를 개발 했는데 과연 사용자가 있을지는 잘 모르겠다.
플루터를 사용 하며 느낀점
편리하다
말 그대로다 편리하다. 일단 개발 환경을 갖추는데 정말 대애충 가이드만 대애충 보고 따라해도 된다. 심지어 VSCODE
를 사용한다면 더 쉽게 개발이 가능하다 그냥 확장 프로그램 깔고 가상 에뮬레이터만있으면 F5누르고 바로 시작이 가능한정도.
개발이 쉽다
나는 프론트엔드 개발자로서 약간의 C# 경험이 있는 개발자이다. 나의 관점에서 본다면 위젯의 구조만 이해한다면 누구나 개발하기 쉽다고할 수 있다. 거기다가 ChatGPT
와 같은 도구를 이용한다면 더욱 쉽게 개발할 수 있다. 이건 정말 큰 장점인것 같다.
디버그도 쉽다
개발을 하다보면 항상 마주치는 디버그 문제에서 정말 자유롭다 그냥 VSCODE
에서 해당 구문에 브레이크를 걸고 console
에 해당 멤버 변수를 부른다던가 하는 모든 동작이 가능하기에 디버그도 쉽다.
이것저것 다준다
다준다고 표현하는게 맞을지는 모르지만 일단 Flutter
는 거의 모든 기능을 다 포함하고 있다. 아마 React native
를 사용해봤다면 알겠지만 상당히 많은 부분을 직접 설치해야한다. 이것은 정말 큰 편안함이다. 대부분의 위젯이 준비되었다. 대부분의 기능도 준비되어있다. navigation
부터 내가 개발하며 필요한 모든 기본 도구가 주어져서 그것만 생각하면서 개발을 하면된다.
Dart는 굳이 배워야할까..
차라리 GO
나 Rust
같이 요즘 유행타는 언어라면 모를까. 굳이 Flutter
하나 만을 위해서 Dart
를 배워야한다는 것은 별로 좋은 선택은 아닌것 같다. 오히려 깊이있게 Javascript
를 파본다거나 하는게 더 미래에 있어서 좋을것 같은데 굳이 하나의 공부 방향을 늘리는것은 좋은것 같지 않다. 어디까지나 나는 프론트엔드 개발자로서 드는 생각이다.
앞으로 플루터를 쓸 의향이 있는지?
이 부분이 정말 고민이 많이 되는 부분이다. Flutter
를 사용해서 처음 개발을 진행하면서 새로운 언어도 사용하고 새로운 위젯의 구조를 보면서
내가 그동안 생각했던 개발과는 또 많이 다른 재미가 있네…
라는 생각을 했었다. 그러나 개발하면 개발할수록 고민이 많이 되는 부분이다. 내가 고민하는 포인트는 아래와 같다.
- 나의 커리어와 연관이 있을까?
- 과연 개발 생산성이 빠른것일까?
Dart
를 또 써먹을 곳이 있을까?
물론 깊이있게 사용해본것은 아니라서 그렇게 큰 고민을 할 필요는 없을지도 모르지만. 만약 내가 프론트엔드 개발자로서 개발을 하다가 React Native
로 앱을 만든 경험이 있다면 분명 비슷한 부분도 많을것이고 또 사용하면서 이점도 많을것이다 하지만 Flutter
는 그렇지 않다.
개발 생산성 자체는 정말 빠르지만 고민해야할 부분이있다. 나는 정말 간단한 앱을 위주로 만들었다는 점이다. 처음에 속도를 받아 앱의 프로토타입까지 뽑는건 정말 빠르다. 정말 놀랄정도니까 그러나 앱의 크기가 커지면 커질수록 고민을 해야하는 부분이 많다. 전역으로 상태를 관리한다거나, 데이터를 처리하는 과정이나 기타 등등 이런 부분들을 파고들다 보면 Bloc
이라던지 어떤 키워드들을 보게 되는데 아무래도 사용자가 많아서 이미 성숙한 React
에 비하면 아쉬움이 많은 부분이다.
마지막으로 Dart를 써먹을 만한 곳이 있을까? 지금은 Web도 어느정도 커버할 수 있다고는 하지만 그렇게 생각해보면 C# Blazor
나 C#의 Xamarin
과 같이 정말 기대되던 프레임워크들이 있었다. Dart도 그런 부분이지 않을까? 근데 딱히 Dart
를 다른곳에 쓸만한 곳은 없다. 그러나 C#
을 공부한다면 Unity도 해볼 수 있고 윈도우의 확장 프로그램도 만들어볼 수 있다. 하지만 아직까지 Dart
는 크게 사용할 곳이 없다.
그래서 쓴다는건지…
아마도 쓸것 같다. 아예 안쓰지는 않을것 같은데 정말 간단한 앱에 한해서는 계속해서 사용할것 같다. 기본적으로 제공하는 위젯이 너무 매력이있고 개발 시간을 단축시켜준다. 그러나 앱의 크기가 커지고 무거워 진다면 많이 고민해볼것 같다.