It is used in applications for Apple devices such as the iPhone, the iPod Touch, the iPad, the Apple TV, and the Apple Watch.Ĭocoa continues the lineage of several software frameworks (mainly the App Kit and Foundation Kit) from the NeXTSTEP and OpenStep programming environments developed by NeXT in the 1980s and 1990s. Such applications usually have a familiar look and feel, since the Cocoa programming environment provides a lot of common UI elements (such as buttons, scroll bars, etc.), and automates many aspects of an application to comply with Apple's human interface guidelines.įor iOS, iPadOS, tvOS, and watchOS, a similar API exists, named Cocoa Touch, which includes gesture recognition, animation, and a different set of graphical control elements. It is also possible to write Objective-C Cocoa programs in a simple text editor and build it manually with GNU Compiler Collection (GCC) or Clang from the command line or from a makefile.įor end users, Cocoa applications are those written using the Cocoa programming environment. A Ruby language implementation named MacRuby, which removes the need for a bridge mechanism, was formerly developed by Apple, while Nu is a Lisp-like language that can be used with Cocoa with no bridge.
However, the Cocoa programming environment can be accessed using other tools, such as Clozure CL, LispWorks, Object Pascal, Python, Perl, Ruby, and AppleScript with the aid of bridge mechanisms such as PasCocoa, PyObjC, CamelBones, Rub圜ocoa, and a D/Objective-C Bridge. Ĭocoa applications are typically developed using the development tools provided by Apple, specifically Xcode (formerly Project Builder) and Interface Builder (now part of Xcode), using the programming languages Objective-C or Swift. All rights reserved.With some open source components Ĭocoa is Apple's native object-oriented application programming interface (API) for its desktop operating system macOS.Ĭocoa consists of the Foundation Kit, Application Kit, and Core Data frameworks, as included by the Cocoa.h header file, and the libraries and frameworks included by those, such as the C standard library and the Objective-C runtime. For information about the JavaScript language, see Mozilla’s official JavaScript documentation.Ĭopyright © 2018 Apple Inc. There are many third-party websites and books that document the JavaScript language.įor fundamentals on JavaScript as a scripting language for automation in OS X, see JavaScript for Automation Release Notes. In OS X 10.10, JavaScript became a peer to AppleScript in OS X. However, some apps implement JavaScript-based scripting models for the purpose of automation. Historically, it’s been most commonly used to implement features on websites and in web-based apps that are accessed through browsers. JavaScript is a popular cross-platform scripting language. The core fundamentals of AppleScript are described in AppleScript Language Guide, as well as in numerous third-party books.
While the AppleScript scripting language uses an English-like terminology which may appear simple, it is a rich, object-oriented language, capable of performing complicated programming tasks.
It’s relatively easy to learn in relation to other scripting and programming languages, has been around since System 7.1, and has been widely adopted in both enterprise and personal workflows. Python and Perl are other examples of scripting languages.ĪppleScript is a mature scripting language developed by Apple. Scripting is a better choice for performing advanced, branching, or complex tasks. Automator is great for performing simple tasks involving a small number of sequential steps or apps. Because Automator uses preconceived actions and operates in a linear manner, it’s more limited in functionality than scripting. Automator doesn’t require you to write any code, but can be extended through scripting. OS X also includes Automator, an app for building workflows that run prebuilt, configurable actions to perform tasks in apps and throughout the operating system.