[플러터] 플러터 장점과 단점.

Computer 비관심/Flutter|2021. 4. 24. 23:37
반응형

웹개발을 했었고 자바는 전혀 모르고 자바스크립트와 파이썬만 알았다.

vuejs 와 svelte만 쓰다 보니 플러터가 자꾸 손에 익지 않았다. 

그나마 좀 익은 시점에 글을 써본다.

 

(플러터가 업데이트 하는 속도가 엄청 빠르다. 8개월 적은 글인데 오래된 얘기가 된것들이 많다. 2011/12월 다시 한번 체크 하였으며 이전의 단점들이 더 이상 큰 단점이 아니거나 단점이 아니다. 결론은 아직도 웹에 비해 더 어렵다는 생각이 들지만 앱을 만들기에 좋고 편리하다.)

 

일단 단점부터 적자면 (주관적임)

1. HTML로 레이아웃을 만드는 것에 비해 가독성이 떨어진다고 생각됬다. 리액트도 클래스안에 UI를 만드는 것이지만

<>로 UI가 구별되는게 나에겐 더 쉬웠다.

(2021/12 가독성도 그렇지만 html tailwindcss 쓰는것 보단 사용하기 어렵다.)

 

 

2. DARTPAD

스벨트웹 REPL은 재미로 시간이 남을때 쓱쓱 적어놓고 나중에 옮겨서 사용할 수 있도록 잘 되어있었고 속도 역시 빨랐다. DARTPAD는 느리고 자동완성도 없고 한파일로 사용해야하는게 불편해서 시간이 남을때 잠깐 기능이나 위젯 하나나 만들자 이런 생각을 하기 어려웠다.

(2021/12 로그인이 없고 아직도 사용하기 불편하다. 사실 별 실제 개발하는데 큰 문제는 없다.)

 

 

3. hot reload 와 hot restart 의 버그

아직도 hot reload와 hot restart에 버그가 발생하고 기다리다가 안되서 다시 정지했다가 켜야했다.

(현재 2021/12: 별 문제가 없다. )

 

 

4. 웹사이트

웹지원 버전이 정식으로 지원 되었지만 아직 갈길이 먼거 같다. 웹으로 보면 좀 이상한 요소들도 있고... 디버깅도 난 잘 모르겟다.

(2021/12 그전에는 한글에서 치명적인 버그가 있었는데 지금은 SEO도 개선 방법들이 좀 나온것 같다. 그러므로 그리 큰 문제가 없어보인다. 스벨트 vs 플러터 웹???  웹을 만들어야 할 때 한글입력에 문제가 있어서 스벨트를 썼는데 플러터로 웹을 만들었으면 어떨지 궁금하다. )  

 

 

5. 설치하는데 오래걸림

일단 받아 놓고 설치해 놓으면 상관 없지만 처음에 시작할 때 용량과 시간 때문에 오래걸렸다. 

동남아에서 인터넷을 사용하기 때문에.... 좀 힘들었다.

 

 

6. 구글에 대한 불안감...

네비게이션 2.0을 보고 .... 예전에 구글이 앵귤러제이에스 버전업그레이드 했을때...생각이 났다.

(2021/12 구글에서 아직도 잘 밀어주고 있는거 같다.)

 

 

 

장점(역시 주관적)

1. 다트 그 자체다.

프로그래밍을 대학교에서 깊게 배우지도 않았고 학원에서도 얕게 배웠고 

프로그래머로 일할때도 구조를 만들기 보단 자바스크립트로 기능을 구현하기만 하면 됬기 객체지향에 대한 지식이 많이 떨어졌다. 

 

자료형과 인터페이스 앱스트렉트 등등 여러가지를 새로 익혀야 했다.

이걸 익힐때 자바로된 자료를 가지고 공부했는데 큰 도움이 됬고 자바와 비슷한 점이 많았다. 

자바를 다루는데 익숙한 개발자는 쉽게 사용할 수 있을 것 같다.

 

그리고 다트를 잘 알면 플러터를 배우는데 딱히 어려운 내용도 없다.

 

뷰나 스벨트를 예를 들면 자바스크립트를 잘 알면 뷰나 스벨트가 익혀지는게 아니라 

뷰와 스벨트를 만든 사람이 정의해 놓은 것들을 잘 알면 익혀진다.

(그래서 그런지 쉽게 사용할 수 있게 만들어 놓은거 같다.. 근데 어째튼 언어 자체가 아니라 프레임워크를 배우는 느낌이었다.)

 

어째튼 Dart만 알면 구조도 원하는 데로 바꿀 수 있고 쉽게 개발할 수 있을 것이다. 개발속도도 자바스크립트 못지 않게 빠르게 만들 수 있다.

 

 

2. Visual Code에서 사용하기 너무 좋다.

자동으로 완성하는 기능들도 잘 되있고 정렬까지 깔끔하게 해준다. 패키지도 알아서 자동 설치해준다.

마우스 오른쪽키를 눌러서 새로운 위젯으로 둘러 싸거나 지우는 것도 쉽게 할 수 있다. 왜 이렇게 잘 지원이 되고 있는지 놀랍다.

 

 

3. 모바일에서 편하고 빠르다.

리액트네이티브와 네이티브스크립트에서 리스트에 텍스트필드를 넣는 테스트를 해봤는데

확실히 플러터가 속도가 가장 빨랐다. 리액트네이티브와 네이티브스크립트에서 텍스트필드를 넣는 방법이 잘못되서 버벅거리고 느린건지 몰라도... 

 

웹은 몰라도 모바일에서는 더 빨리 실행되고 이상한 버그들도 적었다. (갑자기 빌드가 안되거나..)

 

 

 

결론

자바를 기반으로 개발을 했으면 플러터 괜찮은 것 같다. 웹까지 개선된다면 플러터는 정말 좋은 선택이 될 것이다.

 

자바스크립트와 HTML CSS가 손에 익고 자바나 타입스크립트를 모르는 웹개발자라면 플러터를 배우는데 시간이 좀 걸릴 것이다. 지적 호기심이나 재미가 아니라면 웹기술을 가진 사람이 굳이 플러터를 해야하나 생각이 들기도 한다. (워낙에 리액트네이티브도 좋고 네이티브스크립트도 좋아졌다보니...)

그런데 뭐... 프로그래밍은 툴일 뿐이니... 접해본다면 그 툴에서 좋은 방식을 배워올 수 생각한다. 

 

(2021/12 이글은 오래된 글이었다. 지금은 이전 이전에 있었던 버그들이 많이 사라졌고 한국어로된 강의도 리액트네이티브 못지 않게 많이 나왔다. 웹의 성능도 이전 보다 좋아졌기 때문에 플러터를 사용하면 왠만한 앱/웹 어플리케이션을 빠르게 만드는데 도움이 될 것이다.) 

 

 

 

 

 

 

 

댓글()