'2010/07'에 해당되는 글 2건

  1. 2010/07/18 CranixDialer (v1.6) (25)
  2. 2010/07/06 안드로이드는 OS 이다. (7)
CranixDialer (v1.6)


이번 버젼에서는 다음과 같은 기능이 추가/변경 되었습니다.

  • 많은수의 연락처를 검색해도 실행속도가 느려지지 않게 수정

  • 전화번호의 형식도 나오도록 수정 (H.P, 집, 직장)

  • 부재중 통화를 클릭했을때 CranixDialer 뜨던거 삭제

  • 키패드 모드에 "전화걸기" 버튼 추가


이번 버젼에서는 많은수의 연락처를 검색해도 초기 실행속도가 느려지지 않도록 속도를 개선하는데 초점을 맞추었습니다. 사실 테스트는 안해봤는데 이제는 어느정도 속도를 보장할 수 있을듯 합니다.

그리고 부재중 통화 알람메시지를 없애보려고 찾아봤는데 다른 어플에서 띄운거라 결국 안되더군요.
그래서 아예 CranixDialer 를 클릭했을때 안뜨도록 해놨습니다.

그리고 중요한건 이번버젼부터는 베타딱지를 뗀다는 겁니다.
어느정도 안정화 단계에 접어들었고 2.2 에서 돌려봐도 제대로 돌아가더군요.

베타를 떼고서는 유료로 전환합니다.
현재 한국에서 결재가 가능한 T-Store 에 올라갈 예정입니다.
구글마켓에도 올리려고 했으나 유료로 판매하려면 다른 설정을 해야하더군요..
이부분은 더 알아보고 올리도록 하겠습니다.



Posted by cranix
"안드로이드는 그냥 프레임워크이고 OS 는 리눅스다."
이런말 들어보셨나요?
저는 인터넷을 돌아다니다보면 몇번 보이는군요.
제가 안드로이드를 하는 입장에서 좀 거슬리는군요.^^

사실 OS 가 linux 가 아니라 커널이 linux 인거죠.
뭐.. 이런 논리라면.. unix 계열 커널을쓴 iOS 는 그냥 unix OS 라고 불러야 맞는거겠군요.

OS는 좀더 포괄적인 개념입니다.
사용자와의 상호작용까지 고려해야 하는것이죠.

그러나 안드로이드에서 쓰인 linux 커널은 운영체제가 하는 최소한의 역할만을 수행합니다.
스캐쥴링, 자원관리, 메모리관리 등을 커널에서 해주죠.
이것만으로 안드로이드가 linux 운영체제라고 불리울수 있을까요?

전혀 아니라고 생각합니다.
일단 가장 중요한 사용자와의 상호작용이 빠져있습니다.
커널에서 스캐쥴링 자원관리 메모리관리를 해 준다고 쳐도 어떤 자원을 관리할겄이면 어떤 프로세스를 스캐쥴링할지... 이런것은 어떻게 커널에 던져주나요?
설마 모든 사용자가 C 언어를 배워서 코딩해서 넘겨줘야 한다는 말은 아니겠죠?ㅋㅋ

이 모든것을 커널 위에있는 안드로이드 프레임워크단에서 처리합니다.

좀 쉽게 비교하자면 ubuntu 리눅스를 들수 있습니다.
이 역시 리눅스 커널을쓴 리눅스 OS 의 일종인데 사용자와의 상호작용을 대부분 xwindows UI 로 합니다.
안드로이드는 이 xwindows 를 쓰지 않고 새로 만들어버렸다고 생각하시면 됩니다.

게다가 기본언어를 C 언어가 아니라 접근성을 위해 java 를 채택했습니다.
안드로이드 프레임워크에서는 그래서 최상위단의 java 에서 내려오는 명령을 JNI 를 통해서 C 언어로 내려서 처리하고 이를 다시 java 로 올리고, 또 필요하다면 커널과 통신하고.. 이러한 모든 작업을 시스템화 시킨것입니다.
결과적으로 APP 개발자는 java 만 어느정도 알면 프로그램을 짤 수 있는 환경을 구축해 놓은것이죠.
만약 iOS 처럼 C 기반의 언어를 기본언어로 채택했다면 vm 이 필요없을 테니까 이보다는 훨씬 간단한 구조의 프레임워크가 나왔겠죠.

또 안드로이드는 리눅스 커널을 그냥 쓴게 아닙니다.
안드로이드에 맞게 커스토마이징 했는데 예를들자면 커널에 로우메모리킬러 라는 기능을 추가하였습니다.
이 외에도 몇가지 기능이 추가되거나 수정되었습니다.

결론적으로 저는 안드로이드는 그냥 플랫폼이 아니라 OS 라고 생각합니다.
사실 구글에서 발표한 안드로이드 자료에 자기들이 직접 안드로이드를 플랫폼이라고 써놓았던데.
이것은 구글의 지나친 겸손 이라고 생각합니다.

이걸 그냥 플랫폼 이라고 한다면 세상에 OS 는 리눅스,유닉스,윈도우 빼고는 없겠군요.
Posted by cranix