What is the difference between AppKit and UIKit?

10,384

Solution 1

AppKit AppKit is included in the OS X SDK only. It provides all the classes and controls you need for creating Mac applications. Most of these classes share a common naming prefix starts with NS and classes you will be working with include - NSView, NSButton.

UIKit

UiKit is the framework that iOS uses to provide its UI and its classes start with a UI prefix. For example, both frameworks have a class to represent color include UIColor, while other concepts are pretty unique to UIKit, such as its use of predefined controllers such as UINavigationController and UITabBarController

Solution 2

AppKit is much older and was developed for desktop machines, like Macintosh (Mac OS X) and (before that) NeXT.

UIKit is later, a deliberate reduction and rationalization of AppKit, developed for iPhones (iOS).

Solution 3

Appkit is for Mac OS SDK[Cocoa] and UIKIT is for iPhone/iPad [Cocoa Touch]

Solution 4

They are the same UI framework except that UIKit's views and controllers were specifically made for touch, while the AppKit equivalents were specifically made for the mouse or non touch .

Share:
10,384
Priti Kanauziya
Author by

Priti Kanauziya

Updated on June 13, 2022

Comments

  • Priti Kanauziya
    Priti Kanauziya almost 2 years

    UIKit and AppKit still share a lot of concepts. Like in "AppKit contains all the objects you need to implement the user interface for a macOS app—windows, panels, buttons, menus, scrollers, and text fields" (by Apple documentation). And same UIKit is support the user interface. So what's the main difference between these two framework.

    • Sweeper
      Sweeper almost 6 years
      AppKit for macOS, UIKit for iOS. That's the main difference.
    • LinusGeffarth
      LinusGeffarth almost 6 years
      @PritiKanauziya probably because you don't seem to have done any research other than pressing the very first link on Google and reading only the first couple sentences...
  • Sweeper
    Sweeper almost 6 years
    NSString and NSObject are not declared in AppKit, so they are kind of bad examples of "classes you will be working with". They are Foundation classes.