1)
What is Cocoa?
Cocoa
is an application environment for both the Mac OS X operating system and iOS.
It
consists of a suite of object-oriented software libraries, a runtime system,
and an integrated development environment.
Carbon
is an alternative environment in Mac OS X, but it is a compatibility framework
with procedural programmatic interfaces intended to support existing Mac OS X
code bases.
2) Cocoa in the architecture of OS X
Architecturally, OS X is a series of software layers going
from the foundation of Darwin to the various application frameworks and the
user experience they support.
The intervening layers represent the system software largely
(but not entirely) contained in the two major umbrella frameworks, Core
Services and Application Services.
In OS X, Cocoa has two core Objective-C
frameworks that are essential to application development for OS X
· Appkit (Application Kit)
· Foundation
3) Cocoa in the architecture of iOS
The application-framework layer of iOS is called Cocoa Touch.
Those
following layers present in IOS
·
Core OS. This level contains the kernel, the file
system, networking infrastructure, security, power management, and a number of
device drivers. It also has the libSystem library, which supports the POSIX/BSD
4.4/C99 API specifications and includes system-level APIs for many services.
·
Core Services. The frameworks in this layer provide core
services, such as string manipulation, collection management, networking, URL
utilities, contact management, and preferences. They also provide services
based on hardware features of a device, such as the GPS, compass,
accelerometer, and gyroscope. Examples of frameworks in this layer are Core
Location, Core Motion, and System Configuration.
This layer
includes both Foundation and Core Foundation, frameworks that provide
abstractions for common data types such as strings and collections. The Core
Frameworks layer also contains Core Data, a framework for object graph
management and object persistence.
·
Media. The frameworks and services in this layer
depend on the Core Services layer and provide graphical and multimedia services
to the Cocoa Touch layer. They include Core Graphics, Core Text, OpenGL ES,
Core Animation, AVFoundation, Core Audio, and video playback.
·
Cocoa Touch. The frameworks in this layer directly
support applications based in iOS. They include frameworks such as Game Kit,
Map Kit, and iAd.
4) Application Kit/App kit.
The Application Kit is a framework
containing all the objects you need to implement your graphical, event- driven
user interface: windows, panels, buttons, menus, scrollers, and text fields.
The Application Kit handles all the details
for you as it efficiently draws on the screen, communicates with hardware
devices and screen buffers, clears areas of the screen before drawing, and
clips views.
You also have the choice at which
level you use the Application Kit:
· Use Interface Builder to create
connections from user interface objects to your application objects.
· Control the user interface
programmatically, which requires more familiarity with AppKit classes and protocols.
· Implement your own objects by
subclassing NSView or other classes.
5)
UIKit
This framework provides the
objects an application displays in its user interface and defines the structure
for application behavior, including event handling and drawing.
The UIKit framework in iOS is the sister framework of the
AppKit framework in OS X.
One of the greatest differences is that, in iOS, the objects
that appear in the user interface of a Cocoa application look and behave in a
way that is different from the way their counterparts in a Cocoa application
running in OS X look and behave. Some common examples are text views, table
views, and buttons.
6)
Foundation Kit.
The
Foundation framework defines a base layer of Objective-C classes. In addition
to providing a set of useful primitive object classes, it introduces several
paradigms that define functionality not covered by the Objective-C language.
The Foundation framework is designed with these goals in mind:
· Provide a small set of basic utility
classes.
· Make software development easier by
introducing consistent conventions for things such as deallocation.
· Support Unicode strings, object
persistence, and object distribution.
· Provide a level of OS independence,
to enhance portability.
7) What are SDK tools
in iPhone?
XCode
Simulator
Instruments
8) What is Xcode?
Xcode is the engine that
powers Apple’s integrated development environment (IDE) for OS X and iOS. Xcode builds projects from source code written in
C, C++, Objective-C, and Objective-C++. It allows you to:
·
Create
and manage projects, including specifying platforms, target requirements,
dependencies, and build configurations.
·
Write
source code in editors with features such as syntax coloring and automatic
indenting.
·
Navigate
and search through the components of a project, including header files and
documentation.
·
Build
the project.
·
Debug
the project locally, in iOS Simulator, or remotely, in a graphical source-level
debugger.
9) What is the
simulator?
For iOS projects, you can select iOS Simulator as
the platform SDK for the project. When you build and run the project, Xcode
runs Simulator, which presents your application as it would appear on the
device (iPhone or iPad) and allows you to manipulate parts of the user
interface. You can use Simulator to help you debug the application prior to
loading it onto the device.
10) what are
Instruments?
Instruments is an application introduced in Xcode 3.0 that
lets you run multiple performance-testing tools simultaneously and view the
results in a timeline-based graphical presentation.
It can show you CPU usage, disk reads and writes, memory
statistics, thread activity, garbage collection, network statistics, directory
and file usage, and other measurements—individually or in different
combinations—in the form of graphs tied to time.
This simultaneous presentation of instrumentation data helps
you to discover the relationships between what is being measured. It also
displays the specific data behind the graphs.
No need to install on your mac. Already Xcode contains
instruments.
11) What is Interface
Builder?
Interface
Builder is a graphical tool for creating user interfaces.
Interface
Builder is centered around four main design elements:
Nib
files. A nib file is a file wrapper that
contains the objects appearing on a user interface in an archived form.
Nib files
offer a way to easily localize user interfaces. Interface Builder stores a nib
file in a localized directory inside a Cocoa project; when that project is
built, the nib file is copied to a corresponding localized directory in the
created bundle.
Explain about Inspector
It is mainly used for setting the
properties of view elements.
It contains four sections.
- File Inspector
- Quick Help Inspector
- Identity Inspector
- Attribute Inspector
- Size Inspector
- Connection Inspector







No comments:
Post a Comment