계시판을 보다 문득 든 생각인데, 
안드로이드는 다양한 하드웨어에서 플랫폼을 제공하다 보니 어플리케이션 개발자가 접근할 수 있는 부분이 제한될 수 밖에 없는 것 같습니다.
아이폰이든지 안드로이드이던지 어플 개발자는 제공되는 API 밖에 사용할 수 없는 건 동일하겠지만, 다양한 하드웨어에서 돌아가는 걸 전제로 하고 만들어진 안드로이드의 API는 아무래도 제한적이지 않나 하는 생각 됩니다.
API를 만드는 입장에서도 HW가 고정이면 여기에 맞춰서 제공하면 되는데, 이게 늘 바뀐다고 생각하면 표준화된 인터페이스 만들고 하는 일에 들어가는 노력이 상대적으로 커 보입니다.
아이폰 OS도 아이패드에도 들어가고 하지만 그래도 그 변이가 상대적으로 작을겁니다.

안드로이드는 자바말고도 NDK 이용해 C로 짤 수도 있기 때문에 문제가 없다는 분들도 있을 것 같은데.
NDK에서 제공되는 .so 파일은 꼴랑 16개 정도이고 기본적인 것들 뿐입니다. 
Sound, Camera 이런 것들은 제조사마다 다를 수 있기 때문에 제공할 수 없는 것으로 보입니다.

아이폰은 해본 적이 없어서 안드로이드의 한계만이 눈에 들어오네요.
두개 다 해보신 분들 어떤가요?
그넘이 그넘인가요?