RSS

iOS 개요

13 Aug

iOS 개요

iOS는 iPad, iPhone, iPod touch과 같은 장치에서 실행되는 운영체제입니다. Mac OS X와 근본적인 기술력을 공유하지만, iOS는 명백히 다른 모바일 환경에 맞게 설계 되었습니다. 기존의 Mac OS X의 어플리케이션을 개발을 해보았다면 유사한 기술력들을 볼 수 있겠지만, Multi-touch 인터페이스와 가속도계와 같은 iOS만의 기술력 또한 볼 수 있을 것입니다.

iOS SDK(Software Development Kit)은 iOS 어플리케이션을 개발, 태스트, 실행, 조율해볼수 있는 코드, 정보, 툴들(Xcode, Interface Builder, Instruments 등)을 제공 합니다. Xcode는 코드를 작성, 수정, 디버깅 할 수 있는 정보를 제공합니다. 그리고 작성한 코드를 iOS 장치나 iOS Simulator(컴퓨터에서 실행 해볼 수 있는 플렛폼) 에서 실행 시켜 볼 수 있습니다.

이 글은 당신이 iOS 환경에 다가갈 수 있도록 돕기위해 iOS의 기본적인 특징의 개요를 제공합니다. 그리고 iOS Dev Center에 있는 다른 글들은 당신이 iOS 어플리케이션 개발 절차를 더 빠르게 이해하는데 도움을 줄 것입니다.

내용 :

iOS 기술 계층

iOS를 위한 코드 작성

어디서 시작하나?

—————————————————————————————————————————————————-

iOS 기술 계층

iOS의 커널은 Mac OS X에서 볼 수 있는 Mach 커널을 수정한 것을 기초로합니다. 이 커널의 최상위에는 어플리케이션을 플렛폼에서 실행 시키기 위한 서비스의 계층이 있습니다. Figure 1-1은 상위 계층의 개요를 보여줍니다.


Figure 1-1 iOS technology layers

이런 계층화는 코드를 작성할 때 당신이 선택할 수 있게 해줍니다. 예를 들어, Core OS와 Core Services 계층은 iOS를 위한 기본적인 인터페이스(파일 접근, 하위 레벨 데이터 타입, Bonjour services, 네트워크 소켓 등)를 포함하고 있습니다. 이러한 인터페이스는 대부분이 C 기반이며, Core Foundation, CFNetwork, SQLite, POSIX 쓰레드의 접근, UNIX 소켓과 같은 기술들을 포함합니다.

상위 계층으로 갈수록, C와 Objective-C를 같이 사용한 인터페이스를 기초로하는 더 많은 선진 기술들을 볼 수 있습니다. 예를 들어, Media 계층은 2D, 3D그리기, 오디오, 비디오를 지원하는 기본 기술력을 포함합니다. 이 계층은 C를 기초로한 Open GL ES, Quartz, Core Audio를 포함합니다. 또한 Objective-C를 기초로한 에니메이션 엔진인 Core Animation을 포함합니다.

Cocoa Touch 계층에서는 대부분 Objective-C를 사용합니다. 이 계층에서의 프레임워크들은 어플리케이션에 의해 사용되는 기본 기능들을 제공합니다. 예를 들어, Foundation 프레임워크는 콜렉션, 파일 관리, 네트워크 운영 등을 위한 객채지향적 지원을 돕습니다. UIKit 프레임워크는 윈도우, 뷰, 콘트롤 그리고 이러한 객체를 관리하는 콘트롤러를 위한 클래스를 포함한 시각적인 기능들을 제공합니다. 이 계층의 다른 프레임위크들은 연락처, 사진정보, 가속도계와 같은 하드웨에 접근 할 수 있게 해줍니다.

Cocoa Touch 계층(특히, UIKit 프레임워크)이 새로운 프로젝트를 시작점이 됩니다. 더 추가적인 기술을 사용하기 위해서는 더 상위 계층에 있는 프레임워크를 사용해야 합니다. 더 상위 계층은 적은 노력으로 기본 시스템의 행동을 쉽게 지원할 수 있게 해줍니다. 더 상위 계층이 제공해주지 않는 자체적인 행동을 구현하기 위해서는 해위 계층의 플레임워크를 사용해야 합니다.

iOS의 더 자세한 정보를 얻기 위해서는, iOS 기술 개요를 읽어 보시기 바랍니다.

—————————————————————————————————————————————————-

iOS를 위한 코드 작성

iOS SDK는 iOS안에서 선천적으로 실행되는 그래픽적인 어플리케이션을 만드는데 지원해줍니다. 당신이 만든 어플리케이션은 사진, 날씨, 시계와 같은 시스템 어플리케이션과 같이 홈 스크린에 나옵니다. 실행중인 어플리케이션은 전체화면를 차지하며 사용자의 관심이 집중하게 됩니다. 내용을 표기하시위해 윈도우를 나눌 수있는 개념은 가지고 있지 않습니다. 대신, 어플리케이션의 데이터의 모두를 하나의 윈도우에서 표시할 수 있습니다.

iOS에서 event-handling model은 전통적인 데스크탑의 어플리케이션의 방식을 따름니다. 전통적인 마우스와 키보드의 방식에 의존하는 것 대신에, iOS는 터치 이벤트의 개념을 소개합니다. 터치 이벤트는 어느 때나 발생할 수 있고, 하나 이상의 터치 이벤트가 혼합적으로 일어날 수도 있습니다. 터치는 아이템의 선택 또는 드래그와 같은 간단한 컨텐츠와의 상화작용을 감지하거나 스와이프(swipe)와 핀치오픈(pinch-open), 핀치클로즈(pinch-close) 제스처(사진 어플리케이션에서 확대 축소에 사용되는)와 같은 복합적인 상호작용이나 제스처를 감지합니다.

어플리케이션의 기본적인 구조를 고려한 이후엔, 사용자들이 어떻게 어플리케이션을 활용할 수 있는가에 대해 고려해야합니다. iOS 어플리케이션은 깔끔해야하고, 사용자가 요구하는것이 무엇이지에 초점을 맞춰야 합니다. 지속적인 사용자가 정보를 빠르게 얻기를 원하고 정보를 찾기 위해 화면의 여러 단계로 넘어가서 시간을 낭비하지 않다는걸 기억 하십시오. 사용자가 필요한정보를 강조해서 간단한 레이아웃을 제공하는 것은 매우 중요합니다. 게임이나 다른 재미난 어플리케이션을 위해서는 사용자가 어떻게 조작하기를 원하는가와 적절한 가속도계나 카메라와같은 기술력의 장점을 어떻게 사용할것인가를 고려해야합니다.

개발을 시작할때, Foundation 플레임워크와 UIKit 플레임워크를 기본적으로 사용합니다. 이 프레임워크들은 모든 어플리케이션에서 사용되는 주요 서비스를 제공합니다. 어플리케이션을 수정할때는, 그들이 제공하는 서비스이 무엇을 제공하는기 보기위해 다른 프레임워크를 살펴봐야 합니다. 각 프레임워크의 문서는 그 프레임워크를 사용법을 익히는것을 도와주기 위해 관련된 링크들을 포함하고 있습니다.

Foundation과 UIKit 프레임워크의 문서를 보실려면, Foundation Framework ReferenceUIKit Framework Reference를 읽어 보시길 바랍니다.

—————————————————————————————————————————————————-

어디서 시작하나?

Xcode가 제공해주는 템플릿으로 iOS에서 실행되는 간단한 어플리케이션을 만드는 것은 비교적으로 쉽지만 유용하고 멋진 어플리케이션을 만드는 일은 필요한 문서를 읽는데 많은 시간을 보내야합니다. 적어도 어플리케이션을 만드는데 필요한 절차와 툴을 둘러 볼 수 있는 iOS Dev Center의 다른 글을 읽어야 보셔야 합니다.

만약 iOS와 Mac OS X를 처음 접하신다면, 기본적인 디자인 패턴을 이해하셔야 하고 코드 작성을 위한 iOS의 규약은 매우 중요합니다. 어플리케이션은 제공하는 프레임워크의 장점을 사용할 때 최상으로 작동합니다. 기본적인 프레임워크를 이용해 작업을 하면서 시간을 보내다 사용중인 단순한 디자인 패턴을 보다 좀더 어려운 어플리케이션을 만들고 싶을 것입니다. 모든 아이폰 개발자가 알아야 기본 정보는 코코아 기초 가이드안에 있습니다. 이 문서는 Objective-C의 기초, 프로그래밍 규약, UIKit에 사용되는 디자인 패턴 그리고 많은 프레임워크들을 다룹니다.

iOS 어플리케이션을 만들기 위한 규약을 이해하기 할때, 개발 절차의 자세한 설명을 위해 iOS 어플리케이션 프로그래밍 가이드를 참조 하십시오. 이 문서들은 아이폰 어플리케이션을 작성하기 위한 개념적이고 실무적인 주요 정보를 제공(UI의 표현, 이벤트 다루기, iOS 장점이용 하는 방법을 포함한) 합니다. 또 전반적인 개발 절차를 설명하고, Xcode를 사용하여 어플리케이션을 어떻께 빌드하고 실행하는지 설명합니다.

iOS 어플리케이션 프로그래밍 가이드 이외에 샘플 코드들을 볼 수 있습니다. iOS는 전체적인 기능들이 실직적으로 어떻게 작성하는지를 보여주는 샘플을 제공합니다. 이 샘플들은 당신의 어플리케이션을 만드는데 시작점으로 사용 하거나 특정 기능이 어떻게 사용되는지를 배우는 사용할 수 있습니다.

—————————————————————————————————————————————————-

원문 : iOS Overview

 
Leave a comment

Posted by on August 13, 2011 in iOS Developer Library 번역

 

Tags: , , , , , , , , , , , , , , , , , , , , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: