기타

처음 해보는 앱 개발부터 구글 스토어 등록까지 | 전반적인 후기

junjunjun 2023. 8. 14. 22:48
반응형

앱 개발 계기

원래는 웹 백엔드 개발자가 되기 위해서 공부를 해왔습니다. 하지만 취업도 안 되고 개발에 대한 흥미를 잃어가서 평소 생각해 왔던 서비스를 만들고자 하였습니다.

 

간단한 랜덤채팅 서비스로 웹에서 제공하기에는 서비스의 특징을 제대로 살릴 수 없을 거라 생각하여 이번에 새로 앱을 공부하기로 하였습니다.

 

개발 도구

예전에 학교에서 살짝 안드로이드 스튜디오를 배웠고 갤럭시 유저이기 때문에 안드로이드 앱 개발을 선택하였습니다..

 

안드로이드 스튜디오 사이트에 들어가서 알아본 결과 최근에는 Jetpack Compose로 좀 더 쉽게 개발할 수 있다고 하여 Jetpack Compose를 공부하기로 하였습니다.

또한 Jetpack은 Java언어를 지원하지 않기에 Kotlin언어 또한 공부가 필요했습니다.

 

그렇게 모든 것이 결정되고 계획을 세웠습니다.

 

첫 번째 계획 설정 (현실 직시)

  Jetpack Compose는 공식 문서화가 정말 잘 되어있습니다. 또한 처음 배우는 사람들을 위한 강의까지 있습니다.

그렇기에 강의를 보면 금방 앱을 개발할 수 있을 거라 생각했습니다.

그렇게 일주일을 공부 기간으로 잡고 나머지 3주 동안 앱을 개발하여 완성되는 것을 목표로 하였습니다.

 

하지만 현실은 그렇게 되지 않았습니다.

 

그 이유로는

 

1. Kotlin은 생각보다 어려웠다.

  솔직히 Java를 어느 정도 다룰 수 있는 상태이며 Java와 Kotlin은 비슷하다는 이야기를 많이 들어서 금방 배울 수 있을 거라 생각했습니다. 하지만 Kotlin은 뭔가 Java + Javascript 느낌으로 Java에 더해 추가적인 개념이 필요하였고 이게 처음에는 좀 생소하여 어려움을 느꼈습니다.

 

2. 생소한 앱 개발

  웹의 백엔드 개발 위주로만 공부를 해왔기 때문에 앱의 생소한 개념들을 이해하는 게 어려웠습니다. 특히 상태나 생명주기 같은 부분이 어려웠고 지금도 확실하게 이해를 한 건지 모르겠습니다.

그 밖에 아래와 같은 세세한 부분들은 저의 개발 역량 부족으로 신경조차 쓰지도 못했습니다.

  • 최적화 작업(배터리나 용량 문제)
  • 네트워크가 불안정할 때 처리, 그 밖에 예외상황 처리
  • 기기의 화면 크기에 따른 ui 처리
  • 테스트 코드

 

3. 간단하다고 생각했던 채팅 앱은 사실 간단하지 않았다.

먼저 서비스에 대한 전체적인 기능을 정하였고 그중 로그인 기능을 먼저 구현하기로 결정하였습니다.

간단하게 요구 사항을 작성하고 바로 목업(UI 틀 작업)을 제작하였습니다.

 

처음에 제작된 목업은 다음과 같다.

처음 생각한 로그인 화면

하지만 저는 실제 구글 스토어에 배포까지 할 생각을 하고 있었기에 기존의 앱들을 참고하여 좀 더 세부적으로 다시 목업을 제작하였습니다.

세부적으로 다시 제작한 로그인 목업 UI

당장 로그인 기능만 해도 화면에 보이는 스크린의 개수부터 화면 간의 상호작용, 인증 작업, db 구축 등 처음 앱을 개발하기에는 복잡한 요소들이 너무 많았습니다.

로그인 기능이 이 정도인데 채팅기능까지 생각해 보면 앱을 완성하기도 전에 포기할 거 같았습니다.

 

 

결론적으로

코틀린과 안드로이드 앱 개발을 공부하는데 많은 시간이 걸렸고 채팅 앱은 구현하기에는 스스로의 개발 역량이 부족하다고 판단하였습니다.

 

따라서 먼저 유저인증도 없고, 네트워크 연결도 필요 없는 앱을 개발하기로 하였습니다. 

앱의 이름은 "MBTI 벨런스 게임"으로 성격 유형 테스트 앱입니다.

 

두 번째 계획 설정 

"MBTI 벨런스 게임"은 질문에 대한 두 가지 답변 중 하나를 선택하여 mbti 유형 결과를 확인할 수 있는 서비스입니다.

앱의 요구사항을 새로 작성해 준 뒤 목업 작업을 진행하였습니다.

앱 전체 목업 UI

 

메인 화면, 테스트 선택 화면, 테스트 화면, 결과 화면, 질문 리스트 화면, 개별 질문 결과 화면, 이전 결과 화면 총 7개의 화면만 구현해 주면 되어 많이 간단해졌습니다.

 

앱 개발

사실상 가장 많은 시간을 쏟는 부분입니다.

 

예제 프로젝트를 많이 참고하여 진행하였습니다. 앱 개발 초기에는 앱의 작동 방식에 대한 이해가 부족하여 어려움을 겪었지만 이론을 공부하면서 어느 정도 해소되었습니다. 그 뒤로는 거의 반복되는 코드를 복붙 하는 수준으로 작업하였습니다.

 

네트워크가 필요하지 않다는 것만으로 정말 많은 개발 요소가 줄었음을 느낄 수 있었습니다.

 

 

로고 작업

기존에는 혼자 프로젝트를 진행하면 대충 아무 이미지를 가져와서 넣어주었습니다. 하지만 이번에는 직접 로고나 앱에 필요한 이미지를 만들어보고 싶었습니다.

직접 만들어 본 로고

무료 서비스를 이용하여 간단하게 제작하였습니다. 제작 방법은 여기서 확인하실 수 있습니다.

 

구글 스토어에 등록

웹처럼 도메인을 구매하거나 서버가 필요하지 않고 구글 스토어에 등록만 해 주면 되었습니다.

등록 방법은 아래 블로그에 나와 있는 내용을 참고하여 그대로 진행하였습니다.

https://junesker.tistory.com/32

 

[Andriod] 구글 플레이스토어 앱 등록 및 출시 방법

회사에서 만든 앱을 구글 플레이스토어에 등록 및 출시하여 사용할 수 있도록 서비스를 전환하게되었다. 그래서, 새롭게 등록하고 출시한 방법을 메모하고자 한다. 구글 플레이스토어 어플리케

junesker.tistory.com

다른 사용자와의 상호작용이 필요하지 않고 네트워크 연결이 불필요한 앱이라서 그런지 쉽게 절차를 통과할 수 있었습니다.

 

 

후기

세부적인 사항을 고려하지 않고 개발하였을 때 출시까지 비교적 수월하게 진행할 수 있었습니다. 그러나 실제 많은 유저가 사용하는 앱을 개발하기 위해서는 모든 세부 사항에 신경 써줘야 되기에 더 많은 공부의 필요성을 느꼈습니다.

 

디자인 부분에서는 좀 더 퀄리티 있게 제작할 수 있다면 좋겠다는 아쉬움이 있었습니다.

 

전체적으로 공식 예제만 잘 따라온다면 쉽게 앱을 개발할 수 있을 거 같았습니다. 하지만 깊게 파고들수록 관련 자료가 적어서 약간의 어려움도 있었습니다.

 

추후에는 네트워크가 필요한 앱을 개발해 볼 생각입니다. 그때 다시 후기를 남기도록 하겠습니다.

 

 

 

앱은 아래에서 확인하실 수 있습니다.

https://play.google.com/store/apps/details?id=com.mbtitestapp&hl=ko-KR

 

MBTI 벨런스 게임 - Google Play 앱

MBTI 벨런스 게임 - 다양한 벨런스 질문을 통해 mbti를 결과를 확인할 수 있습니다.

play.google.com

 

반응형