프로젝트: Sweater 회고 - 플러터에 대해

dev2820·2022년 5월 31일
0

프로젝트: Sweater

목록 보기
3/3

플러터를 도입한 이유

프로젝트의 주제가 앱으로 좁혀지고나서 뭘로 개발할지에 대해 생각해봤습니다.

  1. 먼저 이 앱은 코디 관련 앱이다
  2. 옷을 자주 사고 활동량이 많은 사람들이 이 앱을 쓸 것이다
  3. 그런 사람들은 10~30대 이다
  4. 젊은 사람들은 ios도 많이 쓴다

따라서 우리는 ios도 개발하고 안드로이드도 개발하고 싶어했습니다. 하지만 시간과 자원은 한정되어있고 우리는 ios를 개발할 적당한 환경이 마련되어 있지 않았습니다.

그래서 우리는 그냥 나중에 맥을 구할 수 있겠지! 라는 마인드로 크로스 플랫폼을 지원하는 리액트 네이티브와 플러터를 비교 선상에 놓고 고민하게 됩니다.

리액트 네이티브와 플러터중 뭘 쓸까

이제 리액트 네이티브와 플러터를 조사해서 비교 선상에 올려놨습니다.

조사하기로는

리액트 네이티브
장점

  • 커뮤니티가 큼
  • 자바스크립트 사용
  • 리액트 네이티브는 리액트와 문법이 유사함

단점

  • 속도가 느리다(구조상 병목이 있다고 하네요)
  • 어쨌든 리액트 네이티브를 공부해야하는 러닝 커브가 있다

플러터
장점

  • 빠르다(리액트 네이티브와 달리 병목이 없는 구조)
  • 플러터의 사용성이 꽤 좋다

단점

  • 커뮤니티 작음
  • dart 사용(dart도 공부해야하고 flutter도 공부해야함)

뭐 이정도였네요

우리는 여기서 플러터를 선택하는데, 이유는

  • 어쨌든 둘다 러닝 커브가 있다. 의외로 러닝커브가 비슷할지도?
  • 속도가 빠르다(당시엔 머신러닝을 쓸 것도 고려하고 있었기 때문에 성능 이점이 있으면 좋았음)
  • 플러터가 좀 궁금했음

써본 결과

장점) 조금만 공부해도 금방 뚝딱뚝딱 만듦니다.

이미 잘 만들어놓은 기본 위젯이 많고, 패키지도 은근 잘 갖추어져 있습니다.

장점?단점?) 다트

언어가 자바스크립트랑 비슷합니다. 자바스크립트 + 타입 이라는 느낌. 모든 타입을 저장할 수 있는 dynamic 같은 타입도 제공해서 빡빡하게 굴진 않습니다. 자바스크립트를 써본 사람은 금방 배울 것 같습니다. 근데 어쨌든 공부하긴 해야합니다.

단점) null-safety

null-safety를 아직 지원 안하는 패키지나 null-safety를 지원하는 패키지가 따로 있어서 조금 번거로웠네요. 근데 이건 시간 지나면 해결 될 겁니다.

단점) 코드 가독성이 떨어집니다.


저 끝에 무수한 ])))))]))))들이 가독성이 아주 떨어집니다. VSC가 업데이트 되면서 색깔로 구분 되긴 하는데 그래도 안보여요. 중간에 코드를 지우거나 컴포넌트를 씌울 때 저 괄호 찾느라 눈이 빠질 것 같습니다.

단점) 러닝 커브가 무시할만큼 작진 않네요.

그래도 앱을 제대로 개발 하려면 플러터의 생명주기, 업데이트가 발생하는 시점 등등을 공부해야합니다. 러닝 커브가 작진 않아요. 그래도 리액트나 뷰를 공부해본 사람은 비슷한 점이 많아서 의외로 금방 배울지도?

profile
공부,번역하고 정리하는 곳

0개의 댓글