안드로이드 앱개발 ‘이것’ 주의, 자주 하는 실수 6가지

2024.04.11

|

91

앱개발 외주를 주기로 마음 먹었다면 가장 먼저 할 일은 어떤 운영체제(OS)를 선택할지 정하는 일입니다. 컴퓨터 운영체제(OS)에 윈도우와 맥이 있듯이, 모바일 앱에는 안드로이드와 iOS가 있습니다. 각각의 OS는 장단점이 있고, 무엇보다 개발 방법이 아예 다르기 때문에 어떤 OS로 개발할지 정하는 것은 매우 중요하죠.

오늘은 그중에서도 ‘안드로이드 OS’ 개발에 관한 정보를 공유하고자 합니다. 안드로이드 앱개발 ‘기초 상식’과 ‘자주 하는 실수’를 알아보겠습니다.

✍️ 이 글의 순서

• 안드로이드 OS의 특징
• 안드로이드 앱개발 기초
• 안드로이드 앱개발 시 자주 하는 실수 모음

안드로이드-앱개발-자주하는-실수

안드로이드 OS의 특징

먼저 안드로이드 OS의 특징은 iOS에 비해 ‘개방적’이라는 점입니다. 윈도우나 맥이 아니라 공개 운영체제인 리눅스 기반이며, 대부분의 코드가 넷상에 공개되어 있죠. 또, 구글 플레이 같은 전용 앱스토어 외에도 다양한 루트로 앱을 공개할 수 있으며, 거의 모든 앱은 같은 API를 사용합니다.

한편, 안드로이드 OS는 자바(Java)와 코틀린(Kotlin)을 이용해 개발돼요. 스위프트(Swift) 혹은 오브젝티브-C(Objective-C)를 이용해 개발하는 iOS와 대조되는 부분.

안드로이드는 개방성이 뛰어난 장점이지만, 반대로 그렇기 때문에 앱의 안정성이 떨어지는 편입니다. 보안성도 낮은 편이고요. 또, 대표적인 단점 중 하나로 멀티태스킹 문제가 있습니다. 한 번에 한 가지 프로세스만 작동하는 iOS와 달리, 안드로이드 여러 프로세스가 백그라운드에서 계속 재생됩니다. 결국 배터리 과소비나 메모리 부족 등의 문제를 초래할 수 있어요.

안드로이드-OS-특징-개방성-안정성

안드로이드 앱개발 기초

안드로이드 아키텍처

안드로이드 플랫폼은 리눅스 커널(Linux Kernel)을 기반으로 하며, HAL(Hardware Absrtraction Layer)은 자바 API 프레임워크에 하드웨어 기능을 이용하죠. 즉, 자바 API 프레임워크에서 하드웨어 기기(오디오, 센서, 카메라 등)을 이용하기 위한 코드를 실행하면 HAL의 라이브러리 모듈이 작동됩니다.

런타임

안드로이드는 자바로 개발한 언어이지만, 런타임 때 안드로이드는 ART(Android Runtime)을 이용합니다. 자바로 개발한 개발자 코드를 컴파일러가 자동으로 DEX 파일로 변경하고, ART는 이 DEX 파일을 해석하여 작업을 수행합니다.

프레임워크

안드로이드 앱은 ‘자바 API 프레임워크’를 이용합니다. 자바 API 프레임워크는 안드로이드 앱의 표준 라이브러리로, UI를 구성할 수 있는 view 클래스, 리소스 관리 클래스, 데이터 영속화 클래스 등 다양한 클래스를 제공하죠. 다른 시스템 라이브러리를 이용할 필요 없이 자바 API 프레임워크만 사용하면 된다는 것은 안드로이드 OS의 분명한 장점.

컴포넌트 기반 개발

안드로이드 앱 아키텍처의 가장 큰 특징은 ‘컴포넌트’를 기반으로 개발한다는 점이에요. 컴포넌트란 앱의 구성 단위로, 컴포넌트 여러 개를 조합하여 하나의 앱을 만들 수 있는데요. 컴포넌트는 앱 내의 독립적인 실행 단위로, 여러 컴포넌트를 사용하여 안드로이드 앱을 개발할 수 있습니다.

💊 대표적인 컴포넌트 종류

액티비티(Activity): 사용자 화면 제공

서비스(Service): 백그라운드 (장시간) 작업 수행

콘텐츠 프로바이더(ContentProvider): 앱 간 데이터 공유

브로드캐스트 리시버(BroadcastReceiver): 배터리 부족, 시스템 온 오프 등 이벤트 발생 공유

안드로이드-앱개발-기초-컴포넌트-기반

안드로이드 앱개발 시 자주 하는 실수 모음

안드로이드 앱개발 시 자주 범하는 실수가 있는데요. 혹시 이런 실수를 하지 않는지, 개발 전 체크해 보도록 합시다.

⚠️ 안드로이드 개발 설명서(가이드) 없이 개발한다.

안드로이드 개발 사이트에서는 매우 유용한 문서를 함께 제공하는 편입니다. 가이드, 튜토리얼, 트레이닝 킷까지 제공하는데, 이를 놓치는 경우가 많습니다. 마찬가지로, 안드로이드 개발자 커뮤니티를 들여다 보지 않는 경우도 흔합니다.

⚠️ 안드로이드 툴을 활용하지 않는다.

안드로이드는 앱을 컴파일하기 위한 라이브러리뿐만 아니라 다양한 툴을 제공하고 있습니다.

⚠️ 자바라고 ‘쉽게 생각’하거나, 개발 자체를 ‘저평가’한다.

자바는 간결한 개발을 가능하게 해 주는 언어이지만, 그렇다고 ‘쉬운 개발 언어’인 건 아닙니다. 비효율적으로 프로그래밍을 한다면 당연히 사용자 만족도에 악영향을 주겠죠. 혹은, PC에 비해 앱개발은 쉽거나 간단할 거라고 생각하는 개발자들도 있습니다. 하지만 모바일 앱 또한 전통적인 소프트웨어 개발과 동일하게 취급해야 합니다.

⚠️ 잘못된 파일 구성을 하거나, 샘플 코드를 그냥 적용한다.

안드로이드 메니페스토 파일은 어플 실행에 필수적인 구성 파일이지만, 이를 잘못 구성하는 경우가 종종 있습니다. 혹은, 안드로이드는 다양한 샘플 코드를 제공하는 편인데, 이에 대한 공부 없이 곧바로 코드를 적용할 경우 오류가 날 수 있습니다.

⚠️ iOS 앱처럼 작동하게끔 개발한다.

안드로이드는 앞서 설명했듯이 컴포넌트를 기반으로 개발합니다. 이런 컴포넌트에 대한 이해 없이 iOS처럼 작동되게 개발한다면, 안드로이드 OS를 선택한 사용자에게 실망감을 줄 수 있습니다.

⚠️ 유지보수를 하지 않는다.

안드로이드 개발도 일반적인 소프트웨어 개발과 동일합니다. 정기적으로 업데이트 하지 않는 앱은 ‘죽은 앱’에 가깝습니다. 신규 이용자가 줄어드는 건 기본, 기존 이용자 역시 찾지 않게 되는 이중고를 겪게 되죠.

안드로이드-앱개발-자주하는-실수-모음

안드로이드 OS는 초보 개발자가 뛰어들기 좋은 플랫폼이지만, 그렇다고 마냥 쉬운 플랫폼은 아닙니다. 안드로이드 OS 자체에 대한 이해도 필요하고, 앱 시장이나 최근 트렌드를 잘 알아야 해요. 최근에는 안드로이드 OS에서 어떠한 앱을 개발할 수 있을까요? 또, 어떤 앱을 개발하면 좋을까요?

IT 아웃소싱 전문 플랫폼 ‘위시켓’에서는 오늘도 수많은 클라이언트와 개발자들이 독창적인 아이디어를 제시하고 있습니다. 위시켓에서 안드로이드 OS와 관련해 새로운 아이템이 있는지, 또 안드로이드 개발에 참고할 만한 것은 무엇인지 생생하게 확인해 보세요.

💡 about 위시켓 : 2012년 설립된 위시켓은 지금까지 ‘세상이 일하는 방식을 더 행복하게’ 만들기 위해 IT 아웃소싱 시장에 혁신을 만들어가고 있습니다. 현재까지 97,569개의 기업이 누적 7,519억 원 이상의 프로젝트를 믿고 맡겨주셨습니다.


🔖 함께 보면 도움되는 글

어플 개발, 안드로이드 vs iOS 차이점 요약 비교

안드로이드 앱개발, 왜 코틀린(Kotlin)이 필요할까?

아이디어만 가지고, 안드로이드 앱 개발에 도전했어요.


국내 1위 IT 아웃소싱 플랫폼 위시켓 >

앱 개발 비용 궁금하세요?
위시켓이 바로 알려드릴게요!

런타임안드로이드안드로이드 OS안드로이드 개념안드로이드 실수안드로이드 아키텍처안드로이드 앱개발안드로이드 어플 개발안드로이드 주의사항안드로이드 컴포넌트안드로이드 특징앱개발 실수앱개발 주의사항위시켓
다음 글

위시켓 블로그의 새로운 소식 받기