티스토리 뷰

이 글은 단순히 <깡샘의 안드로이드 프로그래밍> 책의 내용을 제 입맛에 맞게 요약 정리한 글에 불과합니다. 고로 이 글로 안드로이드를 공부하겠다는 생각은 접어두시는 걸 추천하는 바입니다.

<깡샘의 안드로이드 프로그래밍> 책 좋아요!! 추천합니다!!


1. 안드로이드의 특징

  • 안드로이드는 공개 운영체제인 리눅스 기반이다.
  • 안드로이드 앱 개발은 자바(Java) 및 코틀린(Kotlin)을 이용해 개발한다.
  • 운영체제의 핵심 코드, 라이브러리 코드, 스마트폰에 기본으로 탑재된 구글에서 만든 앱 코드 등 대부분 코드가 오픈되어 있다.
  • 개발자가 만든 앱은 구글 Play 스토어뿐만 아니라 다양한 방법으로 사용자에게 배포될 수 있다.
  • 안드로이드 플랫폼 기반의 스마트폰을 여러 제조업체에서 만들 수 있다.
  • 안드로이드 기반의 모든 애플리케이션은 평등하다는 사상으로 스마트폰에 기본 탑재된 앱과 개발자들이 만드는 앱이 같은 환경에서 같은 API를 이용한다.

 

특히 주목해볼만한 특징

  1. 많은 부분이 오픈되어 있다는 점은 소프트웨어 개발자 관점에서 장점일 수 있다. 오픈 된 기술을 바탕으로 한 오픈소스 그룹이 활동하기 좋은 생태계이며, 그런 오픈소스 그룹에서 만든 다양한 라이브러리를 이용할 수 있다.
  2. 안드로이드 플랫폼 기반의 스마트폰을 여러 제조업체에서 만들 수 있다보니 기기의 파편화(Fragmentation)은 큰 단점으로 손꼽힌다. 다양한 업체에서 만들다 보니 크기가 다양하다는 특징이 있다. 개발자 관점에서 보면 개발자가 모르는 기기에서 의외의 에러가 계속 발생할 수 있어 신경 쓸게 많아진다.
  3. 안드로이드는 iOS에서 허용하지 않는 다양한 기능을 허용한다. ex) 멀티 태스킹(백그라운드 동작)
    이 사실은 개발자 관점에서는 이점일 수 있지만 사용자 관점에서는 단점이 될 수 있다. 백그라운드에서 너무 많은 앱이 동작하면 배터리 소비, 네트워크 트래픽 증가, 메모리 부족 등의 현상이 발생할 수 있기 때문이다. 백그라운드 동작 외에도 사용자가 모르는 부분에서 개발자가 제어할 수 있는 부분이 많아진다는 것은 사용자도 모르게 피해를 볼 가능성이 늘어나기 때문이다.

느낀 점

어떤 언어, 플랫폼, 프레임워크를 배울 때마다 느끼는 점은 그 분야의 특징을 이해하고 사용하는 것과 아닌 것에 커다란 차이가 있음을 느꼈다.

  • 오픈 소스
  • 기기의 파편화
  • 다양한 기능 허용
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함