Swifter {Swift Developer}

메뉴

iOS 앱 개발의 기본기

iOS는 애플사에서 제공하는 아이폰, 아이패드, 아이팟 터치에 내장되어 있는 운영체제(OS)이다. 멀티터치 디스플레이를 이용한 입력방식에 최적화되어 있고 깔끔한 동작이 특징이다.

또한, iOS에 설치할 수 있는 응용프로그램을 iOS앱이라고 한다. iOS앱은 애플사가 운영하는 앱스토어라는 iOS 앱 다운로드 서비스에서 설치할 수 있다. iOS앱은 애플이 개발도구와 문서를 개발자 전용으로 공개하고 있어 누구나 개발자를 유료 등록하고 앱을 개발 등록하면 애플의 심사를 통해 앱스토어에 배포할 수 있다.

 

iOS앱의 장점

iOS와 똑같은 스마트폰으로 안드로이드가 있으며 안드로이드도 앱을 만들어 안드로이드 앱스토어에 개발해서 배포할 수 있다. iOS앱은 안드로이드를 내장한 기기는 매우 종류가 많고 모든 기종에서 앱의 실행 보증을 하기 어렵고 운영체제 버전업그레이드와 하드웨어 성능이 항상 일치하게 앱 품질을 보증하기 어렵다.

 

iOS의 계층구조

iOS 내부 소프트웨어 구성요소가 계층적으로 쌓인 레이어구조를 가지고 있다. 구체적으로 Cocoa Touch, Media, Core Services, Core OS 5가 하나의 레이어로 구성된다.

ios-layer

  • Cocoa Touch: 화면의 UI 및 터치등의 기능
  • Media: 그래픽/오디오/비디오등의 기능
  • Core Services: 내부 데이터/위치/센서등의 기능
  • Core OS: iOS의 거의 모든 기능의 기본적인 부분을 관리

하위레이어는 iOS의 핵심 부분 또는 하드웨어에 가까운 기능을 가지고 있고 상위레이어 그 다음 레이어의 기능을 추상화한 인터페이스를 가지고 있다.

 

프레임워크

애플은 앱 개발에서 필요한 기능을 파트별로 정리한 것이 바로 프레임워크가 패키지로 관리된다. 간단하게 말하면 지도 사용, 카메라 사용등의 기능이 준비되어 있다. 개발자는 이런 기능을 불러와 원하는 앱을 쉽게 구현할 수 있다.

iOS 앱 개발에서 가장 많이 이용되는 것은 화면 구성을 하는 UIKit과 내부 데이터관리인 Foundation 두가지가 대표적이다. 이 두가지를 통해 다른 프레임워크로 보강해서 개발을 진행하는 것이 일반적이다. 특히 iOS앱 개발에서 자주 이용되는 것을 설명하려고 한다.

ios-framework

iOS에서 프레임워크는 기능별로 나누어져 있고 프레임워크명 및 하위 프레임워크의 클래스명도 구현할 수 있는 기능을 쉽게 확인할 수 있도록 되어 있다. 즉 개발자가 쉽게 이해할 수 있도록 하기 위함도 있지만 문서로 이용시 원하는 기능을 빠르게 검색할 수 있도록 위함도 있다. iOS 업데이트가 일어나면 새로운 기능 추가과 같이 프레임워크도 업데이트되기 때문에 항상 iOS 앱 개발을 한다면 애플의 개발자 사이트를 확인하는 습관을 가지자.

 

앱 개발을 위해 필요한 환경

  • Apple Developer 등록
  • Xcode 무료 다운로드
  • Mac 기기 필수(iMac, MacBook, Mac mini, Mac Pro등)
  • 개발한 앱을 테스트하기 위한 아이폰 기기

Xcode는 누구나 맥앱스토어를 통해 무료로 다운로드받고 설치할 수 있다.  또한, iOS앱 개발에 필요한 문서 또는 iOS Developer Program에 대해서는 애플 개발자 사이트를 참고하자.

https://developer.apple.com

Facebook Comments

카테고리:   Swift

댓글

죄송하지만 댓글은 닫혀 있습니다.