Active/회고

Flutter 앱 개발기 (글을담다)

devssun 2020. 12. 30. 23:04
728x90
반응형

Flutter 앱 개발기를 적어봅니다.

들어가며

지난 9월 저의 첫 Flutter 앱을 런칭했습니다. 앱 이름은 '글을담다'이고 책, 영화, 드라마와 같은 문학 작품 속에서 간직하고 싶은 글을 담는 앱입니다.

앱스토어 스크린샷

앱 다운로드는 아래 링크를 눌러보세요 :)

이 앱을 만든 이유

올해는 작년에 비해 책을 많이 읽은 해였습니다. 책을 읽으면서 공감되거나 기억하고 싶은 문장이 나오면 사진을 찍고, 인스타그램에 올렸었습니다. (물론 안올린 것도 있습니다!)

또 우연히 트위터의 수많은 문장봇을 보게 되었는데 문장을 기록하는 용도로 쓸 수 있는 앱을 만들어보면 어떨까? 생각이 들었습니다.

애초 계획은 Flutter와 Firebase를 이용해 개발하려고 생각했는데, 그 시점에 우연히 서버 개발을 하는 친구의 연락을 받게 되어 함께 하게 되었습니다. (디자인도 디자이너가 해주셔서 이런 멋있는 앱을 만들수 있었습니다.)

왜 Flutter를 선택했나?

저도 Flutter를 개발자들에게 주목을 받던 17년도였나 18년도 쯤에 알게 되었는데 한 가지 언어로 두가지 플랫폼을 서비스 할 수 있다는 점이 제일 매력적이었습니다.

iOS 앱 개발을 하다보면 한 가지 OS에 국한된 앱을 개발하는 것이 가끔은 지루하고 슬플 때도 있거든요. - 내 앱을 안드로이드에서도 쓸 수 있으면 좋을텐데!!!

물론 크로스 플랫폼을 지원하는 React-Native도 있었지만 RN은 몇번을 해도 문법도 어렵고 이해가 잘 되지 않은 점, Flutter는 RN과 다르게 직접 화면에 컴포넌트를 그리는 방식이기 때문에 OS별 컴포넌트를 활용할 필요가 없어 일관성있게 개발이 가능한 점과 같은 다양한 장점이 있어 선택했습니다. 그리고 Flutter로 앱을 만들어 보고 싶은 마음이 더 컸고요.

개발하면서 Flutter 공식 문서의 한글화가 잘 되어있어 좋았습니다.

아직 Flutter 강의나 도서는 많지 않지만 관심도에 비례해 점점 증가하는 추세입니다. 개인적으로 오준석님의 Flutter 강좌가 기초를 정리하는 데 도움이 되었습니다.

Flutter를 한번 써보니까

Flutter는 iOS 앱 개발 시 생각하던 것과 조금 다르게 생각해야 하는 것들이 있어 (ex. 상태관리, 뷰를 그리는 방식 등)

사실 초반에 개발할 때는 헤맬 때도 많았고 코드를 썼다 지웠다를 반복하느라 진도를 못나간 적도 많았습니다. (지금도 그런 거 같긴한데;;)

그래도 좀 하다보니 적응도 되고요.. 아직 버그를 잡거나 프로젝트 구성이라고 해야할까요. 그런 부분은 미숙하긴 하지만 앞으로 더 발전할 수 있을 것 같습니다.

Flutter도 많은 사용자들이 라이브러리를 개발하고 공식 라이브러리(https://pub.dev/)도 있으나 아직 낮은 버전에 있는 라이브러리도 많아 라이브러리 사용 시 주저하게 될 때도 있습니다. 다행히 이번에 개발할 때는 개발한 지 얼마안 된 라이브러리를 쓸 일은 없었습니다.

Flutter의 hot reload 기능은 정말 좋은 것 같습니다. 불필요한 빌드 시간이 단축되서 빠른 확인이 가능합니다.

배운 점

사이드 프로젝트를 팀을 짜서 한 건 두번째인데 출시까지 한 건 처음이었습니다. 그만큼 의견 조율하는 법을 배울 수 있는 시간이었습니다.

깃허브 이슈 기능을 열심히 사용해봤습니다. 꽤 괜찮아서 앞으로도 열심히 써볼 계획입니다.

앞으로?

앞으로 '글을담다' 앱은 더 많은 기능을 제공할 계획입니다. 지난 1.1 버전에서는 글 작성 시 분류 기능을 추가했는데, 앞으로는 커뮤니티성 기능을 추가해 사용자 유입과 사용 시간을 늘리려고 합니다.

지난번에 젠킨스를 이용해서 자동 배포를 해보려고 했는데 일단 멈춘 상태입니다. ㅎㅎ.. 그래도 fastlane 연동으로 명령어 한 줄로 testflight 배포되도록 설정해 놓았는데 아주 유용하게 쓰고 있습니다. (iOS는 테스트 배포에 상당한 시간이 걸리거든요..)

또 지금까지는 앱이 가볍고, 기능 개발에 중점을 두었기 때문에 앞으로는 디자인 패턴이나, 상태 관리 측을 좀 더 면밀히 발전시킬 필요도 있습니다.

정리하며

Flutter 개발을 하면서 재미도 있었고 힘들기도 했지만 한번쯤 해볼만한 플랫폼인 것 같습니다. 앞서 말했듯이 하나의 코드로 다양한 플랫폼에서 사용할 수 있는 애플리케이션을 만들 수 있으니, 한 가지 아이디어를 다양한 사람이 썼으면 좋겠다는 생각이 들 때 그리고 사이드 프로젝트할 때 사용하기 좋을 것 같습니다.

여기까지 읽어주셔서 감사합니다. '글을담다' 앱도 많은 관심 부탁드립니다~

반응형

'Active > 회고' 카테고리의 다른 글

2020년을 돌아보며  (0) 2021.01.11
주니어 iOS 개발자 이직기  (2) 2021.01.02
DDD 3기 활동 회고 (2019.10.26 ~ 2020.02.15)  (2) 2020.02.16
2019 회고  (0) 2020.01.21
Weekly Review(201908-4)  (0) 2019.08.31