<< String.split 과 StringTokenizer의 차이 | Home | Cross-Site Scripting (XSS) 필터 샘플 >>

Startring iPhone Development 세미나 참석 후기

Iphone 개발을 시작하는 개발자에게 좋은 세미나 기회가 있어 참여를 하게 되었습니다. 비트교육센터에서 개최를 하였고 강사로는 윤성관 링고스타 대표와 박진형 OSXDev.org 공동회장이 초빙되었습니다. Iphone 어플 개발을 시작하는 저로서는 애플의 역사, Iphone의 역사 그리고 Iphone 개발에 필요한 환경 및 내용들을 세미나를 통해 많은 걸 이해했습니다. 아직은 초보지만 시작이 반이라는 생각으로 열심히 해서 어플을 앱스토어에 등록하는 그날까지 열심히 해 볼랍니다.

아래는 제가 참석한 세미나의 내용을 요약해 보았습니다. 아마 제가 잘못 이해한 부분도 있을 수 있음을 알려드립니다.

1. iPhone Characteristics
 - Apple에 대해
   . 애플은 현재 전세계적으로 최대의 음원 유통을 하는 회사
   . 애플이 디자인으로 전세계 제품의 눈높이를 올려주었고, SDK를 통해 개발자의 눈높이도 높여줬다.
   . 2%의 점유율을 가진 iphone으로 왜 전세계가 주목하고 있는가?
     98%가 2%를 지켜보고 있는 상황이 잘 대변해주고 있다.
   . 애플은 산업계의 리더다.
   . 7(개발자):3(애플)의 리워드 모델을 만들었고 이를 전세계 회사가 이를 따르려 하고 있다.
 - Iphone Developer Program
   . Provisioning Profile을 얻기위해 여기에 가입하고 여기에서 개발팀을 구성하고 관리/운영에
     전반적인 기능들을 활용할 수 있다.
 - iTunes Connection
   . 마케팅/QA 관련 페이지임, 멤버 그룹은 접근이 제한됨
 - 자주 묻는 FAQ들
   . Objetive-C를 꼭 사용해야하나? -> 꼭 사용해야하고, 하이-엔드 레벨을 활용할때 도움이 됨
   . 똑 맥PC를 사야하나? -> 해킨토시를 사용해도 가능하나 시행착오며 다양한 난관에 봉착하기에
     Iphone 개발자면 맥을 사야함, Xcode 3.1, Mac OS 10.5 Leopard, Interface Builder 3.1 잘 활용해야 함
   . Iphone 어플을 개발하는데 얼마만큼의 시간이 걸리나? -> 대부분 짧게 걸린다고 말하고 있으나
     어플에 따라 다르겠지만 디자인, 코딩, 디버깅, 테스팅을 잘 병행해서 완벽한 어플을 개발할려고
     노력하라 시간은 중요치 않다. 그리고 애플의 키노트를 잘이해하고 있어라
   . 얼마나 벌 수 있나? -> 5개 어플을 올리기전까진 돈만지기 힘들다. 그리고 완벽을 기해서 올리는
      것보다 먼저 한번 올려보는게 좋은 경험이고 올린 어플을 패치하면서 실력은 향상될 것이다.
   . 앱스토어에 상위에 포진하고 있는 어플은 어떤 종류인가? -> 게임 대 비게임이 7:3이다. 게임이 많음

2. Mac OS 와 iPhone OS, Cocoa 프레임워크에 대해
 - Mac의 OS는 BSD기반으로 굉장히 안정억임
 - 맥 10.6에는 Cocoa, AppKit, Quartz
 - Iphone에는 UIKit
 - Mac과 Iphone OS에 공통으로 CoreLocation, CoreFoundtion, CoreData, POSIX, CoreAudio를 포함
 - Mac OS에는 Cocoa framework가 있는 반면에 Iphone OS에는 Cocoa Touch framework가 존재함
 -  메모리 관리
   . Objetive-C 객체 형태러 메모리를 사용함
   . 레퍼런스 카운터로 메모리 해제 여부를 판단함
   . Iphone OS는 Mac 10.5에서 사용되는 가비지 컬렉션을 지원하지 않는다

3. Objetive-C / Xcode 기초 사용법
 - Objetive-C
   . C에 아주 간단한 문범만 추가, Dynamic Object-Oriented 프로그래밍 언어
   . 작으면서도 파워풀한 실행, 단일 상속만 허용
   . 확장자가 m
   . 역사 : C + SmallTalk(1983), NeXT에서 개발(1988), 예외처리 추가(2003),
               Objetive-C 2.0(2007), Objetive-C 2.1(2008)
 - Cocoa
   . 맥 마이크로 커널위에, BSD Unix위에, 윈도우 서버라는 이벤트 담당하는 것과 어플리케이션
     사이에서 이벤트를 처리해줌
  . AppKit, Foundation 패키지 존재
 - Cocoa Touch
    . 객체 지향 환경, 터치 인터페이스를 위한 프레임워크,
    . UIKit, Foundation 패키지 존재
   . MVC패턴으로 구성됨
 - Xcode
   . 코드 편집기

4. Graphics on iPhone
 - Graphics를 맥의 CPU가 아닌 GPU엔진이 담당하기에 맥의 OS는 성능이 많이 향상되었고
   그 사상이 Iphone으로 확정되었다
 - Core Animation
   . 레이어 기반의 애니메이션 엔진, 2D, 3D, 비디오, OpenGL 통합
   . Implicit, Explicit Animation 2가지 방법이 있음
   . Objective-C 기반의 에니메이션 엔진
 - Quartz
   . C기반
   . 벡터 기반의 도로잉 환경 제공
   . 경로 기반의 쉐이브, 그래디언트, 패턴, 텍스트, 이미지, PDF를 그릴수 있음
 - Iphone Touch의 제약사항
   . 데몬 같은 기능 없음 -> Push 기능으로 보완
   . 한번에 하나의 어플리케이션 만 실행가능함



Add a comment Send a TrackBack