Cocoa versus Cocoa Touch - What is the difference?

前端 未结 6 811
逝去的感伤
逝去的感伤 2020-12-23 19:42

I am learning iOS development in Objective-C, and I have found a lot of code examples.

Some of them, though, say that they are only for Mac OS X (not iOS).

C

相关标签:
6条回答
  • 2020-12-23 19:59

    Cocoa is commonly referred to as the combination of the Foundation and AppKit frameworks, while Cocoa Touch is the combination of the Foundation and UIKit frameworks.

    Cocoa and Cocoa Touch sit on top of other collections of frameworks to create the API stacks. The other layers are Media, Core Services and Core OS.

    The main difference between Cocoa and Cocoa touch is that the UI classes and APIs aren't the same as Mac OS X’s and macOS’s, so instead of NSTextField, you have UITextField. Many of the classes share the same functionality and can be ported quite easily by simply changing the class name, though most will require some more changes, but usually nothing too heavy.

    There are also some differences between the Foundation frameworks in Cocoa and Cocoa Touch, most commonly missing classes, for example, Cocoa has NSHost and Cocoa Touch doesn't.

    You will come to know more of the nuances between the two and will soon be able to instinctively know what will work on an iPhone with little/no modification and what will require some work to port between, but it's not that difficult.

    0 讨论(0)
  • 2020-12-23 19:59

    Application Framework For
    i) Cocoa is the application framework for Mac OS X.
    ii) Cocoa Touch is the application framework for iPhone and iPod Touch.

    Frameworks
    i) Cocoa: Foundation and AppKit.
    ii) Cocoa Touch: Foundation and UIKit

    Absence of certain classes
    Cocoa has NSHost and Cocoa Touch doesn't

    API
    i) Cocoa: All the classes used in Cocoa have the NS prefix Ex: NSTextField
    ii) Cocoa Touch: classes used in Cocoa have the UI prefix Ex: UITextField

    MVC patterns
    i) Cocoa: Cocoa has multiple alternative design patterns – in addition to MVC
    ii) Cocoa Touch: The iPhone SDK has a reinforced MVC system, which performs better than the default MVC in Cocoa

    Other Differences
    There Are also Differences In App Lifecycle, Sandboxing ,Memory Footprint

    Links:
    http://teks.co.in/site/blog/cocoa-vs-cocoa-touch-beginners-guide/ http://iphonenativeapp.blogspot.in/2011/02/difference-between-cocoacocoa-touch-and.html https://iphonecodecenter.wordpress.com/tag/difference-between-cocoa-cocoa-touch/

    0 讨论(0)
  • 2020-12-23 20:04

    1) Cocoa, which includes the Foundation and AppKit frameworks, is used for developing applications that run on OS X.

    2) Cocoa Touch, which includes Foundation and UIKit frameworks, is used for developing applications that run on iOS.

    0 讨论(0)
  • 2020-12-23 20:07

    Cocoa versus Cocoa Touch-

    Cocoa - It is the application framework used for Mac OSX,

    Cocoa Touch - It is the application framework used for iPhone and iPod touch

    Cocoa - Foundation + AppKit Framework,
    Cocoa Touch - Foundation + UIKIT Framework

    0 讨论(0)
  • 2020-12-23 20:14

    In term of import in Swift

    import Cocoa in Mac OSX application is the same as

    import AppKit
    import CoreData
    import Foundation
    

    whereas we can't import CocoaTouch in iOS

    0 讨论(0)
  • 2020-12-23 20:15

    The Migrating from Cocoa Touch section of the iPhone OS Technology Overview provides a good overview of the differences with links to more specific documents for each layer.

    The big difference is the UI layer. On the Mac, you have the AppKit framework, on the iPhone, you have UIKit. The smaller differences are in the Foundation framework (linked in the document above).

    0 讨论(0)
提交回复
热议问题