뒤로
김경민
김경민 ·

플러터 혐오자에서 플러터 신봉자로

구글 만세 !
티키타카 서비스를 개발할 수 있게 해주셔서 감사합니다.

https://tickitacka.com/


(저희가 “플러터”로만 만들고 있는 티키타카 서비스입니다! 11월 10일 정식출시 예정이며, 워치 OS / 윈도우 어플리캐이션도 “플러터”로 추가할 예정이에요! 관심 있으시면 연락주세요! 모든 대화에 열려 있습니다.)

flutter1.png

우리 회사는 처음 사업을 시작했던 2020년 9월부터 플러터를 개발 언어로 선택해 활용했다. 리스크가 있었지만, 당시 우리 개발자는 CTO님을 포함해 2명이었고, CTO님은 풀타임으로 참여할 수 없는 상황이었기에 플러터를 통해 안드로이드와 IOS 동시 개발을 해야 했다. 백엔드도 따로 만들지 않고, 파이어베이스를 통해 구글이 구축한 서비스를 사용했다.

그 당시 플러터는 악몽 그 자체였다. 선택지가 없고, 서비스를 출시하기 위해 선택하긴 했지만, 라이브러리도 제대로 구축되어 있지 않았고, 서비스를 만들었을 때 플러터 자체의 오류가 너무 많았다. MVP 수준을 플러터로 만들고 보여주어도 플러터로 진짜 서비스를 만들 수 있는 거냐며 신기해했다.

아무리 열심히 기획을 하고 디자인을 해도 개발로 구현하는데 한계가 있었고, 서비스 속도가 느려서 우리가 전달하고자 하는 가치가 제대로 전달되지 못했다. 앱을 쓰면 쓸수록 화가 치밀었다. 개발자들 사이에선, 구글이 새로운 사업을 쉽게 버린다고 플러터도 언제 없어질지 모른다는 말이 계속 돌았다. 최소한의 실험만 하고 개발자를 충원해서 네이티브로 개발해야겠다는 생각을 늘~! 했다.

그렇게 플러터와의 오랜 전쟁에 시달리다가 취미 커뮤니티 플랫폼 '팔레트'에서 맞춤형 취미 동영상 콘텐츠 큐레이션 서비스 '하비픽커'로 서비스 전환이 결정되었다. 2022년 2월 말이었다. 심각하게 Kotlin과 Swift로의 전환에 대해 고민했다. CTO님과 여러 대화를 나누던 중, 플러터가 2.0으로 업데이트되었다. 어차피 지금 당장 Kotlin과 Swift 개발자를 뽑을 수 없으니 MVP 버전을 빠르게 플러터로, 다시 한번만 만들어보자고 이야기했다. 그렇게 시작한 플러터 2.0은 전혀 다른 서비스였다.

플러터 2.0으로 업데이트 한 뒤, 기존 소스를 확인했는데 오류가 4천 개가 떴다. 진짜 많이 바뀌었구나! 약간의 기대감이 생겼지만 4천 개를 언제, 어떻게 다 수정하냐는 걱정이 더 컸다. 이걸 해결하지 못하면 처음부터 다시 시작해야 했으니까. 하지만 우리 개발 이사님은 개발 천재다. 4천 개의 오류를 한 번에 수정했다. 어차피 하나씩 수정하고 올리는 게 불가능해서 (4000개 중에서 하나 수정하고 올리면 3999개 중에서 어떤 게 수정됐는지, 제대로 됐는지 파악하는 게 더 오래 걸리니까) 한 번에 오류 난 4천 개를 다 수정하고 제발 되라고 기도를 했는데, 한번에 됐다고 하셨다.

우여곡절 끝에 수정을 한 서비스는 말도 안 될 정도로 빨랐다. 오류만 수정했을 뿐인데, 다른 서비스가 되었다. 그래서 그냥 플러터를 한 번만 더 믿어보기로 했다. 1년 반을 속았는데, 3개월 더 못 속겠냐 싶어서 MVP가 나오는 3개월 간만 더 속아보기로 했다. 이번엔 속지 않았다. 2.0을 기준으로 계속해서 성능이 개선되었고. 지금은 (개인적으로는) 다른 어떤 개발 언어보다 성능이 좋다.

동영상을 보여주는 하비픽커도 서비스 자체는 성공적이었다. (누가 어떻게 쓰는지는 만드는 것에는 실패했지만) 모든 것을 잃었지만, 플러터에 대한 실력은 계속해서 쌓였다. 그래서 티키타카를 만들 때도 한번도 해보지 않았던 플러터 웹이었지만 플러터를 선택했다. 다행히 웹도 엄청나게 잘 돌아갔고, 전통 웹의 방법론으로 개발했으면 절대 만들어내지 못할 기간 동안 티키타카 서비스를 완성했고, 기존 웹 언어로는 낼 수 없는 성능을 플러터로 내고 있다. 그리고 앱, 윈도우 앱(카카오톡처럼 설치하는 것), 워치까지 모두 플러터로 개발할 수 있기에 서비스를 제공하는 방식에 대한 상상에 제약이 없다.

오랜 삽질과 고생의 과정 속에서 팀 자체의 플러터에 대한 이해도와 활용 역량이 축적되었다. 그랬기에 플러터와 파이어베이스로 티키타카 서비스를 엄청난 속도로 개발하면서도 외주 개발까지 문제없이 수행할 수 있게 되었다. 오랫동안 실패했지만, 그 어떤 기업보다 강력한 서비스 기획/개발 능력을 갖게 되었다. 그리고 플러터와 파이어베이스는 국내 그 어떤 기업보다 잘 쓴다고 자신 있게 말할 수 있다.

티키타카

주간회의 기반 성과관리 시스템

18

댓글

로그인 후 댓글을 남길 수 있습니다.

곽동원
곽동원

잘 읽었습니다! 저도 플러터 신봉자입니다. 저희 앱도 플러터로 구현중인데 혹시 해외 유저에게 결제 받으려면 어떤 모듈을 써야하는지 알 수 있을까요?

김경민
김경민

반갑습니다 ㅎㅎ 저희도 따로 써보진 않았는데, 결제의 경우엔 paypal 이나 Stripe 같은 것을 사용해야할 것 같습니다!

최현종
최현종

저도 플러터 신봉자에요!! 플러터로 웹 서비스 만들다가 죽을뻔 했습니다,,,ㅋㅋㅋㅋ

김경민
김경민

ㅋㅋㅋ어떤 것 때문에 죽을 뻔 하셨을까요?!

최현종
최현종

와이어프레임이 너무 많이 깨지기도 하고, 반응형 만들기가 쉽지 않더라구요ㅠㅠㅠ 앱처럼 정말 만들어야 했어서 처음엔 헷갈렸어요

김경민
김경민

아 맞습니다 ! 사실 웹도 웹이아니라 앱이거든요! 거기서 파생되는 장점이 엄청 많습니다 ㅎㅎ 다시 도전해보시죠~!

김경민
김경민

넵 맞습니다! 플러터를 안써보신 분들은 그렇게 반응하실 것 같아요! 저희 프로젝트 모두 다~ 플러터로 만들었고, 11월 10일에 정식버전 출시되면 더 놀라실거에요!

김경민
김경민

앗 그것도 보셨군요 ㅎㅎㅎ 넵 편하게 연락주십시오~! 기다리겠습니다!

David Bang
David Bang

전 Expo에서 Swift로 왔어요