Cocoa and Cocoa Touch : 시작하는 방법 Mac 및 iOS 앱 빌드

폭로: 귀하의 지원은 사이트 운영을 유지하는 데 도움이됩니다! 이 페이지에서 권장하는 일부 서비스에 대한 추천 수수료가 발생합니다.


Cocoa는 Mac OS X 운영 체제 고유의 개발 API입니다. Cocoa Touch는 iOS와 밀접한 관련이있는 플랫폼입니다. Objective-C로 작성되었으며 각 운영 체제에 일종의 “최상위 계층”역할을합니다..

Cocoa는 응용 프로그램 플랫폼 또는 응용 프로그램 개발 프레임 워크로 생각할 수 있지만 Linux 또는 Windows 환경보다 운영 체제에 더 통합되어 있습니다..

API, 운영 체제 및 Apple 자체 하드웨어 간의 긴밀한 통합은 원활한 개발 환경을 제공하고 작업을 “애플 방식”으로 적용하기위한 것입니다..

코코아의 역사

코코아는 문자 그대로 C로 시작합니다.

1980 년대 초 브래드 콕스 (Brad Cox)와 톰 러브 (Tom Love)라는 개발자 한 명이 객체 프로그래밍을 C 프로그래밍 언어에 추가하려고했으나 당시 OOP를 지원하지 않았습니다..

그들의 해결책은 스몰 토크와 비슷한 추가로 C 코드를 컴파일 가능한 일반 C 코드로 렌더링하는 전처리기를 만드는 것이 었습니다. Smalltalk는 초기 객체 지향 언어였습니다.

이 전처리 기는 빠르게 본격적인 언어 확장으로 발전하여 Objective-C로 알려졌습니다. Steve Jobs가 1985 년 Apple에서 해고 된 후 설립 한 NeXT 소프트웨어는 Objective-C의 제작자로부터 라이센스를 받아 여러 개발 프레임 워크의 기초로 사용했습니다..

이들은 NeXT가 80 년대와 90 년대에 판매 한 NeXTSTEP 및 OpenStep 애플리케이션 플랫폼을 형성했습니다..

Apple은 1996 년 NeXT를 인수했으며 Steve Jobs는 CEO로 돌아 왔습니다. NeXTSTEP 프레임 워크가 Mac 운영 체제로 전환되었습니다.

Apple은 이미 중단 된 별도의 프로젝트에 대해 Cocoa라는 이름을 상표로 사용했습니다. Apple의 최신 버전의 프레임 워크에 상표가 붙은 브랜드 이름을 빠르게 표시하기 위해 Cocoa라고했습니다..

Cocoa는 1990 년대 후반부터 모든 Apple 운영 체제의 일부였으며 그 이후로 OS 및 새로운 장치 플랫폼과 함께 발전했습니다.

코코아는 무엇을 하는가?

코코아는 많은 작업을 수행하지만 크게 말하면 다음과 같은 4 가지 범주로 분류됩니다.

  • Objective-C의 확장 표준 라이브러리로 작동하여 Objective-C 디자인에없는 최신 컴퓨팅 언어의 풍부한 개체 및 기능을 지원합니다..

  • 통합 된 사용자 인터페이스 및 사용자 경험 제공.

  • 응용 프로그램이 다른 응용 프로그램, 서비스 및 장치 기능에 액세스하도록 허용.

  • 특정 아키텍처 및 데이터 관리 패턴 장려.

이러한 광범위한 설계 목표는 여러 “프레임 워크”에서 구현됩니다. 이 용어는 약간 혼동 될 수 있습니다. 현대적으로 말하면 Cocoa는 여러 모듈이나 라이브러리가있는 단일 프레임 워크와 비슷합니다. 그러나 Apple은 이러한 각 라이브러리를 “프레임 워크”라고 부릅니다.

이러한 각각의 기능 목표를 살펴보고 다양한 Cocoa 프레임 워크가 어떻게이를 달성하는지 살펴 보겠습니다..

표준 라이브러리로서의 코코아

Objective-C에는 표준 라이브러리가 있습니다. Cocoa 환경에서 표준 라이브러리와 런타임은 실제로 Cocoa에서 제공합니다. 또한 Foundation Kit는 확장 된 언어 기능을 제공하며 실제로는 사실상 표준 라이브러리 역할을합니다..

이는 Objective-C에서 일반적으로 제공되는 것보다 더 고급 언어 기능을 제공합니다. 여기에는 일반적으로 사용되는 객체 유형 (숫자, 날짜, 문자열, URL, 정규식 및 오류 메시지)에 대한 광범위한 기본 클래스가 포함됩니다..

이 Foundation Kit 프레임 워크는 Objective-C로 작성된 앱에 필수적입니다. 그러나 Apple이 새로운 Swift 개발 언어를 홍보함에 따라 Apple 플랫폼의 앱 개발은 Objective-C에서 멀어지고 있습니다..

Swift는 기본적으로 Foundation Kit에 의해 추가 된 많은 현대 언어 기능을 제공하며 Foundation 및 Objective-C가 Swift 중심 미래에서 어떤 역할을 수행 할 것인지 불분명합니다..

UI / UX 인터페이스로서의 Cocoa

코코아의 이러한 측면은 아마도 앱 개발자에게 가장 중요 할 것입니다..

Cocoa의 OS X 버전에서 사용자 경험 API는 AppKit이라는 프레임 워크에 의해 제공됩니다. iOS 용 Cocoa Touch에서는이를 UIKit이라고합니다..

두 경우 모두 그래픽 요소, 사용자 인터페이스 컨트롤, 창 및 패널 관리, 멀티 터치 인터페이스 및 사용자와 시스템 간의 상호 작용에 대한 기타 모든 세부 정보를 제공합니다..

AppKit 및 UIKit을 사용하면 응용 프로그램이 Apple 시스템에 고유 한 모양과 느낌을 갖게되고 “올바른”방식으로 입력 (제스처, 클릭, 이동)에 응답합니다.

Cocoa와 Cocoa Touch의 큰 차이점은 AppKit과 UIKit의 차이점입니다. Apple이 여러 플랫폼에서 사용자 경험을 통합하기 위해 노력한만큼 데스크탑 Mac에서와 다른 방식으로 iPhone과 상호 작용합니다..

UIKit에는 약간 다른 GUI 요소 외에도 나침반 방향, GPS, 가속도계 (장치 이동) 및 터치 스크린과 같은 기능이 포함되어 있습니다..

운영 체제 인터페이스로서의 코코아

Apple 앱은 다른 앱 및 운영 체제 서비스와 상호 작용할 수 있어야합니다..

채팅 앱에서 전화 번호를 클릭하고 전화를 걸려면 앱이 서로 대화 할 수 있어야합니다..

음악 편집 앱이 마이크에서 소리를 듣고 스피커로 재생할 수있게하려면 앱이 운영 체제 서비스와 상호 작용할 수 있어야합니다.

Cocoa는 앱과 서비스에 대한 액세스를 제공하는 전체 프레임 워크 목록을 제공합니다. 이를 통해 앱은 독립형 실행 파일 일뿐만 아니라 통합 에코 시스템에서 존재하고 작동 할 수 있습니다..

건축가로서의 코코아

Cocoa는 두 가지 중요한 아키텍처 패턴을 지원합니다. 하나는 응용 프로그램 내에서, 하나는 응용 프로그램이 외부와 통신하는 방식입니다..

Cocoa는 Model-View-Controller 아키텍처 패러다임을 염두에두고 작성되었으며 모든 수준에서 MVC 개발을 지원합니다.

보기는 AppKit 또는 UIKit 프레임 워크에 의해 구현됩니다. 컨트롤러 모듈은 Foundation Kit에 내장 된 클래스 제품군을 통해 지원됩니다. 모델 및 데이터 지속성 계층에 대한 필수 연결은 코어 데이터라는 다른 프레임 워크에서 처리합니다..

이 디자인은 iOS 및 OS X 응용 프로그램 내에서 Model-View-Controller 아키텍처를 권장합니다 (일부 시행).

다른 응용 프로그램과 응용 프로그램 및 서비스 사이에서 다양한 프레임 워크는 본질적으로 서비스 지향 방식으로 상호 작용을 중재합니다. 이를 통해 앱을 서로 더 쉽고 안전하게 통합하여 강력하고 탄력적 인 애플리케이션 에코 시스템을 홍보 할 수 있습니다..

코코아 자료

온라인

튜토리얼

  • 코코아 및 코코아 터치의 기본 프로그래밍 개념

  • 코코아 코딩 가이드 라인 소개

  • 코코아 데브 센트럴

  • 초보자를위한 Cocoa로 Mac OS X 프로그래밍.

도구

  • Cocoa Controls : iOS 및 OS X 용 오픈 소스 UI 구성 요소.

  • Cocoa Pods : Cocoa 프로젝트를위한 패키지 관리자.

커뮤니티와 지속적인 학습

  • CocoaHeads : Cocoa 및 Cocoa Touch 개발을 전담하는 전 세계 지역 회의 및 토론 그룹 네트워크.

  • 코코아 서브 레딧.

서적

  • Cocoa를 이용한 신속한 개발 : Mac 및 iOS 앱 스토어 개발

  • OS X 용 코코아 프로그래밍 : The Big Nerd Ranch Guide

  • Objective-C로 코코아 배우기

  • Ry ‘s Cocoa Tutorial

  • 코코아 (개발자 참조)

  • 코코아 디자인 패턴.

다른 OS X 및 iOS 개발 리소스

진공 상태에서는 Cocoa 또는 Cocoa Touch를 사용할 수 없습니다. Xcode, Objective-C 및 Swift를 포함하는 더 큰 Apple App 개발 환경의 일부입니다. 이러한 다양한 도구와 기술이 함께 작동하여 개발 생태계를 형성합니다..

Xcode

Xcode는 OS X 및 iOS 애플리케이션을 빌드하는 데 필요한 IDE (Integrated Development Environment)입니다. Swift, Cocoa, Apple App store 및 더 큰 Apple 생태계와 긴밀하게 통합되어 있습니다..

모든 일반적인 Apple 개발 리소스에서 다루는 Xcode에 대한 자습서는 많지 않습니다. 그러나 Xcode의 새로운 리소스는 새로운 버전의 Xcode가 나오면 정기적으로 업데이트되는 Xcode Tutorial입니다..

목표 -C

  • Objective-C에 관하여 : Apple Developer Center의 입문서

  • Objective-C 프로그래밍

  • Objective-C 프로그래밍 : 빅 얼간이 목장 가이드.

또한 Objective-C 리소스의 전체 목록이 있습니다..

빠른

  • 스위프트 프로그래밍 언어 : 공식 Apple 가이드

  • Swift Programming : The Big Nerd Ranch Guide : 주제에 대한 결정적인 책.

우리는 또한 Swift 자원의 전체 목록을 가지고 있습니다.

일반 Apple 개발 리소스

Apple 플랫폼 개발에 관한 정보 및 리소스의 첫 번째 장소는 Apple 개발자 사이트입니다..

Mac 및 iOS 개발에 관한 최고의 책은 Big Nerd Ranch에서 제공합니다. 특정 주제에 관한 책은 위에 언급되어 있으며 Advanced Mac OS X Programming 및 iOS Programming에 대한 책을 확인해야합니다..

다른 좋은 일반 자료 :

  • Ray Wenderlich Tutorials : Apple이 플랫폼을 업데이트 할 때 이전 튜토리얼을 업데이트하고 업데이트하는 비교적 소수의 공급 업체 중 하나.

  • YouTube의 Apple Programming Channel : 공식은 아니지만 매우 도움이 됨.

  • WeHeartSwift : 명쾌하게 Swift에 관한 것이지만이 사이트는 OS X 및 iOS 개발의 모든 측면을 다룹니다..

  • NSHipster : “Objective-C, Swift 및 Cocoa에서 간과 된 비트”에 대한 많은 자습서와 함께 Mac 및 iOS 개발에 대한 인기 블로그입니다. 그들은 또한 그들의 적용 범위에 대해 매우 의견이 있습니다..

  • ObjC.io : iOS 및 OS X 개발을위한 고급 기술 및 실습에 관한 책과 기사.

결론 …

Cocoa 및 Cocoa Touch는 Mac 및 iOS 용 기본 앱 개발의 기초입니다..

iOS의 경우 HTML5 및 JS를 사용하여 기본이 아닌 모바일 앱을 구축하는 다른 방법이 있지만 항상 예상대로 진행되는 것은 아닙니다..

차세대 대형 iPhone 앱을 구축하거나 OS X와 ​​잘 통합되어 사용자의 기대에 부합하는 Mac 앱을 만들려면 Cocoa 및 Cocoa Touch를 파헤쳐 야합니다. 기본 앱 개발의 경우 실제로 대체물이 없습니다..

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me