현재 80% 완성된 앱 스택 알려줌.
앱
프레임 워크: 플러터
- 웹사이트가 아니라 OS 기능이 꼭 필요해서 웹앱이 아니라 플러터로 만듬.
상태관리 : Riverpod / Freezed
라우팅: Gorouter
오류 탐지: Sentry
- 아직 제품을 출시 안해서 모르겠지만, 실제로 게발과정에서 오류 알림 오는거 보니 아주 좋음
- 디스코드에 연결해서 주로 사용.
결제 모듈: RevenuCat
- 아직 탑재는 안했는데. RevenuCat으로 탑재할 예정
그외 주요 패키지: Code Magic(CI, cd), shorebird(code push)
백엔드
서버 : Supabase
- 처음에는 AWS Amplify와 Firebase로 기초만 구현 해봤는데 결국엔 Supbase로 선택함
- 내가 만드는 쿼리를 noSQL 구현하는게 너무 복잡했음
- Firestore 처럼 반환 행당 가격을 내는 구조에서는 가격 최적화까지 신경쓰니 너무 어려웠음.
- 서버리스 sql로 neon이나 cloudflare d1도 있었는데 둘다 단점이 너무 명확해서 안전빵인 supabase로 선택
블롭 스토리지: Cloudflare R2
- R2에다 Web Application Firewall 적용해서 사용함.
- Supbase 자체 storage를 사용할 수도 있는데 r2가 획기적으로 저렴함
랜딩페이지: SvelteKit / Cloudflare Pages
- Docusaurus vs. Astro vs. Sveltekit
- 셋 중 뭘로 할까 고민히다가 sveltekit으로 만듬.
- 이건 뭘 해도 상관 없다고 본다.
- 하지만 정적 웹사이트 호스팅이 목표라면 vercel보다 cloudflare pages가 훨씬 좋음
훨씬 좋다고 하는 부분에서 예를 들거나 좀더 설명해주면 고맙겟음
1. 무료 플랜에서 bandwith, static requests가 무제한 2. cloudflare dns, cdn이랑 연동이 자동화되어 있어서 cloudflare 보안 관련 환경을 쉽게 이용 가능
상태관리쪽 더 말해줘
riverpod랑 bloc 있는데. 둘 중 뭘 사용해도 괜찮다고 봄.
mvvm 구현하는데 provider로 충분하지 않나 해서
난 플러터에서 웹 프론트처럼 쓰는 라우팅에 대해 필요성을 못느끼겠던데 어떰?
사용자가 Uri를 직접쓰는것도 아니라서
나는 원래 기초 라우터는 아주 조금만 배우고 넘어가서, 원래 라우터의 한계를 느낀 사례가 없없음. gorouter로 auth status stream, 화면 전환시 vaildation 체크가 편함.
D1 어떤단점때문에 거름?
랜딩페이지, 상세페이지, 쇼핑몰, 플랫폼, 커뮤 등등 업계 10년차 전문가 제작 ▶▶▶ ⭐ 카톡 : lala9040 ⭐