Objective-C 개발 : Mac 및 iOS 앱 구축 시작

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


Objective-C는 C에 기반한 고급 프로그래밍 언어이며 Smalltalk의 추가 기능과 구문이 있습니다. C 언어의 상위 집합이므로 유효한 C 코드가 Objective-C 컴파일러에서 실행됩니다. 이는 언어 설계자가 의도 한 결정으로, 언어는 기존 C 응용 프로그램 및 구성 요소와 역 호환성을 유지하기를 원했습니다. 언어는 그 시점까지 프로그래밍 된 대부분의 운영 체제 및 유틸리티에 사용 되었기 때문입니다. (1980 년대 초).

Objective-C의 짧은 역사

Objective-C는 C에 Object Oriented 프로그래밍 기능을 추가하기위한 수단으로 1980 년대 초에 발명되었습니다. 발명가 인 Brad Cox와 Tom Love는 Smalltalk (OO 초기 언어)가 실제로 재사용 가능한 코드에 필요한 도구를 제공 할 수 있다고 생각했습니다. 시스템 개발자를위한 개발 환경 만들기.

콕스는 스몰 토크와 유사한 코드를 포함 할 수있는 C 용 전처리기를 작성하여 컴파일 가능한 C로 렌더링하는 것으로 시작했다. 이는 완전한 객체 지향 C 확장으로 바뀌었다..

Objective-C는 결국 Object-Oriented Programming : Evolutionary Approach 책에 완전히 정의되고 설명되었습니다..

NeXT는 1988 년 Objective-C에 라이센스를 부여하고이를 기반으로 여러 도구를 개발했습니다. 이 툴들은 결국 몇 개의 중간 단계 후에 Cocoa 개발 환경이되었으며, 이는 여러 Apple 시스템에서 사용됩니다.

  • 맥 OS X

  • iOS

  • 애플 워치 OS

몇 년 동안, 이러한 Apple 운영 체제 중 하나를 위해 작성된 앱은 Objective-C로 작성 (또는 컴파일 또는 실행)해야했습니다. Apple이 플랫폼을 Swift로 옮기면서 상황이 바뀌고 있습니다..

Cocoa 외에도 Objective-C는 GNUstep 플랫폼에서도 사용되며 Linux, Unix, BSD 및 Windows 환경에서 실행할 수 있으며 Cocoa를 밀접하게 미러링합니다..

Objective-C 언어 정보

Objective-C는 C의 두 가지 주요 객체 지향 파생 중 하나이며 다른 하나는 C ++입니다. 각 언어는 기본 언어를 사용하고 개체 방향을 다르게 구현했습니다. (최신 버전의 C는 객체 지향 구현에서 Objective-C가 아닌 C ++의 선두를 따랐습니다. 이로 인해 C와 Objective-C 사이에 차이가 생겼습니다.)

메시징

C ++를 포함한 대부분의 객체 지향 언어에서 함수는 객체에서 메소드를 호출하여 호출됩니다. 이 호출 방법은 최초의 객체 지향 언어 인 Simula에서 파생됩니다..

함수 호출을위한 Objective-C의 구문은 메시지가 객체로 전달되는 스몰 토크에서 나옵니다..

이 차이는 사소한 것처럼 보이지만 여러 가지 의미가 있습니다. 중요한 것은 함수 호출을 컴파일 타임이 아닌 런타임에 특정 객체에 연결할 수있어보다 유연한 구현이 가능하다는 것입니다.

동적 타이핑

Objective-C는 이전 스몰 토크와 같이 동적 타이핑을 활용할 수 있습니다. 이는 객체가 클래스 인터페이스에 지정되지 않은 메시지를 수신 할 수 있음을 의미합니다. C ++ 및 기타 여러 언어에서 오류 또는 예외를 발생시키는 것.

메시지는 직접 메소드 호출이 아니므로 오브젝트를 실행할 메소드가 필요하지 않습니다. 메시지 전달을 통해 다른 개체로 메시지를 전달하거나 다른 방법으로 메시지에 응답하거나 오류를 발생시킬 수 있습니다. 이를 통해 프록시 패턴 및 관찰자 패턴을 포함한 여러 디자인 패턴을 쉽게 구현할 수 있습니다..

카테고리

카테고리는 런타임에 메소드를 클래스에 추가 할 수있는 일종의 슈퍼 클래스 구조입니다. 이를 통해 클래스를 재 컴파일하거나 소스 코드 액세스 권한없이 메소드를 클래스에 추가 할 수 있습니다. 기존 클래스 메소드를 대체 할 수도 있습니다..

이 기능은 크고 복잡한 코드 기반의 유지 관리 및 확장을 용이하게합니다..

온라인 Objective-C 자료

다음은 Objective-C를 배우고 사용하는 데 도움이되는 자료입니다. 그것들은 서로 다른 범주로 세분화되어 있으므로 프로그래밍 기초, 고급 교육 또는 Objective-C 도구 등 원하는 정보를 더 쉽게 찾을 수 있습니다..

Objective-C 학습서 및 소개 자료

이 문서를 통해 언어에 대한 경험이없는 경우에도 Objective-C 프로그래머로 시작할 수 있습니다. 그래서 당신이 막 시작한다면, 여기서 시작해야합니다.

  • Objective-C 소개 — Apple의 Objective-C 개요.

  • Objective-C 소개 — 고성능 수학 관련 개발자의 Objective-C 및 OpenStep 플랫폼에 대한 기본 개요.

  • 코코아 및 코코아 터치의 기본 프로그래밍 개념 — 코코아 환경 소개.

  • Cocoa 코딩 가이드 라인 소개 – Objective-C를 사용하는 Cocoa API에 대한 일반 정보.

  • Objective-C 용 설명서 작성 — Objective-C 설명서에 대한 NSHipster 안내서. (즉, 언어가 아니라 코드에 대해 작성된 문서입니다.)

  • Objective-C 초보자 가이드 : 언어 및 변수 — Treehouse의 초보자 Objective-C 자습서.

  • Objective-C 사용해보기 — Code School의 Objective-C 무료 5 부 수업.

  • 24 일 만에 Objective-C를 배우십시오 — Feifan Zhou의 Objective-C에 대한 24 시간 과정입니다. (binpress에 대한이 Objective-C 자습서의 전체 목록을 참조하십시오.)

  • Objective-C 배우기 — Tuts의 또 다른 다중 파트 Objective-C 코스+.

  • Cocoa Dev Central — Objective-C에 대한 튜토리얼.

  • Ry의 Objective-C Tutorial — 간결한 빠른 참조 및 언어를 처음 접하는 사람들을위한 포괄적 인 소개.

  • Objective-C Tutorial — tutorialspoint의 괜찮은 (놀랍지 않은) 튜토리얼.

오브젝티브 -C 툴

다음 Objective-C 도구를 사용하면 코딩이 더 쉽고 강력 해집니다. Apple 개발자 네트워크에서 제공되는 Objective-C 도구는 특히 연간 99 달러이지만 가치가 있습니다..

  • Mac 용 LispWorks — Objective-C 클래스 및 호출 메소드 작성을위한 API 포함 — 자세한 내용은 LispWorks Objective-C 및 Cocoa 사용 설명서 및 참조 설명서를 참조하십시오..

  • Objective-C Editor-편집기보다 통합 된 개발 환경으로 한 곳에서 모든 작업을 수행 할 수 있습니다..

  • Apple Developer Network — 도구 자체는 아니지만 Apple Developer Network는 Xcode IDE 및 Foundation Framework와 같은 많은 훌륭한 Objective-C 도구에 대한 액세스를 제공합니다..

  • Codebeat — 웹 및 모바일 개발에 중점을두고 코드를 개선하는 데 도움이되는 분석 시스템.

참고

다음 문서는 Objective-C 코딩을보다 쉽게하기 위해 코드 스 니펫, 치트 시트 및 하이퍼 텍스트 문서를 제공합니다..

  • Objective-C 치트 시트 — Objective-C의 일반적인 상위 주제에 대한 빠른 참조 치트 시트.

  • NSHipster Fake Book — iOS 및 MacOS X 개발자를위한 200 개 이상의 Objective-C 핥기.

  • Objective-C 런타임 참조 — Apple의 모든 OS X Objective-C 2.0 런타임 라이브러리 지원 기능 및 데이터 구조.

  • Objective-C 치트 시트 및 빠른 참조 — 일반적인 Objective-C 문제를 다루는 PDF 1 페이지. 개발자 머신 옆의 벽에 걸기에 좋습니다..

출판사

다음은 Objective-C 프로그래머에게 관심있는 컨텐츠를 작성하는 두 발행인입니다..

  • Objc.io — objc.io는 iOS 및 OS X 개발을위한 고급 기술과 실습에 관한 책을 출판합니다.

  • NSHipster — Objective-C, Swift 및 Cocoa에서 간과 된 비트 저널.

Objective-C에 관한 책

주제에 대해 실제로 배우기를 좋아하는 사람들을 위해 Objective-C에 관한 최고의 책이 있습니다. 여기에는 방금 시작한 사람들, 지식을 높이고 싶은 사람들, 참고 자료가 필요한 사람들을위한 책이 포함됩니다.

입문서

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

  • Objective-C 프로그래밍

  • Ry의 Objective-C 튜토리얼

  • Objective-C 프로그래밍 너트 및 볼트

고급 도서

  • 효과적인 Objective-C 2.0 : 52 가지 iOS 및 OS X 프로그램 개선 방법

  • 프로 오브젝티브 -C

  • iOS 용 Pro Objective-C 디자인 패턴

참고 도서

  • Objective-C 포켓 참조

  • Objective-C 빠른 구문 참조

스위프트 — Objective-C의 후임

Objective-C를 배우는 경우 Swift를 배우는 것이 좋습니다..

Objective-C의 주요 용도는 세 가지 운영 체제 (OS X, iOS, WatchOS)의 Apple Cocoa 플랫폼에있는 앱입니다. 애플은이 플랫폼들이 새로운 프로그래밍 언어 인 스위프트 (Swift)로 전환 할 것이라고 발표했다..

다음은 몇 가지 Swift 리소스입니다.

  • Swift 프로그래밍 언어 — Apple의 Swift 입문 안내서입니다. 또한 같은 이름의 iBooks 책을 참조하십시오. Apple에서도.

  • 스위프트 치트 시트 — Objective-C 치트 시트 제작자로부터 스위프트에 대한 빠른 참조.

  • Cocoa 및 Objective-C와 함께 Swift 사용

  • 스위프트의 함수형 프로그래밍

자주하는 질문

Objective-C에 관해 가장 자주 묻는 몇 가지 질문에 답변했습니다..

Objective-C 란 무엇입니까?

Objective-C는 C 프로그래밍 언어의 상위 집합입니다. 대부분 C와 비슷하지만 스몰 토크와 유사한 객체 지향 기능을 추가합니다..

Objective-C는 무엇을 위해 사용됩니까??

Objective-C를 사용하여 모든 운영 체제 또는 플랫폼 용 앱을 작성할 수는 있지만 Objective-C의 유일한 주류 용도는 세 가지 운영 체제 (Mac OS X, iOS, WatchOS)의 Apple Apps입니다..

Apple 앱에 Objective-C를 사용해야합니까?

아니요. Objective-C 외에 두 가지 다른 옵션이 있습니다.

  • Swift — Swift 프로그래밍 언어는 Objective-C의 후속 언어로, 모든 새로운 앱 개발을 위해 Apple에서 지원합니다..

  • Objective-C 또는 Swift를 기반으로 컴파일 또는 실행 — Apple 환경에서 작동하는 기본이 아닌 앱을 빌드하는 몇 가지 방법이 있습니다. 예를 들면 다음과 같습니다.

    • 폰갭
    • 코드 네임 1

    • 액셀러레이터

Objective-C가 죽었습니까?

아닙니다. Objective-C는 여전히 최소한 몇 가지 이유로 배울 가치가있는 언어입니다.

  • 현재 Swift의 Cocoa API는 완전히 성숙되지 않았습니다. 일정 기간 동안 Objective-C는 Cocoa 플랫폼을 최대한 활용할 수있는 유일한 방법입니다..

  • 또한 Cocoa의 기초는 Objective-C로 작성되었습니다. Swift가 완전히 성숙 된 후에도 곧 변경 될 것 같지 않습니다. 플랫폼에 대한 깊은 이해가 필요한 복잡한 응용 프로그램을 작성하려면 Objective-C가 필요합니다..

  • 최근까지 모든 Apple 응용 프로그램은 Objective-C로 작성되었으며 많은 응용 프로그램이 계속 사용됩니다. 즉, 기존 앱을 유지 관리, 확장 또는 개선해야 할 경우 Objective-C를 알아야합니다..

Objective-C와 C의 차이점?

Objective-C는 C를 모두 포함하고 Smalltalk의 구문을 사용하여 Object Oriented 원칙을 추가합니다..

Objective-C와 C의 차이점++?

C ++ 및 Objective-C는 C 프로그래밍 언어에 객체 방향을 추가하는 문제에 대한 별개의 솔루션입니다..

Objective-C는 객체 지향을 구현하는 방법에 대한 모델로 스몰 토크를 사용했으며 C ++은 Simula를 사용했습니다..

Apple 이외의 시스템에서 Objective-C를 사용할 수 있습니까??

예. 필수 런타임이 시스템에 설치되어 있으면 Objective-C를 어디서나 사용할 수 있습니다..

그러나이 작업을 수행하는 것은 일반적이지 않으며 일반적으로 다른 플랫폼 용 응용 프로그램을 작성하는 더 나은 (더 완벽하게 지원되는) 방법이 있습니다.

Apple 이외의 환경에서 Objective-C를 사용하는 가장 강력한 이유는 Apple App을 Windows 또는 Linux로 이식 할 때일 수 있습니다. 이 경우 GNUstep으로 수행 할 수있는 Cocoa Framework도 복제해야합니다..

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