아이폰어플개발정보2010. 6. 21. 18:30
[펌]iPhone 어플리케이션 개발을 위한 준비 - 4. 시작하기
iPhone 어플리케이션은 Xcode란 개발툴에서 코코아터치 프레임워크와 Objective-C 언어를 사용하여 개발합니다. 코코아 터치는 맥 OS X의 핵심 프레임워크인 코코아를 기본으로 아이폰/터치라는 모바일 기기의 특성에 맞추어진 iPhone 개발의 기본 API입니다.

그렇기 때문에 아이폰 어플리케이션 개발을 위해 기본적으로 알아야할 사항은 통합개발 환경인 Xcode와 인터페이스 빌더라는 툴의 사용법, Cocoa Touch 프레임워크, Objective-C 크게 세가지입니다. 이번에는 간단히 iPhone OS의 계층구조를 중심으로 iPhone 어플리케이션 제작을 위해 접근하는 방법에 대해서 알아 보겠습니다.

1. iPhone OS 계층 구조
아래의 그림은 애플에서 설명하는 아이폰 OS의 기술 계층입니다. 이에 대한 자세한 내용은 아이폰 개발자 센터iPhone OS Technology Overview란 문서에 잘 정리되어 있습니다.


가장 로우레벨의 Core OS부터 가장 상위단계인 코코아 터치까지의 계층구조입니다. 주로 하단은 API가 C로 제공되며 상위로 올라 오면서 Objective-C로 제공됩니다. 많이 사용되는 로우레벨의 API들은 상위단계에서 쉽고 편하게 사용할 수 있는 프레임워크로 제공됩니다. 간 계층의 간단한 설명은 아래와 같습니다.

1) Core OS
메모리/프로세서 관리, 파일 시스템, 네트워크, 각종 하드웨어 드라이버등, 운영체제 하단의 커널 레벨에서 제공하는 커널 API 입니다. 흔히 이야기하는 시스템 프로그래밍에 관련된 C를 기반으로 한 라이브러리를 제공합니다.

2) Core Services
Core Foundation, CFNetwork, SQLite, POSIX threads와 같은 파일입출력, 저수준 데이터 타입, 소켓등에 관련된 서비스입니다. Core OS 레벨에 비교적 쉽게 접근할 수 있는 API를 제공합며 대부분 C로된 프레임워크를 제공됩니다. 여기서 제공하는 많은 기능들은 상단 코코아터치의 Foundation Framework에서 Objective-C 프레임워크로 제공됩니다.

  • Core Foundation - 배열, 스트링, 날짜, URL, 로우레벨 데이터등 아이폰 어플리케이션을 위한 기본적인 C API를 제공합니다.
  • CFNetwork - BSD 소켓 및 HTTP, FTP 프로토콜등 네트워크에 쉽게 접근할 수 있는 API를 제공하는 프레임워크입니다.
  • Core Location - GPS, 주변검색등에 사용할 수 있는 사용자의 현재 위치(위도, 경도) 정보와 관련된 API를 제공하는 프레임워크입니다.
  • SQLite - 아이폰 어플리케이션에서 쉽게 사용할 수 있는 파일기반의 경량 데이터베이스 입니다. SQLite에 관련된 보다 자세한 내용은 이전 포스팅을 참조해 주세요.
  • XML - XML 파싱을 위한 libXML2 라이브러리를 제공합니다.

  • 이외에 보안, 주소록등에 관련된 서비스를 제공합니다.

    3) Media
    비디오, 오디오, 2D/3D 그래픽, 에니메이션을 구현할 수 있는 API를 제공합니다. Objective-C 또는 C로된 API를 제공합니다.

    • Quartz - OS X의 벡터를 기반으로 한 그래픽 엔진입니다. 선과 도형을 그리고 이미지, 비트맵, PDF를 출력하고 색상, 위치에 관련된 C로된 API를 Core Graphic 프레임워크를 통해 제공합니다.
    • Core Animation - 각종 에니메이션과 시각효과를 제공하는 Objective-C로된 프레임워크입니다.
    • OpenGL ES - 게임등과 같은 고성능의 2D/3D 그래픽 출력을 위한 OpenGL ES 1.1에 기반한 C 프레임워크입니다. OpenGL ES를 사용한 게임은 이를 지원하는 다양한 모바일 플랫폼에서의 포팅을 쉽게 할 수 있습니다. 자세한 내용은 공식 홈페이지를 참조하시기 바랍니다.
    • Core Audio - 마이크를 통해 녹음하고 음악파일을 출력하고 각종 음향효과를 제공하는 C로된 오디오 관련 프레임워크입니다.
    • OpenAL - OpenGL ES와 유사한 개념의 크로스 플랫폼을 지원하는 게임등을 위한 고성능 3D 오디오 라이브러리입니다. 자세한 내용은 공식 홈페이지를 참조 하시기 바랍니다.
    • 동영상 - mov, mp4, 3gp와 같은 각종 동영상 파일을 출력을 지원합니다. 이는 Objective-C를 기반으로 한 Media Player framework를 이용하여 손쉽게 접근할 수 있습니다.

    • 4) Cocoa Touch
      iPhone개발의 기본이 되는 계층으로 Objective-C를 기반으로 한 핵심적인 두개의 프레임워크를 가지고 있습니다. 사용자 인터페이스, 이벤트 처리등과 함께 위에서 언급한 로우레벨의 기술들을 보다 쉽게 사용할 수 있는 프레임워크를 제공합니다.

      • Foundation Framework - 배열, 스트링, 날짜 로우레벨 데이터등에 관련된 클래스를 제공하는 기본적인 프레임워크입니다. 위의 Core Foundation에서 제공하는 기본 API들의 Objective-C 레퍼 클래스를 제공합니다.
      • UIKit Framework -각종 컨트롤, 윈도우등의 UI, 이벤트 처리등 iPhone 어플리케이션의 사용자 인터페이스와 관련된 API를 제공하는 프레임워크입니다.


      • 2. Mac or iPhone
        Mac의 Cocoa와 iPhone의 Cocoa touch는 이름에서 부터 알 수 있듯이 매우 비슷합니다. 가장 큰 차이점은 역시 인터페이스에 관련된 부분으로 이와 관련하여 Mac에서는 AppKit이란 프레임워크를 iPhone에서는 UIKit이란 프레임워크를 제공합니다.

        Foundation Framework는 거의 유사하지만 아이폰의 특성상 제거 또는 변경된 부분이 있습니다. 아이폰은 코코아


출처 : http://blog.naver.com/PostView.nhn?blogId=minny0109&logNo=150044206980
Posted by 오늘마감

댓글을 달아 주세요

아이폰어플개발정보2010. 6. 21. 18:30
[펌]iPhone 어플리케이션 개발을 위한 준비 - 3. 관련 자료
3. 관련 자료

* 한글 자료와 영어
아쉽게도 이곳에서 소개하는 대부분의 자료들은 영문으로 되어 있습니다. 아이폰과 관련되어 나온 번역서적은 아직까지는 한권도 없습니다. (준비하고 있다는 이야기는 들었습니다) OS X 코코아 프로그래밍에 관련된 내용인 코코아 프로그래밍이란 책이 유일하게 번역되어 나온 관련 서적입니다.


코코아 프로그래밍
카테고리 컴퓨터/IT
지은이 아론 힐리가스 (인사이트, 2007년)
상세보기

아직까지는 코코아 프로그래밍이 대중화 되지 않아 한글로된 자료가 적지만, 점점 많아질 것으로 보아집니다. 하지만 빠르고 다양한 자료를 얻기 위해서는 영문 자료를 보시는 수 밖에 없습니다. 저도 모자라는 영어로 괴롭지만 자꾸 보다보면서 조금씩 익숙해지고 있습니다. 저같이 영어 공부를 게을리 하신 분들은 따로 영어를 공부하실 필요 없이 영문자료로 공부를 하셔도 좋을 것 같습니다.

* ADC (Apple Developer Connection)
사실 맥/아이폰 프로그래밍에 관한 자료를 구하는 곳은 사실 딱 한 곳, ADC만 알고 있어도 됩니다. 이곳에는 애플에서 제공하는 OS X 개발과 관련된 다양한 문서와 자료, 동영상, 소스코드들이 있습니다. 자료가 방대하지만 이곳을 문지방이 닳도록 드나드시며 근본적인 자료들을 보시는 것이 늦어 보이지만 빠른 길입니다.


1) 관련 사이트
맥/아이폰 개발과 관련된 국내외 사이트들과 블로그들입니다. 국내 사이트들도 아직은 다른 일반적인 개발환경에 비해서 자료와 회원들이 많지는 않습니다. 하지만 비슷한 관심분야를 가진 분들과 교류를 할 수 있고, 궁금하신 점들을 올리고 다른 분들의 의견이나 해답을 들을 수 있습니다. 아무래도 같은 한국어로 이야기하는 것이 명확하고 친근할 것 같습니다.

2.1) 사이트
* 국내
  • OSXDEV - 국내에서 가장 오랜 역사를 가진 OS X 개발 커뮤니티 입니다.
  • Korea iPhone Dev Group - 아이폰 개발 커뮤니티입니다.
  • 맥부기 아이폰 개발자 모임  - 네이버에 개설된 아이폰/맥 개발 까페입니다.

  • * 국외
    • Apple Developer Connection - 애플에서 제공하는 개발자 지원 서비스입니다.
    • Apple Discutssions - Developer Forum - 애플에서 제공하는 개발자 포럼입니다.
    • iPhone Development Forum - 애플의 아이폰 개발자 포럼이며, 현재는 개발자 프로그램에 등록된 회원만 접근할 수 있습니다.
    • Cocoalab - Become An Xcode란 문서로 유명한 사이트이며 관련 강좌와 소스들을 제공합니다.
    • iPhone Development Centra - 아이폰 개발에 관련된 튜토리얼, 포럼을 제공합니다.
    • iPhoneWebDev - 아이폰용 웹사이트 개발에 관련된 예제, FAQ를 제공합니다.
    • Cocoabuilder.com - Cocoa와 Xcode에 관련된 메일링 리스트를 제공합니다.
    • Apps Amuck - 31개의 아이폰 튜토리얼과 샘플코드를 제공합니다.
    • Cocoa Dev Central - 코코아 튜토리얼과 관련 링크들을 제공합니다.
    • CS 193E - 스텐포드 대학에서 제공하는 코코아 프로그래밍 강좌입니다.
    • CS 193P - 스텐포드 대학에서 제공하는 아이폰 프로그래밍 강좌입니다.

    • 2.2) 블로그

      아래는 맥, 아이폰 개발 관련 블로그들입니다. RSS로 등록해 놓으시면 유익하고 재미있는 포스팅들을 편하게 구독하실 수 있습니다.

      • Thecacao
      • PrEV
      • iPhone Developement
      • Cocoa Samurai
      • briksoftware's blog
      • Long Pointers
      • Chris Hanson
      • Safe from the losing fight
      • Cocoa with  Love
      • Borkware Miniblog
      • Call Me Fishmeal
      • furbo.org
      • Dave Dribin's Blog
      • Matt Legend Gemmell

      • 이외에 Xcode, Cocoa, 맥프로그래밍 관련 국내외 사이트란 포스팅도 참고하세요.

        2) 관련 서적
        다음은 Cocoa, Objective-C, 맥/아이폰 개발에 관련된 서적들입니다. '코코아 프로그래밍'을 제외하고는 모두 원서이므로 아마존과 같은 외국 사이트 또는 국내의 구매대행 서비스를 하는 온라인 쇼핑몰에서 구입을 하셔야 합니다.

        맥에서의 개발이든 아이폰에서의 개발이든 공통적으로 Xcode/인터페이스빌더의 사용법과 Objective-C, 파운데이션 프레임워크에 관해서 알고 있어야 합니다. 그렇기 때문에 당장 시작을 할 수는 없지만, 초반에 기본을 익히는데는 맥 프로그래밍 서적을 보셔도 큰 상관은 없을 것 같습니다.


        * 코코아 프로그래밍
        - 가격: 22,000원
        - 출판: 인사이트
        - 역자: 박진형

        위에서 언급했던 현재까지 유일한 번역서적입니다. 코코아 프로그래밍에 관한 기본적인 사항을 익히기에 아주 좋은 책이지만, Xcode 2.*를 중심으로 소개하고 있기 때문에, 초보자들이 보기에는 Xcode 3.*을 사용하면서 약간의 차이점 때문에 혼돈되는 부분이 있습니다.


        * Cocoa Programming for Mac OS X
        가격: $31.49
        출판: Addison-Wesley Professional
        저자: Aaron Hillegass

        아론 힐리가스가 쓴 코코아 프로그래밍의 가장 대표적인 서적입니다. 아이폰이 아닌 맥 프로그래밍에 관한 내용이지만 Xcode, 인터페이스 사용법과 Objective-C등 기본적인 내용을 익히기에 좋은 책입니다. 


        * Xcode 3 Unleashed
        가격: $26.99
        출판 Sams
        저자: Fritz Anderson

        Step into Xcode의 다음 버젼으로 이전과는 달리 깔끔한 디자인으로 Xcode 3에 맞추어


출처 : http://blog.naver.com/PostView.nhn?blogId=minny0109&logNo=150044206935
Posted by 오늘마감

댓글을 달아 주세요

아이폰어플개발정보2010. 6. 21. 18:30
[펌]iPhone 어플리케이션 개발을 위한 준비 - 1. 하드웨어

http://www.cocoadev.co.kr/200

애플의 App 스토어와 아이폰/아이팟 터치에 관심을 가지시는 분들이 많아지면서, 아이폰 개발을 어떻게 시작 하는지 궁금해 하시는 분들이 계셔서 이에 관해서 포스팅을 해볼려고 합니다. 개발에 관한 직접적이거나 기술적인 이야기 보다는 준비해야 할 것, 관련 사이트/서적등에 대해 간단히 써보겠습니다.

기존에 다른 플랫폼에서 개발경험이 있는 분들은 조금만 자료를 찾아 보시면 쉽게 적응을 할 수 있으시니, 이 글에서는 별다른 도움이나 흥미있는 내용이 없을 것입니다. 이 포스팅은 아래와 같은 분들을 대상으로 합니다.

  • 애플 제품을 사용해 본적이 없으신 분
  • 개발 경험이 없으신 분
  • 아이폰 개발을 시작하시려는 분
  •  
    이번과 다음 포스팅에서는 아이폰 어플리케이션 개발을 위해서는 필요한 하드웨어와 소프트웨어에 대해서 알아 보겠습니다. 설명이 길지만 요점은 아래와 같습니다.
    * 필수 사항
    • OS X 10.5* 설치된 Mac
    • ADC 회원 가입
    • Xcode
    • iPhone SDK

    • * 선택 사항
      • 아이팟 터치 (또는 아이폰)
      • 아이폰 개발자 프로그램 가입

      1. 하드웨어
      1)  Mac 컴퓨터
      아이폰 어플리케이션은 Xcode 3( +  iPhone SDK)를 사용하여 개발합니다. Xcode 3.* 버젼과 iPhone SDK는 OS X 10.5(레오퍼드) 이상에서만 설치하고 사용하실 수 있습니다.

      그렇기 때문에 레오퍼드가 설치되어 있는 하드웨어가 필요하고, 공식적으로는 애플에서 판매하는 맥을 구입하셔야 합니다. (해킨토시나 cygwin에서 툴체인을 사용하는 방법은 논외로 하겠습니다.) OS X 10.5 레오퍼드에 대해서는 애플의 개발자를 위한 Leopard 기술이란 문서를 참조하시기 바랍니다.

       
      1.1) 사양 비교
      한국 애플스토어에서 판매하는 맥의 종류와 가격은 아래와 같습니다. 아쉽게도 요즘 환율로 인하여 최근에 나온 맥들은 이전보다 사양에 비해 가격이 많이 상승했습니다.


      제품의 사양 및 평가는 제 경험에 의한 지극히 주관적인 평가입니다. 절대적인 것이 아니니 참고만 하시기 바랍니다.

      * 맥미니
      맥미니 1.83GHz은 가장 저렴한 맥으로 69만원이며, 현재 판매되는 맥중에서 성능은 가장 낮습니다. 또한 맥미니는 디스플레이와 키보드/마우스가 포함되어 있지 않기 때문에, 추가로 구입을 하거나 미리 준비가 되어 있어야 합니다. 하지만

      (저는 집에서 가장 사양이 낮은 맥 미니 1.83GHz를 사용하고 있지만, Xcode에서 아이폰 어플리케이션을 개발하고 시뮬레이터를 실행하는데 전혀 부족함을 느끼지 못했습니다. 하지만 리소르를 많이 사용하는 작업이나 고사양의 3D 게임과 같은경우에는 부족한 점이 느껴질 것 같습니다.)


      *
      iMac

      iMac은 디스플레이와 키보드/마우스가 제품에 포함되어 있기 때문에, 추가비용이 거의 발생하지 않습니다. 가격대 성능비가 가장 우수한 맥입니다. 개인적으론 개발용으로 사용하기에는 iMac이 비용대비로 가장 적당하지 않나 생각됩니다. iMac은 외부 모니터도 사용가능하기 때문에, iMac 디스플레이까지 포함하여 듀얼 모니터로 사용할 수 있습니다. 하지만 별도의 Mini DVI to VGA 또는 Mini DVI to DVI 어댑터를 구입하셔야 합니다.


      *
      맥북/맥북 프로/맥북 에어

      당연한 이야기지만 가장 무난한


출처 : http://blog.naver.com/PostView.nhn?blogId=minny0109&logNo=150044206889
Posted by 오늘마감

댓글을 달아 주세요