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

오랜 삽질과 고생의 과정 속에서 팀 자체의 플러터에 대한 이해도와 활용 역량이 축적되었다. 그랬기에 플러터와 파이어베이스로 티키타카 서비스를 엄청난 속도로 개발하면서도 외주 개발까지 문제없이 수행할 수 있게 되었다.
Oct 28, 2023
플러터 혐오자에서 플러터 신봉자로

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

https://tickitacka.com/


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

우리 회사는 처음 사업을 시작했던 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을 기준으로 계속해서 성능이 개선되었고. 지금은 (개인적으로는) 다른 어떤 개발 언어보다 성능이 좋다.

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

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

gmkim@reversemountain.co.kr

Share article

티키타카