Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Code
  2. Android
Code

안드로이드 처음부터 배우기: 안드로이드 애플리케이션 개발 개요

by
Length:MediumLanguages:
This post is part of a series called Android From Scratch.
Android From Scratch: Setting Up the Development Environment

Korean (한국어) translation by Dae-yeop Lee (you can also view the original English article)

들어가며

2016년 초인 현재 전화, 태블릿, 스마트 TV, 스마트 시계 및 수많은 기기에서 실행되는, 유닉스와 유사한 모바일 운영체제인 안드로이드를 활발히 사용하는 인구는 10억 명이 넘습니다. 안드로이드는 구글에서 개발하고 유지보수하지만 누구나 사용할 수 있고 커스터마이즈할 수 있는 무료 및 오픈소스 소프트웨어입니다. 그 결과, 안드로이드 기기는 삼성, LG, 소니, HTC 같은 여러 주요 기기 제조업체에서 만들어지고 있습니다.

안드로이드의 성공을 이끄는 주요 요인 중 하나는 바로 사용자가 기기에 앱을 다운로드하고 설치할 수 있는 안드로이드 앱 배포 플랫폼인 구글 플레이(Google Play)입니다. 수백만 개의 앱과 수십억 개의 다운로드를 통해 구글 플레이는 iOS 및 윈도우 10을 위한 유사 플랫폼보다 더 규모가 크고 많은 트래픽을 보여줍니다.

저는 이제 여러분이 어떻게 앱 개발자가 되어 안드로이드의 인기를 이용해 돈을 벌 수 있는지 궁금할 거라고 확신합니다. 이 글에서는 안드로이드 애플리케이션 개발에 대해 조망하고자 합니다.

네이티브 안드로이드 앱 개발하기

안드로이드 애플리케이션 개발에는 다양한 접근법이 있습니다. 하지만 이번 연재 기사에서는 네이티브 앱이 우수한 성능을 제공하고, 최소한의 오버헤드로 실행되며, 안드로이드 운영체제의 기능을 최대한 활용할 수 있기 때문에 네이티브 방식에만 집중할 것입니다.

네이티브 안드로이드 앱은 자바 프로그래밍 언어를 사용해 개발하며, 안드로이드 5.0 이상을 실행하는 기기에서는 기본적으로 안드로이드 런타임(ART; Android Runtime)이라는 관리 런타임을 활용합니다. 그러한 앱을 만들기 위해 대부분의 개발자는 구글에서 개발한 공식 안드로이드 IDE인 안드로이드 스튜디오(Android Studio)를 사용합니다. 안드로이드 스튜디오는 무료이며, 윈도우, OS X 및 대부분의 리눅스 배포판에서 실행됩니다.

현재 안정적인 릴리스인 안드로이드 스튜디오 1.5.1에는 강력한 코드 편집기, 시각적 레이아웃 및 테마 편집기, 벡터 및 이미지 애셋 스튜디오 등과 같은 안드로이드 앱 개발의 모든 측면을 단순화하는 많은 기능들이 있습니다. 아직 프리뷰 버전으로만 제공되는 안드로이드 스튜디오 2.0에는 즉석 실행과 GPU 프로파일러와 같은 고급 기능을 제공함으로써 앱 개발 경험을 더욱 향상시킵니다.

안드로이드 스튜디오는 안드로이드 기기를 소유하지 않은 사용자도 이용할 수 있는 현실적인 에뮬레이터도 함께 제공합니다. 무료로 사용할 수 있는 시스템 이미지가 있기 때문에 어떤 안드로이드 버전도 다운로드해서 실행할 수 있습니다.

안드로이드 앱 개발자가 직면하는 도전과제들

하나의 특정 안드로이드 휴대전화 또는 태블릿에서 원활하게 실행되는 안드로이드 앱을 개발하는 것은 쉽습니다. 그러나 모든 안드로이드 기기에서 잘 작동하는 앱을 개발하는 것은 운영체제 버전, 화면 크기, 기기 기능 면에서 엄청난 차이가 있기 때문에 무척 어려울 수 있습니다.

이전 안드로이드 버전 지원하기

애플의 iOS 기기와 달리 대부분의 안드로이드 기기는 소프트웨어 업데이트를 거의 받지 못합니다. 안드로이드의 최신 버전인 마시멜로(Marshmallow)는 몇 달 전에 출시되긴 했지만 오늘날 모든 안드로이드 기기 중 1.5% 미만에서 실행됩니다.

이것은 여러분이 앱을 개발하기로 결심한 경우 킷캣(KitKat) 및 롤리팝(Lollipop)과 같은 이전 버전의 안드로이드를 반드시 지원해야 한다는 뜻입니다. 또한 주된 사용자 기반이 개발 도상국 출신이라면 이전 버전을 지원하는 범위를 안드로이드 진저브레드(Gingerbread)까지 늘리는 것을 권장합니다. 하지만 안드로이드 지원 라이브러리(Android Support Library)뿐만 아니라 다수의 제3자 오픈소스 라이브러리 덕분에 이렇게 하기는 일반적으로 어렵지 않습니다.

다양한 화면 크기와 해상도 처리하기

안드로이드 초기에는 안드로이드를 실행할 수 있는 기기가 거의 없었으며, 거의 모든 기기가 휴대전화였습니다. 그러나 수년에 걸쳐 안드로이드 플랫폼을 채택하는 장치 제조업체가 점점 늘어나면서 기기의 화면 크기와 픽셀 밀도가 크게 다양해지기 시작했습니다.

안드로이드 허니컴의 출시와 함께 안드로이드는 태블릿 및 스마트 TV와 같은 대형 화면 장치를 지원하기 시작했습니다. 결과적으로 오늘날의 개발자들은 여러 개의 이미지 크기와 레이아웃을 사용해 그러한 모든 다양한 화면을 지원해야 합니다.

레이아웃을 만드는 것은 여전히 시간이 많이 걸리는 과정이지만 벡터 애셋 스튜디오(Vector Asset Studio) 덕분에 다양한 이미지 크기를 관리하기가 쉬워졌습니다.

하드웨어 센서 가용성 처리하기

일부 고급형 기기만 안드로이드 SDK가 지원하는 모든 하드웨어 센서를 갖추고 있습니다. 따라서 개발자는 런타임에 장치의 하드웨어 기능을 결정하고, 가능한 경우 단계적으로 기능을 축소할 수 있는 앱을 작성해야 합니다.

안드로이드 SDK(Software Development Kit)에는 이 작업을 단순화하기 위한 센서 프레임워크가 있습니다. 또는 개발자는 사용자가 구글 플레이 필터를 사용해 필요한 하드웨어가 누락된 기기에는 앱을 설치하지 못하게 할 수 있습니다.

최근 동향

안드로이드 플랫폼은 끊임없이 진화하고 있으며, 앱 개발자는 사용자의 기대치에 부합하는 앱을 제작할 수 있도록 최신 트렌드를 쫓아가야 합니다.

머티리얼 디자인

머티리얼 디자인(Material design)은 안드로이드 롤리팝 및 마시멜로의 기본 룩앤필과 룩앤필이 일치하는 앱을 제작할 수 있도록 신중하게 고려된 디자인 가이드라인 모음입니다. 단순함과 현대적인 외관으로 인해 머티리얼 디자인은 개발자와 디자이너 모두에게 인기가 있습니다.

안드로이드 웨어

안드로이드 웨어(Android Wear) 스마트워치는 최신 모델들이 더 외관이 수려하고 그것들을 더 재밌게 사용할 수 있게 만들어주는 새롭고 개선된 제스처 및 시계 모드와 기능 덕분에 인기가 높아지고 있습니다. 그 결과, 점점 더 많은 개발자들이 앱과 웨어러블 기기가 상호작용할 수 있도록 앱에서 Wear API를 사용하고 있습니다.

안드로이드 앱 게시

앱을 개발하고 나면 온라인에 게시해서 전 세계 사람들이 다운로드해서 사용하게 할 수 있습니다. 앱을 게시할 수 있는 안드로이드 앱 마켓플레이스는 많지만 오늘날 가장 인기 있는 안드로이드 앱 마켓플레이스는 구글 플레이입니다(대부분의 안드로이드 기기에 미리 설치돼 있기 때문).

구글 플레이에 앱을 게시하려면 등록 수수료 25달러를 지불하고 개발자 계정을 만들어야 합니다. 계정을 만들었다면 앱을 게시할 때 몇 가지 스크린샷과 함께 앱의 APK(안드로이드 스튜디오를 이용해 생성하는 압축된 패키지 파일)를 업로드하고 앱의 이름과 설명과 같은 세부 정보를 제공합니다.

모든 세부 정보를 제출한 후 앱이 마켓플레이스에 게시되기까지는 몇 시간 동안 기다려야 합니다. 2015년 초 구글 플레이는 앱 승인 프로세스를 도입해서 게시된 앱이 구글의 콘텐츠 정책을 준수하는지 확인하고 있습니다.

안드로이드 앱을 이용한 수익 창출

안드로이드 앱 개발은 재미 있고 여러분이 만든 앱이 구글 플레이에 게시되는 것을 보는 것보다 흥미진진한 일은 없습니다. 하지만 앱을 만드는 데 많은 노력을 기울였다면 그 앱으로 수익을 창출하면 어떨까요? 오늘날 수많은 사람들이 안드로이드 앱을 개발하고 있으며, 앱이 충분히 훌륭하다면 여러분도 그렇게 할 수 있습니다.

앱으로 수익을 창출할 수 있는 방법에는 여러 가지가 있습니다. 다음은 세 가지 인기 있는 방법이며, 모두 구글에서 제공하는 서비스를 이용합니다.

  • 구글 플레이에서 판매: 대부분의 국가에서 개발자는 구글 플레이에 유료 앱을 게시할 수 있습니다. 무료 앱과 달리 유료 앱은 사용자가 결제한 후에만 다운로드할 수 있습니다. 이를 위한 코드를 작성할 필요가 없기 때문에 앱으로 수익을 창출하는 가장 쉬운 방법입니다.
  • 디스플레이 광고: 구글의 모바일 광고 SDK를 사용해 앱에 배너 또는 삽입 광고를 게재할 수 있습니다. 디스플레이 광고를 설정해두면 일반적으로 사용자가 광고를 보거나 클릭할 때마다 비용이 지급됩니다.
  • 앱 내부 품목 판매: 인앱 결제 API를 이용하면 이미 앱을 사용하고 있는 사용자에게 디지털 품목을 판매할 수 있습니다. 예를 들어, 앱을 무료로 만든 다음 약간의 비용을 청구해서 앱의 특수 기능을 풀 수 있습니다. 이 같은 유형의 앱을 종종 프리미엄(freemium) 앱이라고도 합니다.

결론

오늘날 안드로이드 앱 개발이 의미하는 바를 이제 전반적으로 이해하셨길 바랍니다. 모든 어려움에도 불구하고 안드로이드 애플리케이션 개발은 온라인에서 제공되는 광범위한 문서와 끊임없이 발전하는 개발 도구 덕분에 매우 쉽습니다.

이 시리즈의 다음 글에서는 컴퓨터에 안드로이드 스튜디오를 설정하는 방법을 배우면서 안드로이드 앱 개발자가 되기 위한 첫 걸음을 내딛을 것입니다.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.