인스타그램 클론 코딩 (1)
짧은 개발 기간 안에 Flutter와 Firebase를 선택하고, 인스타그램 클론의 첫 구조를 잡았던 기록.
2023년 10월 6일
오늘부터 인스타그램 어플을 따라 만들어 보기로 했다.
개발 기간을 짧게 잡았기 때문에 Flutter와 Firebase로 구현하기로 했다. 개발은 맥북과 VS Code를 사용했다.
Flutter는 코드를 수정한 뒤 변경 사항을 바로 확인할 수 있는 Hot Reload를 제공한다. 짧은 시간 안에 화면을 계속 확인하며 작업하기에 좋다고 생각했다. Firebase도 Dart 환경에서 인증을 빠르게 붙일 수 있고, 데이터베이스를 간단하게 시작할 수 있어서 두 도구를 선택했다.
먼저 홈 화면에 게시물이 뜨는 기준부터 생각했다. 실제 인스타그램의 추천 알고리즘은 복잡하고 공개되어 있지 않다. 그래서 처음에는 내가 팔로우한 사람의 게시물을 시간순으로 보여 주는 흐름으로 단순하게 구현하기로 했다.
이 글에서는 프로젝트와 Firebase의 기본 연결까지만 진행한다.
Flutter 프로젝트 생성
원하는 폴더에서 프로젝트를 만든다.
mkdir instagram
cd instagram
flutter create --platform android,ios instagramclone
Android와 iOS만 만들 것이므로 두 플랫폼을 대상으로 생성했다.
Firebase 프로젝트 생성 및 연결
Firebase Console에서 프로젝트를 만든 뒤 Flutter 앱을 연결한다.
앱이 연결되면 main에서 Firebase 초기화를 먼저 해 준다.
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
runApp(const MyApp());
}
여기까지 하면 기본 설정은 끝이다. 다음에는 회원가입과 로그인 흐름을 구현해 볼 생각이었다.
원문: Velog에서 보기