신규 안드로이드 앱 최소 지원 OS버전 선택은?



안드로이드는 다양한 기기의 파편화 뿐만 하니라 OS에서도 파편화가 아주 심각 하다. 애플의 iPhone의 경우 얼마전 iOS7 정식 발표 첫날 29%의 사용자가 업데이트를 했다. 이와는 대조적으로 안드로이드는 파편화가 아주 심각하다. 이런 점에서 볼때 개발자는 신규 OS가 나왔음에도 불구하고 하위호환성을 위해서 최신 OS의 기술을 사용하기가 참 애매하다. 얼마전 안드로이드 4.4(킷캣)이 발표 되었지만 여기에 들어 있는 SDK를 가지고 뭔가의 기능을 구현하는 앱을 찾아보기란 쉽지 않다. 제조사별 다양한 기기를 일일이 OS에 맞는 롬을 만들어야 하기에 그만큼 업데이트도 더디기 때문에 iOS와 같이 즉각적인 업데이트는 기대하기 힘들다. 즉 이런 다양한 문제점으로 인해 파편화는 점점 더 심해지고 있는 시점에서 우리 안드로이드 개발자는 OS파편화에 대해서 어떻게 대응 해야 할까 생각 해보게된다.

신규 앱 개발시 최소지원 OS 선택은?

신규 앱개발시 가장 고민거리중 최소 OS선택 기준점이 딱하나 있다. 안드로이드 2.3.3(진저브레드)을 지원할지 말지의 문제다. 아래 직접 운영중인 앱의 구글통계를 보면 2.3.3(진저브레드)가 전체의 25%정도를 차지한다.(다른앱도 비슷할것으로 추정) 즉, 안드로이드 4.0(ICS)로 최소지원버전으로 잡게 되면 전체의 30%를 버리게 된다는 것이다. 이 통계를 이때까지 앱을 설치한 사용자들의 통계이다. 즉 신규앱을 개발해서 서비스할 경우 안드로이드 4.0(ICS)이하가 설치하는 비중이 30%라는 것은 아니다.  

그러면 신규 사용자의 비율을 보기위해 일일 설치 사용자수를 확인 해볼 필요가 있다. 아래 화면을 최근 3개월 동안 설치한 사용자들의 OS 데이터들이다. 안드로이드 4.0(ICS)이하의 버전은 7%정도뿐이다. 위의 현재 설치된 데이터 30%와 사뭇 다르다. 

그럼 왜 이런 데이터들이 나타나는 것일까?

앱을 설치한 폰을 중고로 팔아 버리거나 초기화 하는 경우 데이터는 누적되기 때문이 이런 차이점을 보이게 되는것으로 생각된다. 그렇기 때문에 일일기기 설치 또는 업데이트 수를 보고 판단하면 될것이다. 

앱 업데이트시 지원 OS변경은?

업데이트 앱의 OS 지원은 아주 신중해야 한다. OS버전이 낮다는 이유로 잘쓰던 앱이 업데이트가 되지 않는 다면 분명히 문제점이 있다. Support Library를 써서라도 유지를 해야한다. 

즉, 결론을 내린다면 현 시점에서 신규 앱을 개발하게 된다면 통계상 안드로이드 4.0이하 OS 점유율이 15% 정도로 봤을때 4.0 이상의 SDK를 반드시 필요로 하는 앱이라면 안드로이드 4.0(ICS)를 최소 지원버전으로 잡아도 그렇게 무리는 없을듯 생각된다. 

구글에서도 이런 OS파편화의 문제점으로 Supprot Library(ActionBar, Fragment, RS등)를 제공해주기 때문에 개발상의 어려움이 없다면 하위 호환성을 위해 사용하는 것도 나쁘진 않다.