IOS Development Notes 2. Cocoa concise

Source: Internet
Author: User
History

Nexstep

Many years ago cocoa was known as nextstep. next Computer developed and released version 1.0 ofnextstep in September of 1989, and versions 2.0 and 3.0 followed not far behind (in 1990 and 1992, respectively ). in this early phase, nextstep was more than application environment; the term referred tothe entire operating system, including the processing wing and imaging system (which was based on displaypostscript), the Mach kernel, device drivers, and so on. back then, there was no foundation framework. indeed, there were no frameworks; instead, the softwarelibraries (dynamically shared) were known as kits, the most prominent of them being the Application Kit. much of the role that foundation nowoccupieswas taken by an assortment of functions, structures, constants, and other types. the Application Kit itself had a much smaller set of classes than it does today. in addition to the Application Kit, the early nextstep encoded the sound kit and the music kit, librariescontaining a rich set of objective-C classes that provided high-level access to the display postscript layer foraudio and music synthesis.

 

Openstep

In early 1993 nextstep 3.1 was ported to (and shipped on) intel, iSCSI, and Hewlett-Packard computers. nextstep 3.3 alsomarked Amajor new direction, for it has ded a preliminary version of foundation. aroundthis time (1993), the openstep initiative also took form. openstep was a collaboration between Sun andnext to port the higher levels of nextstep (the Application Kit and display postscript) to Solaris. the "open" in the name referred to the open API specification that the companies wowould publish jointly. theofficial openstep API, published in September of 1994, were the first to split the API between foundationand Application Kit and the first to use the "NS" prefix.

By June 1996 next had ported and shipped versions of openstep 4.0 that cocould run intel, iSCSI, andhewlett-Packard computers as well as an openstep runtime that cocould run on Windows systems. sun alsofinished their port of openstep to Solaris and shipped it as part of their network object computingenvironment. openstep, however, never became a significant part of Sun's overall strategy.

Cocoa

When Apple acquired next software (as it was then called) in 1997, openstep became the yellow box andwas encoded with Mac OS X Server (also known as Rhapsody) and Windows. then, with the evolution of themac OS X strategy, it was finally renamed to "cocoa."

Cocoa framework

Framework composition, including basic and Application

■ Mac OS X: Foundation and Application Kit

■ IOs: Foundation and uikit

Foundation

The foundation framework defines a base layer of classes that can be used for any type of cocoa program. The criterion separating the classes in Foundation from those in the Application Kit is the user interface.

Application Kit (Mac OS X)

The Application Kit (which is sometimes referred to as the appkit) is a framework containing all the objectsyou need to implement your graphical, event-driven User Interface on Mac OS X: Windows, dialogs, buttons, menus, scrollers, text fields-the list goes on.

Uikit (IOS)

The uikit framework on iOS is the sister framework of the Application Kit onmac OS X. its purpose is essential tiallythe same: To provide all the classes that an application needs to construct and manage its user interface. however, there are significant differences in how the frameworks realize this purpose.

Core Data

Core data is a cocoa framework that provides an infrastructure formanaging object graphs, including supportfor persistent storage to a variety of file formats. object-graph management schemdes features such as undoand Redo, validation, and ensuring the integrity of Object Relationships. object Persistence means that coredata saves Model objects to a persistent store and fetches them when required. the persistent store of acore data application-that is, the ultimate form in which object data is archived-can range from XML filesto SQL databases. core data is ideally suited for applications that act as front ends for relational databases, but any cocoa application can take advantage of its capabilities.

Other frameworks with cocoa API

In addition to the above basic frameworks, there are also various cocoa-based frameworks, such:

Sync services-(Mac OS X only)

Address book

Preference panes-(Mac OS X only)

Screen Saver-(Mac OS X only)

IAD-(IOS only)

Map kit-(IOS only)

...

After learning about these basic concepts, You can familiarize yourself with the "cocoa fundamentals Guide" document.

Then, you can familiarize yourself with the entire framework by referring to relevant documents and examples.

Cocoa fundamentals Guide

■ Cocoa fundamentals Guide

Introduces the basic concepts, terminology, ubuntures, and design patternsof the cocoa frameworks and development environment.

Http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaFundamentals.pdf

This official document contains a lot of information

In particular, chapter 4 and Chapter 5 describe the communication forms between design patterns and objects used in cocoa. It is very important. Otherwise, when using these classes, if you are unfamiliar with the design patterns, it is estimated that they will be confused.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.