Jump to content

Cocoa Touch: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Undid revision 1008521890 by 27.67.141.0 (talk) - rv damage
m Reverted edits by 143.44.144.223 (talk) (HG) (3.4.12)
 
(13 intermediate revisions by 11 users not shown)
Line 1: Line 1:
{{Short description|Software development environment}}
{{More references|date=April 2008}}
{{More references|date=April 2008}}
{{Infobox software
{{Infobox software
Line 8: Line 9:
| website = <!--Nothing; has vanished-->
| website = <!--Nothing; has vanished-->
}}
}}
'''Cocoa Touch''' is the application development environment<ref>{{Cite web|url=https://developer.apple.com/library/archive/documentation/General/Conceptual/DevPedia-CocoaCore/Cocoa.html|title=Cocoa (Touch)|website=developer.apple.com|access-date=2019-11-21}}</ref> for building software programs to run on [[iOS]] for the [[iPhone]] and [[iPod Touch]], [[iPadOS]] for the [[iPad]], [[watchOS]] for the [[Apple Watch]], and [[tvOS]] for the fourth-generation [[Apple TV]], from [[Apple Inc.]]
'''Cocoa Touch''' is the application development environment<ref>{{Cite web|url=https://developer.apple.com/library/archive/documentation/General/Conceptual/DevPedia-CocoaCore/Cocoa.html|title=Cocoa (Touch)|website=developer.apple.com|access-date=2019-11-21}}</ref> for building software programs to run on [[iOS]] for the [[iPhone]] and [[iPod Touch]], [[iPadOS]] for the [[iPad]], [[watchOS]] for the [[Apple Watch]], and [[tvOS]] for the [[Apple TV]], from [[Apple Inc.]]


Cocoa Touch provides an [[abstraction layer]] of iOS, the [[operating system]] for the iPhone, iPod Touch, and iPad. Cocoa Touch is based on the [[macOS]] [[Cocoa (API)|Cocoa API]] toolset and, like it, is primarily written in the [[Objective-C]] language. Cocoa Touch allows the use of hardware and features that are not found in macOS computers and are thus unique to the iOS range of devices. Just like Cocoa, Cocoa Touch follows a [[Model-View-Controller]] (MVC) software architecture.
Cocoa Touch provides an [[abstraction layer]] of iOS, the [[operating system]] for the iPhone, iPod Touch, and iPad. Cocoa Touch is based on the [[macOS]] [[Cocoa (API)|Cocoa API]] toolset and, like it, is primarily written in the [[Objective-C]] language. Cocoa Touch allows the use of hardware and features that are not found in macOS computers and are thus unique to the iOS range of devices. Just like Cocoa, Cocoa Touch follows a [[model–view–controller|Model–View–Controller]] (MVC) software architecture.


Cocoa Touch contains a different set of [[graphical control element]]s from Cocoa. Tools for developing applications based on Cocoa Touch are included in the [[iOS SDK]].
Cocoa Touch contains a different set of [[graphical control element]]s from Cocoa. Tools for developing applications based on Cocoa Touch are included in the [[iOS SDK]].


==Cocoa Touch in relation to other layers==
==Cocoa Touch in relation to other layers==
iOS, watchOS, and tvOS technologies can be seen as a set of layers, with Cocoa Touch at the highest level and the Core OS/[[kernel (computing)|kernel]] at the bottom.
iOS, watchOS, and tvOS technologies can be seen as a set of layers, with Cocoa Touch at the highest level and the Core OS/[[kernel (operating system)|kernel]] at the bottom.


A hierarchical view of the iOS, watchOS, and tvOS technologies can be shown as follows:
A hierarchical view of the iOS, watchOS, and tvOS technologies can be shown as follows:
#Cocoa Touch
# Cocoa Touch
#Media / Application Services
# Media / Application Services
#Core Services
# Core Services
#Core OS / iOS kernel
# Core OS / iOS kernel


==Main features==
==Main features==
Line 66: Line 67:
* ZeeZide's UXKit is a more recent port of UIKit to macOS. It exists a layer above AppKit and UIKit.<ref>{{cite web |title=ZeeZide/UXKit: Write code that works on both, UIKit and AppKit. |url=https://github.com/ZeeZide/UXKit |website=GitHub |publisher=ZeeZide |access-date=17 February 2020 |date=19 December 2019}}</ref>
* ZeeZide's UXKit is a more recent port of UIKit to macOS. It exists a layer above AppKit and UIKit.<ref>{{cite web |title=ZeeZide/UXKit: Write code that works on both, UIKit and AppKit. |url=https://github.com/ZeeZide/UXKit |website=GitHub |publisher=ZeeZide |access-date=17 February 2020 |date=19 December 2019}}</ref>
* Apple used a "UXKit" private framework for a 2015 version of Photos.app.<ref>{{cite web |last1=Hall |first1=Zac |title=UIKit-like framework called UXKit used in Photos for Mac |url=https://9to5mac.com/2015/02/05/uxkit-framework/ |website=9to5Mac |date=5 February 2015}}</ref>
* Apple used a "UXKit" private framework for a 2015 version of Photos.app.<ref>{{cite web |last1=Hall |first1=Zac |title=UIKit-like framework called UXKit used in Photos for Mac |url=https://9to5mac.com/2015/02/05/uxkit-framework/ |website=9to5Mac |date=5 February 2015}}</ref>
* Apple made the bridge more official with the "iosMac" or "Marzipan" project in 2018, which put an "iOSSupport" directory full of iOS frameworks in macOS mojave. They were originally restricted from developer use<ref>{{cite web |last1=Demasi |first1=Adam |title=A quick look at UIKit on macOS |url=https://kirb.me/2018/06/07/iosmac-research.html |language=en |date=7 June 2018}}</ref> and was finally made official with the release of "Mac Catalyst" in 2019.<ref>{{cite web |title=Mac Catalyst |url=https://developer.apple.com/documentation/uikit/mac_catalyst |website=Apple Developer Documentation |access-date=17 February 2020}}</ref>
* Apple made the bridge more official with the "iosMac" or "Marzipan" project in 2018, which put an "iOSSupport" directory full of iOS frameworks in [[macOS Mojave]]. They were originally restricted from developer use<ref>{{cite web |last1=Demasi |first1=Adam |title=A quick look at UIKit on macOS |url=https://kirb.me/2018/06/07/iosmac-research.html |language=en |date=7 June 2018}}</ref> and was finally made official with the release of [[Mac Catalyst]] in 2019.<ref>{{cite web |title=Mac Catalyst |url=https://developer.apple.com/documentation/uikit/mac_catalyst |website=Apple Developer Documentation |access-date=17 February 2020}}</ref>


==References==
==References==

Latest revision as of 12:43, 20 April 2024

Cocoa Touch
Developer(s)Apple Inc.
Operating systemiOS
TypeSoftware framework
LicenseProprietary
Websitedeveloper.apple.com/technologies/ios/cocoa-touch.html Edit this on Wikidata

Cocoa Touch is the application development environment[1] for building software programs to run on iOS for the iPhone and iPod Touch, iPadOS for the iPad, watchOS for the Apple Watch, and tvOS for the Apple TV, from Apple Inc.

Cocoa Touch provides an abstraction layer of iOS, the operating system for the iPhone, iPod Touch, and iPad. Cocoa Touch is based on the macOS Cocoa API toolset and, like it, is primarily written in the Objective-C language. Cocoa Touch allows the use of hardware and features that are not found in macOS computers and are thus unique to the iOS range of devices. Just like Cocoa, Cocoa Touch follows a Model–View–Controller (MVC) software architecture.

Cocoa Touch contains a different set of graphical control elements from Cocoa. Tools for developing applications based on Cocoa Touch are included in the iOS SDK.

Cocoa Touch in relation to other layers

[edit]

iOS, watchOS, and tvOS technologies can be seen as a set of layers, with Cocoa Touch at the highest level and the Core OS/kernel at the bottom.

A hierarchical view of the iOS, watchOS, and tvOS technologies can be shown as follows:

  1. Cocoa Touch
  2. Media / Application Services
  3. Core Services
  4. Core OS / iOS kernel

Main features

[edit]

Some of the main features and technologies of Cocoa Touch are:

  • App Extension
  • Data Management
  • Handoff
  • Document Picker
  • AirDrop
  • TextKit
  • UIKit Dynamics
  • Multitasking
  • Auto Layout
  • Storyboards
  • UI State Preservation
  • Apple Push Notification Service
  • Local Notifications
  • Gesture Recognisers
  • Standard System View Controllers

Main frameworks

[edit]

Cocoa Touch provides the key frameworks for developing applications on devices running iOS. Some of these key frameworks are:

  • Foundation Kit
  • UIKit (based on Application Kit)
  • GameKit
  • iAd (discontinued in 2016)
  • MapKit
  • Address Book UI
  • EventKit UI
  • Message UI
  • Notification Center
  • PushKit
  • Twitter

Ports

[edit]

Microsoft's WinObjC, the GNUstep-based iOS bridge for the Universal Windows Platform, contains a working implementation of Cocoa Touch frameworks like Foundation, UIKit, and MapKit released under the MIT License.[2] One of the UIKit implementations is based on XAML.[3]

Various efforts have tried to bring UIKit, the modified AppKit from Cocoa Touch, to macOS:

  • Chameleon is a port of UIKit to macOS from 2014.[4]
  • ZeeZide's UXKit is a more recent port of UIKit to macOS. It exists a layer above AppKit and UIKit.[5]
  • Apple used a "UXKit" private framework for a 2015 version of Photos.app.[6]
  • Apple made the bridge more official with the "iosMac" or "Marzipan" project in 2018, which put an "iOSSupport" directory full of iOS frameworks in macOS Mojave. They were originally restricted from developer use[7] and was finally made official with the release of Mac Catalyst in 2019.[8]

References

[edit]
  1. ^ "Cocoa (Touch)". developer.apple.com. Retrieved 2019-11-21.
  2. ^ "microsoft/WinObjC/Frameworks: Objective-C for Windows". GitHub. Retrieved 17 February 2020.
  3. ^ "WinObjC: Migrating UIKit Controls to XAML". GitHub.
  4. ^ Heber, Sean. "BigZaphod/Chameleon: Chameleon is a port of Apple's UIKit for iOS (and some minimal related frameworks) to Mac OS X." GitHub.
  5. ^ "ZeeZide/UXKit: Write code that works on both, UIKit and AppKit". GitHub. ZeeZide. 19 December 2019. Retrieved 17 February 2020.
  6. ^ Hall, Zac (5 February 2015). "UIKit-like framework called UXKit used in Photos for Mac". 9to5Mac.
  7. ^ Demasi, Adam (7 June 2018). "A quick look at UIKit on macOS".
  8. ^ "Mac Catalyst". Apple Developer Documentation. Retrieved 17 February 2020.