Loading
2009. 3. 16. 10:21 - citybell.com

아이폰(iPhone) OS(2) 코드작성

iPhone SDK는 iPhone OS상에서 natively하게 실행되는 그래픽기반 응용프로그램 개발을 지원한다.  당신이  개발한 응용 프로그램은  Photos, Weather 그리고 Clock과 같은 시스템 응용프로그램과 처럼 사용자의 Home 스크린상에 존재하게 될것이다. 이렇게(natively) 개발된 응용프로그램은 일단  Launch되고 나면, 커널과 몇몇 로우레벨 데몬과 나란히 자리 잡을것이며, 그것은 시스템상에서  실행되고 있는 단 하나의 응용프로그램이 될것이다.  실행되는 동안 이 프로그램은 화면전체를 차지하여, 사용자의 인식을 집중시키게 된다. 그리고 사용자가 Home 버튼을 누르면 이 응용프로그램은 종료되고 시스템은 홈 화면을 표시 한다.  시스템을 독점하는것은 잇점을 가지게 되는데, 그것은 내부의 시스템 자원을 full access 하기 때문이다.  이것은 내장된 하드웨어를 효율적으로 활용할수 있는데 예를 들면 가속도계, 카메라 그래픽 하드웨어 등을 이 프로그램 코드속에서 구동 시키기 때문이다.

사용자가 iPhone, iPod 터치 기기들을 조작하는 방법과, Mac OS X를 조작하는 방법이 근본적으로 다르기 때문에 당신의 응용프로그램 디자인방법 또한 다를 것이 틀림없다.  iPhone 응용프로그램에서는 컨텐츠를 표시하는 별도의 document window라는 컨셉이 없다. 그대신에  모든 응용프로그램의 데이타는  하나의 윈도우에 표시된다. 이것은 응용프로그램의 데이터를 구조적인 방법으로 표시하게 하는 새로운 뷰와 컨트롤을 생성게끔 유도하고 있다.  다시 말해서, 많은 표준 뷰(view)와 컨트롤들은 Mac OS X에 비해서 조금 다르게 행동할 것이다. 이러한 대부분의 변경은 명백하게 되어야 하나, 어떤것은 당신이 구조화하여 표현하는 방법을 고민하게 만들것이다.

iPhone OS의 이벤트-핸들링 모델은 전통적인 데스크탑 응용프로그램과의 작별을 보여준다. 전통적인 마우스나 키보드 이벤트에 의지하기 보다는 iPhone OS는  터치(touch)이벤트의 아이디어를 소개하고 있다. 터치이벤트는 언제나 일어날 수 있으며 하나 이상의 터치이벤트가 복합적으로 발생할 수 도 있다. 터치는 선택기, 드래그 같은 컨텐츠에 대한 간단한 조작을 감지하는데 사용될 뿐 아니라, swipes 나 pinch-open, pinch-out 제스쳐같은 복잡한 조작을 감지하는데도 사용된다 (사용예, Photos 응용프로그램 처럼 사진의 축소, 확대).

당신은 응용프로그램의 기본구조에 대한 고려를 뿐만아니라,  사용자가 그것을 어떻게 사용하게될 것이지에 대한 고려도 해야 된다. iPhone 응용프로그램은 사용자가 어떤순간, 원하는것에 대한 분명한 집중을 제시해야 한다. 사용자는 몇번이나 화면전환 하면서  버벅대는것이 아니라  곧바로 원하는 정보를  빠르게 얻기를 원한다는것을 기억해야 한다.
중요한 정보에 대한 간단한 배치의 정보 제공에 대한 사용자의 요구는 중요하다. 게임니아 다른 재미있는 응용프로그램들 처럼, 사용자가 당신에 응용프로그램을 조작해서 그속에서, 어떻게 가속계나,카메라를 활용한 기술들에 장점들을 발견할지에 대해서 고민해야 할것이다.
개발을 시작하고, 초기에 사용하는 프래임웍은 Foundation 과 UIKit 이다. 이 프래임웍들은 모든 iPhone응용프로그램에서 사용되는 핵심적인 서비스 이다. 응용프로그램을 좀더 새련되게 하려면 시스템의 다른 프래임웍들이 어떤 서비스를 제공하는지 조사해야 할것이다. 각각의 프래임웍의 문서들은 이러한 프래임웍을 어떻게 사용하는지를 깨우쳐가는데 필요한 개념적인 요소들에 대한  링크를 포함하고 있다.


관련된 글: 아이폰(iPhone) OS(3)

 

 

  • Total
  • Today
  • Yesterday
  • Total
  • Today
  • Yesterday