백엔드 개발자의 flutter 개발기

🙋 그래서 할까 말까?

안녕하세요! 이전에 flutterbased.studio 를 개발 했고 지금은 2021 오픈소스 컨트리뷰션 아카데미라는 대회의 FOSSLight 팀에서 스프링 부트 기반 백엔드 프로젝트를 컨트리뷰트하고 있습니다. 이번 프로젝트는 기획자와 저 둘이서 한 토이 프로젝트이고, 이야기를 나누다가 ‘결정 장애를 위한 대리 결정 앱’ 을 만들면 재밌을 것 같아 가볍게 시작하였습니다.

😁 flutter로 개발!

flutter는 하나의 코드로 안드로이도, iOS, 웹, 데스크탑앱까지 다양한 플랫폼에 맞는 애플리케이션을 제작할 수 있는 프레임워크 입니다. 2018년 flutter가 처음으로 세상을 나온 이후, 끊임없이 발전하고 있으며 현재는 안드로이드, iOS, web(웹 프론트엔드)가 정식 버전으로 지원되고 있습니다. 안드로이드, iOS를 동시에 배포하면 좋을 것 같다는 의견을 수렴하여 이번 프로젝트는 flutter로 제작하였습니다.

🙏 이번 프로젝트에서 적용해보고자 한 것

지난번 flutterbased.studio라는 flutter web 프로젝트를 개발했을 때는 github actions 를 이용한 배포 자동화를 주안점에 두고 개발을 했습니다. 이번 프로젝트 에서는 github actions는 당연히 적용하고, 다음의 것들을 적용해 보았습니다.

테스트 코드 중 일부이다
피커부 애니메이션 시연
animated_appbar 패키지. 다음과 같은 애니메이션 기능을 가진 appbar를 제작하여 pub.dev 에 배포하였다.
전화기 화면에서 다음과 같이 여러 정보를 확인할 수 있다.

🚷 나 왜 리젝이야?(또르르…)

프로젝트 개발은 2주가 채 되지 않아 완료하였습니다. 그만큼 flutter는 린하고 빠르게 개발이 가능하며 프로토타입 제작에는 매우 특화된 프레임워크라고 생각합니다. 하지만 이번 애플리케이션을 안드로이드, ios스토어에 제출하고 계속 리젝(심사 거부)를 당하면서 심사를 통과하는데 2주 정도 더 걸린 것 같습니다. 꽤 여러번 리젝을 당했는데 몇가지 케이스를 소개해 드리도록 하겠습니다.

출처 : https://pub.dev/packages/rounded_loading_button#rounded_loading_button
초기 구현했던 화면. 해당 버튼이 로딩중임을 명확하게 표시하지 않는다는 이유로 리젝당했다.
your app displayed an indefinite loading gear and did not respond when we tapped on “친구에게 공유하기.”
결국 이 방식으로 로딩화면을 바꾸었습니다.
Make appropriate changes to your app based on the information provided above. For additional help, you can review the Permissions policy and the Play Console Help Center article, which describes intended uses, exceptions, invalid uses, and alternative options for use of Call Log or SMS permissions.

🙏 결국 출시

그렇게 스토어와의 몇 차례 밀당 끝에 앱을 출시할 수 있게 되었습니다. 플레이 스토어앱스토어 에서 모두 앱을 확인하실 수 있습니다. 궁금하신 사항은 lak9348@gmail.com 이메일 주시면 답장 열심히 해드리겠습니다. 감사합니다!

--

--

contact : lak9348@gmail.com

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store