본문 바로가기

프로젝트/ChatApp ver.1 (w/Firebase)

00. 시작하며

백엔드


물론 SQL이나 Oracle을 사용해 직접 구현하는 능력자들도 많다는 걸 알고 있다.
문제는 내가 그럴 재량이 없다는 것.

이름을 들어본 서비스들과 써 본 경험이 있는 서비스들이 존재한다.
간단하게 소개하고 왜 선택했는지 이유를 적어 둔다.

AWS

 

클라우드 서비스 | 클라우드 컴퓨팅 솔루션| Amazon Web Services

개발자, 데이터 사이언티스트, 솔루션스 아키텍트 또는 AWS에서 구축하는 방법을 배우는 데 관심이 있는 모든 사용자용 무료 온라인 교육 AWS 전문가가 구축한 500개 이상의 무료 디지털 교육 과정

aws.amazon.com

가장 보편적인 백엔드 서비스로 규모도 가장 크고, 자료도 가장 많다.
어쩌면 가장 도움이 되는 경험일 수도 있겠지만, 여기에 삽질을 하기엔 개인적인 우선순위가 낮았다고 할 수 있다.
선배의 토이 프로젝트가 서버비 테러를 당한 것도 전해 들은 적이 있어 덜컥 겁을 먹었기 때문에 선택하지 않았다.

Heroku

 

Cloud Application Platform | Heroku

Heroku is a platform as a service (PaaS) that enables developers to build, run, and operate applications entirely in the cloud.

www.heroku.com

Heroku는 대학교 강의에서 처음 알게 된 곳이다.
강의가 잘못된 탓인지 하면서도 꽤 애를 먹었던 것 같다.
여하튼 Heroku의 공식 지원 언어는 Node.js, Ruby, Java, PHP, Python, Go, Scala, Clojure로
굵직굵직한 언어들은 지원하지만 이제 막 날개를 펴기 시작한 Swift는 포함돼있지 않다.
aws보다 더 많은 삽질이 눈에 훤하니 당연히 탈락.

Firebase

 

Firebase

Firebase는 고품질 앱을 빠르게 개발하고 비즈니스를 성장시키는 데 도움이 되는 Google의 모바일 플랫폼입니다.

firebase.google.com

Firebase는 군 복무 중일 때 선임에게 처음 들었던 서비스다.
당시에 '난 여자친구 기념일에 앱을 만들어 배포해 본 적이 있어(안드로이드)'라는 상당히 쇼킹한 선임이었는데,
최근 프로필에 구글 스탭 롤 사진이 있는 걸 보니 크게 됐나 보다.

그다음 실제로 접한 게 21년에 심심해서 해 본 홈페이지 프로젝트였다.

 

'프로젝트/Chillog (Blog)' 카테고리의 글 목록

노는 것도 뼈와 살이 되는 블로그.

chillog.page

Firebase를 백엔드로 사용해 웹페이지를 만드는 토이 프로젝트였는데,
전혀 상관없던 웹이라 그런지 프로젝트에 적용할 때 애를 좀 먹은 것 말고는 상당히 좋은 인상이 남았다.
무려 엄청난 삽질과 더러운 코딩으로 난도질을 해도 가장 낮은 유료 플랜으로 감당할만한 요금이 나왔으니,
심리적 안정도 되고 말이다.

좌우간 가장 최근에 사용했고, 가장 익숙한 Firebase를 사용해 채팅의 백엔드를 구성한다.

 


UI

UI 구현은 Storyboard와 SwiftUI 중 SwiftUI를 사용한다.

 

SwiftUI Overview - Xcode - Apple Developer

SwiftUI is an innovative, exceptionally simple way to build user interfaces across all Apple platforms with the power of Swift.

developer.apple.com

Storyboard도 Catalist를 사용하면 호환에는 크게 문제가 없지만,
ARM으로 전환된 지금, 미래는 SwiftUI라고 판단했다.
둘을 배우면서 크게 간소화된 반복적인 작업 방식이 훨씬 편하기도 하고,
지금처럼 여러 경험을 원하는 상황이라면 UI 구성에 많은 시간을 할애하기 힘들기 때문이다.

기능

아래의 기능을 구현한다.

  • Firebase의 Firestore 연동
  • Firestore DB 구성
  • Firestore의 실시간 동기화

간소화해서 채팅의 기본적인 기능만 구현한다.

Auth를 사용한 회원 가입이나 별도의 잡다한 기능들은 추후에 다시 구현해 볼 생각이다.

 

참고


요즘만큼 뭔가를 배우기 좋은 시대는 없다고 생각한다.
여러 크래쉬 코스 중 만만하다고 생각한 위의 풀코스 영상을 기초로 하여 기본 기능을 구현하는데 그치지만,
테스트하면서 필요한 기능을 추가적으로 구현하고, 추후엔 UI도 리패키징해 볼 생각이다.

'프로젝트 > ChatApp ver.1 (w/Firebase)' 카테고리의 다른 글

05. 더 나아가기  (0) 2022.10.15
04. Firebase에 쓰기  (0) 2022.10.15
03. Firebase 초기화 및 Swift에서 사용하기  (0) 2022.10.13
02. Firebase 연결하기  (0) 2022.10.13
01. 인터페이스 디자인  (0) 2022.10.11