* 모바일 오픈 아키텍쳐 레퍼런스 모델의 해결 문제 목록
- 안드로이드 OS의 파편화
- 오픈 소스로써의 개방성 문제 : 폐쇄성
- 품질 속성 문제: 사용성
- 품질 속성 문제: 유지보수성
* 아키텍쳐 설계 개선 목적
본 모바일 오픈 아키텍처 개선 과제에서는 많은 개발자들과 오픈 소스 커뮤니티에서 검증된 오픈 소스들을 가져와서 개선/수정/리팩토링을 하여서 위에서 언급한 문제들 ? 파편화, 폐쇄성, 사용성, 유지보수성 ?을 해결하면서 다양한 요구사항을 만족시키고 개발 생산성 향상을 꾀하여서 개발 비용 관련 이슈나 파편화 문제 등을 해결하고자 한다. 더불어 이번 과제를 통해서 개선된 아키텍처 및 소스코드를 소개 및 공개/배포함으로써 다른 개발자들이 쉽게 활용하고 더 나은 feature, 아키텍처 및 생태계를 만들어 나갈 수 있도록 하였다.
- 유저 인터페이스 (User Interface)
안드로이드의 화면 단편화및 버전 단편화로 인해 버전 별로 제공할수 있는 Widget 함수와 기능들이 상이하다. 액션바 같은 경우, 3.X 버전 때부터 안드로이드에 추가 되었지만, 2.X 버전의 사용자가 전체 안드로이드 폰에서 40%이상이므로, 실제 배포되는 앱에 적용할수 없다. 또한 안드로이드는 커스텀 유저 인터페이스 컴포넌트를 만드는데 많은 비용이 발생한다.
독립형 어플리케이션보다 네트워크 기능을 제공하는 어플리케이션의 중요도가 (앱 내부 결제나 소셜 서비스의 연동)갈수록 성장하고 있다. 2012년 Distimo의 조사에 의하면 네트워크 기반의 어플리케이션의 매출이 전체 앱 시장에서 72%의 매출을 차지한다. 하지만 안드로이드가 제공하는 네트워크 기능은 단순해서, 어플리케이션 구축시 많은 비용이 발생하는 영역이다.
안드로이드는 구글의 폐쇄적인 정책으로 인해, 시장의 요구를 재빨리 반영하지 못하고 있다. 이로 인해 어플리케이션에 필요한 로깅, 결제 모듈, 컴포넌트 설정부등을 별도로 제공하지 않고 있다.
- 서비스로써의 백엔드 (BaaS)
모바일 앱을 개발할때, 구글이 제공하는 백엔드 기능 (푸쉬, 사용자 통계, 오류 리포트)의 품질이 부족하다. 푸쉬 서비스 같은 경우는 지연이나 손실율이 발생하고, 에러 리포트 기능 또한 제한적인 정보만 제공한다. 그러므로 모바일 개발에 필요한 백엔드 서비스를 직접 구축해야 하는 문제가 발생한다.
본 문서는 위의 4계층에서의 주요 문제의 해결책과 아키텍쳐적인 관점, 오픈소스 사례등을 설명하고 있습니다.자세히 보기 →