화면과 그래픽.
아이폰 화면은 3G/3GS 의 경우, 320x480 픽셀의 제한된 공간에서 애플리케이션의 콘텐츠와 인터페이스를 나타낸다.
아이폰 애플리케이션에서는 다중 창이라는 개념도 제거했으므로 하나의 창으로 작업해야 한다.
이 하나의 창내에서 콘텐츠를 변경할 수는 있지만, 데스크톱과 다중 창 애플리케이션 메타포어(Metaphors)는 이제 끝났다.
화면제한이 나쁜 것만은 아니다. 앞으로 배우게 되겠지만, 아이폰 개발 도구는 더 구조화되고 효과적인 인터페이스 디자인을
가진 데스크톱 소프트웨어처럼 깊은 맛을 제공해 주는 애플리케이션을 만들수 있는 더 많은 기회를 제공한다.
화면에 표시되는 그래픽은 복잡한 2D 애니메이션을 포함할 수 있으며, 3D 화면은 아이폰 모델에서 사용할 수 있는 OpenGL ES를
구현한 덕택으로 가능해졌다. OpenGL은 그래픽 이미지를 정의하고 처리하기 위한 산업 표준으로서 게임 제작에 폭넓게 사용되고 있다.
아이폰 3GS는 최신형 3D칩셋과 더 고급기능의 OpenGL(ES2.0) 버젼을 통해 이러한 기능을 개선했지만, 아이폰 모델도 이미 훌륭한
이미지 처리능력이 포함되어 있다.
애플리케이션 자원의 제약사항.
데스크톱과 노트북의 고해상도 화면처럼, 우리는 클릭과 동시에 빠르게 작업할 수 있는 프로세서에 상당히 익숙해져 왔다.
아이폰의 초기모델에서 412Mhz ARM 프로세서를 채용했고 3GS에서는 600Mhz 버젼을 채용해 배터리 수명을 위해 클록을 낮췄지만,
아이폰4에서는 1Ghz A4 칩을 채용했다.
맥북프로(MacBook Pro)의 사양과는 거리가 멀지만, 배터리 수명은 매일 생산성과 관련된 애플리케이션과 게임을 처리하는데 있어서
여전히 매우 중요하다.
애플은 여러분이 아이폰으로 무엇을 하든지 간에 아이폰의 응답성을 유지하기 위해 많은 노력을 기울이고 있다. 안타깝게도 이것은
이 플랫폼이 한 번에 하나의 서드파티 애플리케이션을 실행할 수 있다는 주요한 한계점의 원인이 되었다.
이는 여러분의 애플리케이션이 다른 애플리케이션으로 점프하지 않고도 사용자가 필요로 하는 기능을 제공해야 함을 뜻하며,
애플리케이션이 사용자와 연결된 상태를 유지해야 함을 뜻하기도 한다. 이 때문에 아이폰 OS 3.0 이후에서 애플은 사용자에게
"푸시" 알림이라는 수단을 제공하지만, 애플리케이션을 종료했을 때에는 실제로 처리가 일어날 수 없다.
기억해 두어야 할 또 다른 제약사항은 가용한 메모리의 양이다.
초기모델과 아이폰 3G에서는 애플리케이션을 포함한 전체 시스템용 RAM이 128MB이며, 가상 메모리가 없으므로 애플리케이션이
생성하는 개체를 주의 깊게 관리해야 한다. 애플은 아이폰 3GS에서 메모리를 조금 더 업그레이드해서 256MB를 제공하지만,
아이폰4 에서는 자비롭게도 512MB의 메모리를 제공한다.