안드로이드 앱 개발자를 꿈꾼다면 제일 먼저 배워야 할 프로그래밍 언어가 있습니다. 바로 ‘Kotlin(코틀린)’입니다. 코틀린은 Java와 상호 운용이 가능하고, 그러면서도 Java에 비해 훨씬 깔끔하고 간결한 형식으로 되어 있습니다. 또, 공식적인 통합개발 환경인 Android Studio(안드로이드 스튜디오)를 통해 쉽게 배울 수 있습니다. 그래서 마음만 먹으면 누구라도 안드로이드 어플 만들기 방법과 절차를 손쉽게 이해할 수 있는데요.
앱을 구상하고, 외주를 맡기는 입장에서도 이 과정을 실천하고 이해하면 완성도 높은 앱 서비스를 만드는 데 큰 도움이 됩니다. 개발자와의 협업 과정도 원활해짐은 물론, 최초 요구사항 정의서를 작성할 때에도 더 현실적인 기획 설계가 가능해집니다.
✍️ 이 글의 순서
• 왜 코틀린인가?
• 안드로이드 앱개발 프로세스 A to Z
• 안드로이드 개발자를 찾고 있다면 ‘위시켓’
안드로이드 앱개발 프로세스를 설명하기에 앞서, 먼저 코틀린의 특징을 짚고 넘어가 보겠습니다. 앞서 말했듯이 코틀린은 Java 플랫폼에 기반한 프로그래밍 언어로, 기존 Java 라이브러리 및 프레임워크와 호환된다는 점이 장점입니다. 여기서 파생되는 특징을 정리하면 다음과 같습니다.
코틀린은 Java에 기반하기 때문에 이미 검증된 프로그래밍 해법과 기능을 응용합니다. 언어가 복잡하지 않고, 특히 Java 개발자라면 단시간에 배울 수 있습니다.
가장 간결한 프로그래밍 언어는 Python(파이썬)이지만, 코틀린도 꽤나 간결한 편에 속합니다. 일단 코틀린은 자바에 존재하는 여러 준비 코드를 굳이 작성할 필요도 없습니다. 또, 람다를 지원하므로 작은 코드 블록을 라이브러리 함수에 쉽게 전달할 수 있습니다.
코틀린은 JVM(java virtual machine)에서 실행하기 때문에 상당히 안정적입니다. 또, 코틀린은 타입 자동 추론을 사용하여 앱의 타입 안정성을 보장하며, 컴파일 시점 검사를 통해 오류를 줄여 줍니다.
코틀린은 기존 자바 프로젝트에 (약간의 변환 과정만 거쳐) 바로 도입할 수 있을 정도로 상호운용성이 높습니다. 여기에 더해, 자바 라이브러리뿐만 아니라 어떤 API든 활용할 수 있다는 장점이 있죠.
코틀린의 대표적인 특징을 알아보았으니, 코틀린과 안드로이드 스튜디오를 이용해 실제 안드로이드 어플을 만드는 과정을 자세히 알아봅시다. 안드로이드 앱개발 프로세스는 다음과 같습니다.
코틀린이 권장하는 통합개발 환경(IDE)은 JetBrains IntelliJ IDEA 및 Android Studio입니다. 이때, 안드로이드 앱을 개발할 때는 안드로이드 스튜디오를 필수적으로 설치해야 합니다. 코틀린을 설치했다면 컴파일러가 최신(안정) 버전으로 설정되어 있는지 체크합니다.
본격적으로 앱을 개발하기 전, 버전 관리에 신경 써야 합니다. 특히 다른 사람과 협력할 때는 버전 관리에 공을 들여야 하죠. Github 같은 호스트를 통해 효율적으로 버전을 관리할 수 있습니다.
• git-scm.com에서 git을 설치합니다.
• git의 사용자 정보를 구성하고, IDE를 버전 제어 저장소와 연결합니다.
• 기본적인 git 명령(git init, git add, git commit, git push 등)을 사용해 효과적인 버전 관리를 준비합니다.
본격적으로 프로젝트를 생성하고 코드를 작성할 차례입니다. 처음부터 끝까지 일일이 구문을 작성할 수도 있지만, API 및 라이브러리를 통합하여 빠르고 효율적으로 개발하는 걸 추천합니다.
• API 통합 : 웹에서 제공하는 여러 서비스를 연결할 수 있습니다. 가령 앱 내에 날씨 정보나 소셜 미디어 공유 기능 등을 넣을 수 있습니다.
• 라이브러리 통합 : 앱개발을 간소화할 수 있습니다. 예를 들어 이미지 로딩을 처리하거나, 복잡한 UI를 구현할 수 있습니다.
코드를 작성하고, API와 라이브러리를 통합하고, 실제로 애플리케이션이 실행되는지 확인해 봅니다. 여기까지 하면 일단 1차적으로 앱개발이 끝난 것입니다.
모든 앱개발은 디버깅과 테스트가 필수. 이제 앱개발 2단계, 테스트로 넘어가 봅시다. 코틀린의 안드로이드 스튜디오에는 강력한 디버깅 도구가 존재하며, 이를 이용해 효과적으로 버그를 잡아낼 수 있습니다. 또, JUnit이나 b와 같은 테스트 프레임워크를 통해 앱을 테스트해 볼 수 있습니다.
• JUnit : Java 테스트 프레임워크로, 함수 및 클래스의 테스트 사례를 작성하여 앱이 제대로 작동하는지 확인할 수 있습니다.
• Espresso : Google의 테스트 프레임워크로, 앱의 UI가 올바르게 표현되고 있는지 테스트해 볼 수 있습니다.
여기에 더해, 안드로이드 스튜디오에서는 ‘앱 프로파일링’ 기능을 제공합니다. 이를 통해 앱이 구동되는 동안의 CPU, 메모리, 네트워크 사용량을 파악합니다.
에뮬레이터를 활용하거나 실사용 기기(태블릿, 스마트폰 등)를 이용해 실제로 테스트를 해 봅니다. 아무리 디버깅과 테스트 프레임워크 과정을 거쳤더라도, 실제 기기에서의 작동은 다를 수 있기 때문이죠.
테스트 단계까지 마쳤다면 이제 정식으로 앱을 배포할 차례입니다. 이때 주의할 점은 앱의 버전 관리. 배포하려는 앱이 최종 버전인지, 앱의 버전 번호를 올바르게 작성했는지 확인하세요. 앱 서명(디지털 인증서)을 완료하고, 스토어에 릴리즈하여 정식으로 앱을 배포합니다.
안드로이드 개발의 주요 언어인 코틀린과 안드로이드 앱개발 프로세스에 대해 알아보았습니다. 이 과정만 바르게 이해해도 안드로이드 어플 개발자와의 소통은 어렵지 않게 진행할 수 있습니다. 이제 실제 개발자를 만나야 할 차례인데요. 관건은 개발자의 역량 검증과 우리와의 핏이 잘 맞는지를 체크하는 과정입니다. 어떻게 시작하는 게 좋을까요?
경험이 없거나, 확실한 검증이 필요하다면 국내 1위 IT 아웃소싱 플랫폼 위시켓을 이용하시기 바랍니다. 위시켓에서는 프로젝트마다 1:1로 매니저가 붙어 시작부터 계약, 실제 진행 과정까지 개발의 A to Z를 모두 가이드해 드립니다.
프로젝트 등록만 하면 동시에 여러 개발자(개발업체)들의 지원서를 한 번에 받아보게 됩니다. 과거 진행했던 프로젝트의 고객사들이 직접 남긴 후기와 별점으로 역량을 검증해 볼 수 있습니다. 사람(업체) 찾고, 연락해서 상황 얘기하고, 견적 따로 모아서 비교하는 불편한 과정을 한 번에 해결할 수 있죠. 아래 링크를 누르면 위시켓으로 이동합니다. 들어가 실제 어떤 프로젝트들이 진행되고 있는지 두 눈으로 확인해 보세요.
🔖 함께 보면 도움되는 글
앱개발 비용, 위시켓에서 3배 이상 절감했다는 위지니 이야기
안드로이드 앱개발 ‘이것’ 주의, 자주 하는 실수 6가지
안드로이드 앱개발, 어떤 언어로 만들어야 할까? (자바vs코틀린)