티스토리 뷰

반응형

나는 취직 전까지는 Native Android 개발자로 살았다. 기업 면접을 보러 다니는 중 지금 다니는 회사에서 플러터 개발을 해보지 않겠냐는 제안을 받았고 나는 수락했다. 내가 전향을 결심했을 때 어떤 생각을 했는지는 아래 포스팅에 쓰여있다.

rlg1133.tistory.com/113

 

Flutter) 플러터를 시작하는 이유

플러터 개발자로의 전향 제안 최근 구직중 플러터를 사용하는 기업에서 입사 제안이 왔다. 입사 제안이 온 다른 회사들보다는 약간 적은 연봉으로 온 제안이었지만 수락해보려고 한다. 나는 기

rlg1133.tistory.com

나는 지금 입사한지 한 달 정도 지났다. 플러터 개발을 처음 접했을 때부터 느낀 점을 써보려고 한다.

 

플러터 첫인상

회사에 입사하기 전 나는 유투브에서 코딩 셰프라는 개발자분의 영상을 참고하며 플러터의 기초를 공부를 했었다. 아직까지 영상이 많지는 않지만 플러터라는 SDK가 어떤 식으로 앱을 만들고 그리는지에 대해 간단한 참고 정도는 되었다. 당시에는 안드로이드와의 차이점이나 닮은 점 등을 생각하며 이게 이렇게 쉽게 된다고,,?라는 생각을 하며 공부를 했었다.

이 시점에서 들게된 의문점은 다음과 같았다.

- 위젯을 이렇게 트리구조로 그리면 비즈니스 로직과 뷰를 분리하는 디자인 패턴은 어떤 식으로 구성될까?

- 뷰만 그린다고 치고 계층이 깊어지면 난잡해서 확인하기 힘들지 않을까?

- 안드로이드와 IOS는 material 디자인과 cupertino 디자인을 각각 사용하는데 어떤 것을 따라야 하지?

지금 위 질문들에 대한 답을 부족하지만 간단하게 달아보자면 아래와 같다.

 

- 위젯을 이렇게 트리구조로 그리면 비지니스 로직과 뷰를 분리하는 디자인 패턴은 어떤 식으로 구성될까?

-> 화면은 Screen과 내부애 들어가는 Widget 클래스를 각각 만들어 관리하며, BLoC 패턴을 사용해 상태 값으로 위젯의 값을 바꿔준다.

 

- 뷰만 그린다고 치고 계층이 깊어지면 난잡해서 확인하기 힘들지 않을까?

-> 위젯클래스를 분리해 생각보다 위젯 트리가 깊어지는 부분이 별로 없으며, 있어도 눈에 익으면 금방 적응된다.

 

- 안드로이드와 IOS는 material 디자인과 cupertino 디자인을 각각 사용하는데 어떤 것을 따라야 하지?

-> 플러터에서는 기본적으로 둘 다 불러와 사용할 수 있으며 섞을 수 있지만 사용자가 보기에 좋지 않으며 선호하는 것을 선택한다.

 

회사에 입사하고 코드를 처음 봤을때

신세계였다. 내가 유튜브 보고 따라 쳐보던 예제 코드는 전혀 도움이 안 되었고 setState()는 보이지도 않았다. 실제로 인터넷에 널린 정보들만 가지고는 날씨 어플 정도는 만들 수 있을지 모르지만 실제로 상용화시켜 사용할 만한 서비스를 낼 수는 없다고 생각한다. 내가 만약 MVP나 MVVM 같은 디자인 패턴의 경험이 없이 입사했다면 코드를 파악하는데 오래 걸렸을지도 모른다. 우선 BLoC 패턴의 특성상 클래스가 굉장히 많았다. 하지만 사람은 역시 적응의 동물,,, 한 일주일 정도 BLoC 예제를 혼자 만들어보고 회사 소스코드를 뚫어져라 쳐다보니 어느 정도 구조가 보여서 이제는 어떤 기능을 어디서 찾아야 할지 감은 잡힌다. 

 

현재 느끼는 플러터에 대한 감상

음,, 플러터는 정말,, 쉽다,, 물론 개발을 처음 접하는 사람에게는 추천하지 않고 나 같은 안드로이드나 IOS를 경험해본 사람들에게는 전향까지는 아니더라도 사이드 프로젝트라도 적극 해보라고 추천하고 싶다. (네이티브 지식이 어느 정도 받쳐줘야 유리하기 때문에,,)

정말 치명적인 단점은 존재한다. 그것은 네이티브의 압도적인 라이브러리를 따라가기는 아직 한참 멀었다는 것, 개발자들이 개발을 할 때 편의성을 위해 외부 라이브러리(혹은 API)를 가져와 사용을 한다. 카카오 API와 같은 시대의 변화에 발 빠르게 대응하는 곳은 문제없이 해당 기능을 사용할 수 있지만 우리가 개발을 하면서 필요한 사소한 기능들에 대해 지원을 안 하거나 버전이 1.0이 안 넘는 곳이 대다수이다. 물론 빠른 속도로 성장하는 것이 사실이지만 그렇기 때문에 외부 라이브러리들의 버전이 급속도로 올라가 호환성에 문제가 생기는 경우도 허다하다.

실제로 최근 회사에서도 카메라 제어를 통해 숫자를 인식하는 기능에 관한 연구를 했었는데 플러터에서 지원하는 카메라 관련 소스들이 빈약해 안드로이드와 IOS에서 각각 플러그인을 구현해 붙이자는 의견도 나왔었다.

이렇듯 아직까지 플러터는 성장통을 겪고 있다. 그러나 최근 플러터 2.0이 공개되기도 했고 시간이 지금으로부터 1-2년 정도 지났을 때를 생각하면 기대가 되는 것도 사실이다.

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함