더북(TheBook)

비록 전형적인 유닉스 프로그램 구조는 다수의 규칙과 API를 포함하지만, 정말 필요한 것은 거의 없습니다. 그 결과 유닉스는 다양한 유형, 언어, 구조로 작성된 프로그램을 쉽고 성공적으로 지원합니다.

이에 비해 iOS 플랫폼은 훨씬 더 제약이 많습니다. iOS 애플리케이션은 유닉스 프로그램처럼 단일 진입점이 없는 대신 iOS 요청에 응답해야 하는 함수가 여러 개 있습니다. 이 중 대부분은 애플리케이션 생명 주기와 관련이 있습니다. 아울러 유닉스에서는 프로그램이 주어진 작업을 완료할 때까지 실행한 뒤 종료됩니다. 반면에 iOS에서는 애플리케이션이 시작되고 포그라운드에 나타났다 백그라운드로 이동하기도 하고, 리소스를 보존하려고 중지되기도 하고, 사용자 상호 작용이나 알림 때문에 다시 시작되는 등 훨씬 더 복잡하게 동작합니다.

필요하다면 유닉스에서도 iOS 프로그램의 기본 구조를 사용할 수 있습니다. 재차 언급하지만 유닉스는 특정 구조를 강제하지 않으며, 프로그램 설계자가 상당한 재량권을 가질 수 있습니다. 그러나 iOS에서는 지정된 모델로 애플리케이션 구조를 만들어야 합니다. 프로그램과 iOS 환경 간의 관계는 해당 프로그램에 주요한 아키텍처를 결정하는 요인이 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.