내가 플러터를 선택한 이유

윤정현·2023년 2월 2일
0

오늘은 "하루 한번 색채 일기!" 컨셉을 가진 색채 일기장 앱을 플러터로 출시한 경험을 공유하려고 한다.

1. 고민

앱을 개발하는데 있어 중요한 역량은 안드로이드, IOS 둘다 출시할 수 있는 것이다. 그런 추세에 따라 크로스 플랫폼이 각광 받고 있고 내게 선택지는 RN(리엑트네이티브)과 플러터가 있었다.

RN은 회사에서 사용하고 있는 스택이기도 했고 리엑트라는 친숙한 사용법이 매력적이였다. 플러터는 새롭게 배워야 했고 다트라는 언어가 부담으로 다가왔다. 이렇게만 보면 RN을 선택했을 것 같지만 다른 선택을 하게 되었다.

2. 근거

플러터를 선택한 이유는 생각보다 단순했다. RN은 컴포넌트 기반의 뷰를 그린다. <Text>123</Text> 같은 컴포넌트를 사용하면 네이티브 기반의 뷰를 그려준다. 이는 같은 코드여도 안드로이드와 IOS에 따라 뷰가 달라질 수 있다는 것을 의미한다.

플러터는 랜더링도 자체적으로 하고 있었고 머터리얼 혹은 커스텀 디자인을 지원해서 운영체제 환경과 상관없는 일관된 뷰를 제공한다. 이 점이 가장 마음에 들었고 위젯 기반의 깔끔한 스타일이 근거가 되어주었다.

3. 습득

플러터를 지지하는 사람들 대부분은 다트를 배우는데 크게 반감을 가지지 않는다는 점을 꼽는다. 정말 그랬다. 조금만 문서를 찾아봐도 사용법이 나왔고 null 처리를 조심해야 되는 것을 빼면 언어 습득에 벽은 없었다.

오히려 다트를 배운다는 느낌 보다는 플러터를 배우는데 더 많은 시간을 사용했다. 스테이트풀, 스테이트래스 같은 개념이나 마진, 패딩 같은 스타일 처리와 폼 컨트롤에 많은 시간을 쏟았다.

4. 구현

RN은 직접 컴포넌트를 만들고 관리해야 했는데 플러터는 정말 쿨했다. childrens, child 이 두개의 개념만 이해한다면 축하한다. 당신은 플러터를 완벽히 이해한 것이다.

상당히 쿨하게 구현을 진행했고 구글링을 통해 쉽게 지식을 터득했다. 플러터는 일괄된 방법을 제공하기 때문에 쉽게 따라할 수 있었다.

http://flutterflow.io

플러터플로우라는 사이트에서는 노코드로 플러터 앱을 만들 수 있게 지원한다. 여기서 구현된 UI를 코드로도 볼수 있는데 꽤나 유용했다. 잘만든 사람의 코드를 보고 참고할 수 있다는 사실이 큰 장점이 되었다.

5. 출시

안드로이드는 쉽게 통과 했지만 IOS는 그렇지 못했다. 플러터 때문은 물론 아니고 심사가 까다로워서 그렇다. 그래도 플러터로 약 1주일 반을 투자해서 일기장 앱을 만들었고 출시할 수 있게 되었다.

뷰 기반의 깔끔한 개발을 원한다면 플러터는 좋은 선택지일 수 있다. 플러터, 다트, 파이어베이스, GCP는 당신의 개발에 날개를 달아줄 것이다.

https://linktr.ee/colordiary

끝!

6. 참고

내 상황에서는 플러터가 좋은 선택지지만 회사에서 RN을 쓴다고 말했다. 그 만큼 상황에 맞게 적절하게 사용해야 된다는 것이다. 직접 네이티브를 수정하거나 짬뽕을 해야 되는 경우는 RN이 좋은 선택지이다. 커스텀하기 좋다는 것이다. 뷰 중심의 앱이라면 플러터가 좋은 선택지이다.

def are_you_ready(hope, energy):
    if hope >= 100 and energy >= 100:
        return 'https://devmaker.kr'
    return 'http://www.yes24.com/Product/Goods/103346815'

print(are_you_ready(100, 100))
profile
안녕하세요. 튜터로 활동 중인 서버 개발자 윤정현입니다.

0개의 댓글