Какао против Какао Touch - Какая разница? - PullRequest
42 голосов
/ 19 февраля 2010

Я изучаю разработку iOS для Objective-C, и я нашел много примеров кода.

Однако некоторые из них говорят, что они предназначены только для Mac OS X (не iOS).

Может кто-нибудь объяснить мне, в чем разница между Cocoa и Cocoa Touch (на уровне библиотеки), чтобы я знал, какой код будет работать, а какой не будет?

Ответы [ 6 ]

74 голосов
/ 19 февраля 2010

Какао обычно называют комбинацией платформ Foundation и AppKit, тогда как Cocoa Touch - комбинацией платформ Foundation и UIKit.

Какао и Какао Touch стоят поверх других коллекций фреймворков для создания стеков API. Другими уровнями являются Media, Core Services и Core OS.

Основное отличие между Cocoa и Cocoa touch заключается в том, что классы и API пользовательского интерфейса не совпадают с Mac OS X и macOS, поэтому вместо NSTextField у вас есть UITextField. Многие из классов имеют одинаковую функциональность и могут быть легко перенесены путем простого изменения имени класса, хотя для большинства из них потребуются некоторые дополнительные изменения, но обычно ничего лишнего.

Есть также некоторые различия между платформами Foundation в Cocoa и Cocoa Touch, чаще всего отсутствуют классы, например, у Cocoa есть NSHost, а у Cocoa Touch нет.

Вы узнаете больше нюансов между ними и вскоре сможете инстинктивно узнать, что будет работать на iPhone с небольшими изменениями / без изменений и что потребует некоторой работы для переноса, но это не так сложно.

26 голосов
/ 13 марта 2016

Прикладная платформа для
i) Какао - это прикладная среда для Mac OS X.
ii) Cocoa Touch - это прикладная среда для iPhone и iPod Touch.

Каркасы
i) Какао: основа и AppKit.
ii) Cocoa Touch: Основа и UIKit

Отсутствие определенных классов
Какао имеетNSHost и Cocoa Touch не

API
i) Какао: у всех классов, используемых в Какао, есть префикс NS Пример: NSTextField
ii) Какао Touch: используемые классыв какао есть префикс UI Пример: UITextField

Шаблоны MVC
i) Какао: Какао имеет несколько альтернативных шаблонов дизайна - в дополнение к MVC
ii) Cocoa Touch: TheiPhone SDK имеет усиленную систему MVC, которая работает лучше, чем стандартная MVC в Какао

Другие отличия
Существуют также различия в жизненном цикле приложений, песочнице, использовании памяти

Ссылки:
http://teks.co.in/site/blog/cocoa-vs-cocoa-touch-beginners-guide/ http://iphonenativeapp.blogspot.in/2011/02/difference-between-cocoacocoa-touch-and.htmlhttps://iphonecodecenter.wordpress.com/tag/difference-between-cocoa-cocoa-touch/

4 голосов
/ 19 февраля 2010

В разделе Миграция из какао в Обзоре технологий iPhone OS представлен хороший обзор различий со ссылками на более конкретные документы для каждого слоя.

Большая разница заключается в уровне пользовательского интерфейса,На Mac у вас есть фреймворк AppKit, на iPhone - UIKit.Меньшие различия в структуре Основы (ссылка на документ выше).

3 голосов
/ 19 января 2016

В терминах import в Свифте

import Cocoa в приложении Mac OSX совпадает с

import AppKit
import CoreData
import Foundation

тогда как мы не можем import CocoaTouch в iOS

1 голос
/ 22 июля 2016

Какао против Какао Touch-

Какао - это среда приложения, используемая для Mac OSX,

Cocoa Touch - это платформа приложений, используемая для iPhone и iPod touch

Какао - Foundation + AppKit Framework,
Какао Touch - Тональный крем + UIKIT Framework

0 голосов
/ 13 июля 2016

1) Какао, которое включает в себя платформы Foundation и AppKit, используется для разработки приложений, работающих на OS X.

2) Cocoa Touch, которое включает платформы Foundation и UIKit, используется для разработки приложений,запустить на iOS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...