티스토리 뷰
이번에는 안드로이드가 어떻게 돌아가는지 그리고 무슨 특징이 있는지 공부를 해보았습니다.
뭐든지 어떻게 돌아가고 무슨 특징이 있는지 잘 잡아야지만 그것에 대해서 공부를 할 때 덜 헷갈리더군요 ㅎㅎ
안드로이드의 특징입니다.
- 안드로이드는 공개 운영체제인 리눅스 기반이다.
- 안드로이드 앱 개발은 자바 와 코틀린을 이용해 개발합니다.
- 운영체제의 핵심 코드,라이브러리 코드, 스마트폰에 기본으로 탑재된 구글에서 만든 앱 코드 등 대부분 코드가 오픈되어 있습니다.
- 안드로이드 플랫폼 기반의 스마트폰을 여러 제조업체에서 만들 수 있습니다.
- 개발자가 만든 앱은 구글 play 스토어뿐만 아니라 다양한 방법으로 사용자에게 배포할 수 있습니다.
- 안드로이드 기반의 모든 애플리케이션은 평등하다는 사상으로 스마트폰에 기본 탑재된 앱과 개발자들이 만드는 앱이 같은 환경에서 같은 api를 사용합니다.
여기서 많은 부분이 오픈되어 있다는 점은 소프트웨어 개발자 관점에서는 장점일 거라고 생각합니다!
라이브러리 코드,구글의 기본 앱 코드가 오픈되어 있는 점 때문에 앱을 개발할 때 참조할 수 있을 거라고 생각하기 때문이죠!
안드로이드 앱의 가장큰 단점 중의 하나는 기기의 파편화(fragmentation)입니다.
스마트폰 제조사들이 스마트 폰을 제작할 때에 안드로이드 플랫폼을 그대로 탑재하는 것이 아니라 수정이나 추가해서 제작한다고 합니다. 따라서 표준 api로 개발된 코드가 특정 스마트폰에서 수행되지 않거나 에러가 발생할 수 있다고 합니다.
그래서 테스트의 중요성이 더욱더 커지게 됐다고 합니다.(대부분의 스마트폰에서 테스트 하기)
안드로이드는 ios보다 허용되지 않는 많은 부분을 앱 개발자가 구현할 수 있다고 합니다!
예를 들면 멀티태스킹이 있는데 안드로이드에서는 여러 프로세스가 동시에 동작할 수 있으며, 어떤 프로세스가 화면을 점유하여 사용자가 이용하고 있어도 우리가 만든 앱이 백그라운드에서 동작하여 계속 업무를 수행할 수 있다고 합니다.
다른 기능의 예로는 상용자의 스마트폰에 전화가 걸려 오는 순간을 앱에서 감지하고 상대방 전화번호를 추출하는 기능이 있다고 합니다!
* ios도 멀티태스킹을 지원하지만 안드로이드에 비해서 지원하는 작업이 적다!
안드로이드 스마트폰은 다양한 업체에서 만들다 보니 크기가 다양하다는 특징이 있습니다.
사용자 입장에서는 이점 일수 있는데 개발자 관점에서는 그만큼 다양한 기기들의 ui를 신경을 써야 됩니다.
'안드로이드공부' 카테고리의 다른 글
안드로이드 기초 속성 실습 2 (0) | 2020.08.30 |
---|---|
안드로이드 뷰의 기초 속성 실습! (0) | 2020.08.30 |
(4) 안드로이드 플랫폼 아키텍처 (0) | 2020.08.30 |
(2)안드로이드 hellow world! 프로젝트 생성 (+avd) (1) | 2020.08.29 |
(1)안드로이드 공부를 해보자 ㅎㅎ (2) | 2020.08.29 |