#0.0 Welcome !
강의 소개
- Firebase를 이용해서 Twitter를 클론하는 Nwitter을 만들어 볼 것임
- Firebase를 통해 아래와 같은 매우 다양한 기능을 구현할 것임
- 이메일, 깃헙 등과 같은 Authentification을 통한 회원 가입
- Password를 통한 회원 가입
- Twitter 업로드, 파일 업로드
- 계정 수정, 게시글 수정
- 실시간 연동 시스템 등
- 모든 내용은 백엔드 처리 과정 없이 진행 될 예정이며, CSS로 디자인을 하는게 가장 오래 걸릴 정도로 쉽고 빠르게 코딩을 할 수 있도록 수업을 기획하였음
#0.1 Requirements
- 코코아톡 클론 코딩(CSS, HTML, Github), React Fundamental course, React for Beginners Course, 실전형 React Hooks를 듣고 오는 것이 좋음
- 필요한 기술 : HTML, CSS, React JS, Github 을 활용할 줄 알아야 함.
React Hooks를 이용한 다양한 Component building 방법과 함께 State를 업데이트 하는 방법을 배우게 될 예정
#0.2 What is Firebase?
Firebase란?
- Firebase는 데이터 베이스에서 시작되었으며, 구글에 속해있지 않았으 인수되어 현재의 모습으로 발전되었음
Firebase의 기능
- 백엔드 기능을 포함하여 제공되는 서비스
- 앱을 만들 수 있는 다양한 기능들을 제공함.
- Cloud Firestore는 백엔드 코드 없이 백엔드기능을 사용할 수 있는 기능임
- Firebase ML은 머신러닝이 가능하도록 한 백엔드임
- Cloud Function은 serverless function 제공, AWS Lambda와 같은 기능
- Cloud Storage는 AWS의 S3와 같은 기능으로 사진과 같은 것들을 업로드 할 때 활용
- Hosting은 우리가 만든 Asset을 배포하거나 React Application을 배포하고 싶을 때 활용 가능
- Authentifcation은 이미 구현된 기능으로 10분안에 관련된 Authentification을 할 수 있도록 도와준다.
- Realtime database는 Realtime Firebase database로 Realtime기능이 구현되어있으나 요즘 자주 쓰지는 않음
- 다양한 Analytics 기능을 제공함
- Crashlytics: 앱의 충돌에 관련된 정보를 제공함
- Performance monitoring: app의 보여주는 기능을 제공함
- Test Lab: 웹사이트를 다양한 기기별로 테스트 할 수 있는 기능을 제공함
- App distribution : 너의 ios나 android의 버전 배포를 도와줌
- Grow business에서는 In-App Messaging, Google Analytics등 훨씬 더 다양한 기능을 배포함
- 각각 호환되는 OS가 다르므로 주의할 것
- 이번 강의에서는 Cloud Firestore, Hosting, Authentification, Cloud Storage을 사용할 것임
경쟁사 : AWS amplify - GraphQL, REST API 등 다양한 내용을 지원. 다양한 기능을 제공해주는 반에 새롭게 나온내용이라 많은 자료가 있지 않다는 단점이 있음.
#0.3 When To Use Firebase
- Firebase나 Amplify를 써서 특정한 프로젝트를 진행한다는 것은 모든 내용을 AWS혹은 Google 과 공유한다는 것을 의미한다. 따라서 사업적으로 진지한 서비스나 프로젝트를 해야할 때 권장하지는 않는다. 모든 시스템의 데이터베이스나 정보들은 구글 혹은 AWS서비스 것이 되기 때문이다.
- 하지만, 서비스의 테스팅이나 간단한 프로토타입 버전을 세상에 먼저 공개하려고 한다면, 사용가능하다. 서버를 만들거나 시스템을 만들지 않고도 간단하게 이미 구현된 기능을 이용할 수 있기 때문에 빠른 개발이 가능하다. 따라서 이런 경우 Firebase나 Amplify를 사용해야 할 시기이다.
#0.4 Pricing in Firebase
- Firebase는 무료 한도가 정해져있다. 5기가 클라우딩 업로드 제한이라든지, 하루에 20000번 업로드 가능한다든지, 이러한 방식으로 무료로 사용할 수 있는 범위가 정해져있기 때문에 반드시 확인하고 진행하기를 권장한다.
출처: 노마드코더