계기
시간이 참 빠르게 지나간다.
어느새 12월이 되었다.
다음 달이면 로쩨가 세상에 나온다.
로쩨를 위해 해줄 수 있는게 뭐가 있을까 생각하다가
아빠가 나름 개발잔데 뭔가 하나 만들어줄순 없을까 생각이 들었다.
문득 로쩨사진을 양가 부모님 단톡방에 따로 보내는 수고스러움을 겪고 있는 아내를 보고
이거다 싶었다.
Flutter 선택의 이유
Java를 주로 사용하기 때문에 보통 서버 혹은 웹 관련 일들만 했었다.
그러다 올해 친구와 같이 진행한 Come Hear 프로젝트 이후
앱개발에 관심이 생겼다.
데이터를 다루는 서버도 매력 있었지만
내가 내린 데이터로 화면을 꾸미는 친구를 보고 뭔가 재밌겠다는 생각이 들었던 것 같다.
그러다 가족공유 사진앨범을 만들어보고 싶다는 생각이 들었고
나는 아이폰을 쓰기 때문에 iOS 개발이 필요했고,
양가 부모님들은 안드로이드를 쓰시기 때문에 AOS 개발이 필요했다.
친구가 iOS 개발자이니
Java에 친숙한 나는 안드로이드를 개발하면 되었겠지만
혼자힘으로 만들어보고 싶었다.
그렇다고 서버만 하던 내가 갑작스레 네이티브를 둘다 익혀서 만들기엔
시간도 한참 모자라다고 생각했다.
그렇게 크로스플랫폼을 고려하게 되었고
RN 과 Flutter 중 하나로 하면 되겠다 싶었는데
예전에 사내 스터디로 Flutter를 잠깐 훑어본 기억이 있어서
괜한 친근감에 Flutter로 결정하게 되었다.
구상
처음엔 그럴듯한 구상이 마구 떠올랐다
나름 우수상을 받은 기획력으로 이것저것 시도해 보고싶은 생각이 들었다.
하지만 내 실력과 시간을 고려하여
최소한으로 만들고 출시를 목표로 진행하기로 하였다.
결국 핵심은
아기의 부모는 사진을 앱을 통해 올리고
그 외 가족들은 앱을 통해서 사진을 본다
정도로 정했다.
1. 사진은 그리드 리스트 형식으로 무한스크롤로 보이도록 하고, 클릭 시 상세화면 진입.
2. 사용자 구분을 지어서 엄마,아빠의 경우 사진을 등록하고 삭제할 수 있도록.
3. 엄빠를 제외한 가족은 초대코드로 가입 후, 사진 보기, 다운로드 등을 가능하게끔.
이 외 추가하고싶은 기능들이 넘쳐나지만 자중하고
출시 후, 업데이트 해보기로 했다.
위 3가지 기능 외에 추가하고싶은 기능들
4. 엄빠가 올린 사진에 가족들이 자유롭게 댓글을 달 수 있게끔.
5. 애기가 여러명일 수 있으니 애기별 카테고리로 만들기.
**6. 한 달 혹은 1년동안 올린사진을 슬라이드 쇼로 만들어서 보여주기.
사실 이 6번이 제일 하고싶다.
네이버 클라우드에 올렸던 예전 사진들을 'n년전 사진' 이라고 하면서
음악과 함께 슬라이드 쇼를 보는데
간단해 보이면서도 너무 매력적인 기능이라고 생각한다.
고찰
막상 Flutter로 개발하다보니 이런저런 어려움을 겪었다.
1. 자료가 별로없다.
널리고 널린 Java 자료와는 다르게
생각보다 원하는 자료를 찾기가 쉽지 않았다.
찾는다고해서 그것이 정확한 자료가 아니기도 했다.
2. 버전을 고려해야한다.
안그래도 자료가 많이 없는데
대부분이 3.x 버전이 나오기 전까지의 자료라서
3.x에 맞는 자료를 찾기가 쉽지않다.
그래서 오히려 다운그레이드로 쓰는 사람도 더러 보였다.
3. Flutter 버전만 생각할게 아니다.
너무 당연?한지 모르겠지만
Flutter 버전과는 별개로
package 버전, 그에 맞는 ios 버전, aos 버전 등
각 버전들이 안맞을 시에는 에러 소나기가 쏟아졌다.
4. Flutter만 하면 안된다.
이것도 당연했다.
결국 Flutter로 할 수 있는건 한계가 있어서
네이티브 소스 혹은 환경을 조금씩 손댈수 밖에 없었다.
5. 상태관리?
어느 블로그에선가 읽었는데
취미로 만든다 = getx
flutter 로 먹고살거다 = provider
말이 많은 부분인 것 같다.
아직 쪼렙인 내가 고려할 부분은 아닌것 같다.
진행
사실 현재 사용자 구분을 하기 전이지만
2번까지는 진행된 상태다.
여기까지 진행하는데도 꽤나 헤멨다.
Flutter 강의를 찾아보고 샘플앱을 만들어도 보고
간단해 보이지만 내가 원하는 방향으로 진행할때마다 에러와 어려움을 겪었다.
앱개발을 해보니 서버입장에서 간단하게만 보였던 것들이 세상 어렵게 느껴졌다.
이래서 역지사지가 필요한가보다
그럼에도 불구하고
앱개발은 꽤나 재밌게 즐기고있다.
서버까지 따로 개발하면 시간이 더 걸릴 것 같아서
파이어베이스를 이용해 서버리스로 개발중이다.
서버리스로 앱개발하는 서버 개발자라니...
우선은 회사일도 있고 짬시간에 만드느라
모든 세세한 것들을 기록할 순 없지만
차차 하나씩 정리해보기로 한다.
그리고 현재의 스크린샷이다.
'사이드 프로젝트 > 가족공유앨범 by Flutter' 카테고리의 다른 글
[Flutter] 서버개발자의 첫 앱 배포 수난기 (0) | 2023.01.31 |
---|