[프로젝트] 토이 프로젝트 : 인스타그램 클론 코딩
Android를 더 공부하고 싶어서 반년을 휴학했다. 다시 학교로 돌아가기 전에 간단한 프로젝트를 진행하고 싶었다.
내가 어떤 서비스를 기획하고 만드는 것도 좋지만 빠르게 진행하고 싶었기 때문에 클론 코딩을 하게 되었다. 이미 나와있는 서비스를 내가 다시 만들어 보는 것도 이런 기능은 어떻게 구현되는지 다시 한번 생각해 보는 계기가 되기 때문에 많은 도움이 될 거라고 생각한다. 실제로도 내가 사용하는 앱들이 어떻게 구현되는걸까 한번씩 생각하게 된다.
- 프로젝트 명 : 준스타그램 (인스타그램 클론코딩 프로젝트)
- 어플리케이션 명 : Junstagram
- 개발기간 : 2021.07 ~ 2021.09
해당 프로젝트는 아래의 2019년도 강의를 참고하여 Kotlin으로 진행하였다.
이 프로젝트를 진행한 목적/목표는 다음과 같다.
- Firebase를 이용한 개발 경험 쌓기
- ViewBinding을 이용하여 UI 개발하기
- 안드로이드 최신버전을 사용하여 deprecated된 기능 스스로 해결하여 개발하기
1번 목표 : Firebase를 이용한 개발 경험 쌓기
Firebase Auth를 이용한 구글 로그인, 이메일 로그인 기능을 개발하였으며, 데이터 저장은 FireStore를 이용하여 진행하였다.
Firebase를 하면서 연동 이슈도 만나게 되었고, 구글 로그인 파트를 개발하면서 deprecated된 startActivityForResult()를 해결하기 위해 Activity Result API를 이용하였다.
2번 목표 : ViewBinding을 이용하여 UI 개발하기
Activity 부분은 ViewBinding을 이용하여 개발하였다. '법과 점심'이라는 프로젝트 개발 시, 'kotlin-android-extensions'이 deprecated되며 ViewBinding에 대해 알게 되었고 이번 프로젝트에도 적용하여 개발하였다.
3번 목표 : deprecated된 기능 스스로 해결하여 개발하기
클론 프로젝트는 다음과 같은 환경에서 진행하였다.
- AndroidStudio : 4.2.2
- targetSdkVersion : 30
- minSdkVersion : 21
- Kotlin : 202-1.5.21-release-315-AS8194.7
오랫동안 안드로이드 스튜디오 업데이트를 하지 않아 4.1.3 버전에서 개발하고 있었다. 최신 버전을 받아 개발하면서 많은 deprecated 기능을 발견할 수 있었고, 꾸준히 업데이트하여 개발해야 겠다고 생각했다. 특히 setOnNavigationItemSelectedListener의 deprecated 이슈 해결은 많은 분들에게 솔루션을 제공하는 인기글이 되는 뿌듯함도 경험하였다.