Objective-C, like most programming languages, is a relatively simple syntax backed by an extensive standard library.
There are a few different “standard libraries” out there, but Apple’s Cocoa and Cocoa Touch frameworks are by far the most popular. These define the APIs for building macOS and iOS apps, respectively.
To back up a little bit, a framework is a collection of resources. It collects a static library and its header files into a single structure that Xcode can easily incorporate into your projects.
The list below highlights some of the key frameworks in Cocoa and Cocoa Touch.
The Foundation framework defines a base layer of Objective-C classes. In this you’ll find core object-oriented data types like strings, arrays, dictionaries, etc.
The UIKit framework provides the crucial infrastructure needed to construct and manage iOS apps. This framework essentially provides dozens of classes for creating and controlling the user interface on iOS devices.
AppKit is basically UIKit, but for OS X devices.
Core Data provides object graph management and persistence for Foundation and Cocoa applications. This framework provides a convenient API for managing object relationships and allows you to easily integrate database features into an app.
The Media Player framework is an API that provides facilities for playing movies, music, and audio podcasts, while also allowing you to access a user’s iTunes library.
The Quartz Core framework allows you to manipulate images. It’s broken down into two two sub-frameworks:
CoreImage provides image and video processing capabilities (e.g., filters).
CoreAnimation framework lets you animate UI components.
Based on the Quartz advanced drawing engine, CoreGraphics provides low-level 2D drawing support and allows you to customize your UI with some amazing effects.
I hope this was useful! If you have any questions… you should probably just Bing it. 😊