IOS System Architecture && Common framework

Source: Internet
Author: User
Tags notification center uikit

Organized from the Internet, thanks to the original author!

1.iOS is based on UNIX systems, so it's much better from the stability of the system than the products of other operating systems.

The 2.iOS system architecture is divided into four tiers, from top to bottom: the touch layer (Cocoa touch layers), the media layer, the core service layer, and the core OS layer

(1) Touch Layer : Provides a variety of common frameworks for application development and most of the frameworks are related to the interface, which is essentially responsible for the user's touch interaction on the iOS device. It includes the following components:

Multi-Touch Events  Core Motion   cameraview Hierarchy   Localization   alertsweb views     Image Picker   multi-touch Controls

(Supplemental NEW: The touch layer primarily provides user interaction related services such as interface controls, event management, notification hubs, maps, including

    • UIKit (interface related)
    • Eventkit (Calendar event reminders, etc.)
    • Notification Center (Notification centre)
    • Mapkit (Map Display)
    • Address Book (Contact person)
    • IAd (AD)
    • Message UI (message and SMS display)
    • Pushkit (iOS8 new push mechanism)

(2) Media layer : Through it We can use a variety of media files in the application, for audio and video recording, graphic drawing, as well as the production of basic animation effect. It includes the following components:

Core Audio     OpenGL    Audio mixingaudio recording   Video Playback   jpg,png,tiffpdf     Quartz    Core Animation OpenGL ES

(Supplemental NEW: The media layer mainly provides image engine, audio engine, Video engine framework.)

    • Image Engine (core Graphics, core image, Core Animation, OpenGL ES)
    • Audio engine (Core audio, AV Foundation, OpenAL)
    • Video engine (AV Foundation, Core Media)

(3) Core Service Layer : We can access some of the iOS services through it. It includes the following components:

Collections     Address book   networkingfile Access     SQLite    Core locationnet Services    Threading    Preferencesurl Utilities

(Supplemental NEW: The Core services layer provides basic system services for programs such as network access, browser engine, location, file access, database access, and so on, mainly including the following framework:

    • Cfnetwork (Network access)
    • Core data (datastore)
    • Core location (positioning function)
    • Core Motion (acceleration of gravity, gyroscope)
    • Foundation (basic functions such as NSString)
    • Webkit (Browser engine)
    • JavaScript (JavaScript engine)

(4) The core operating system tiers include: memory management, file systems, power management, and some other operating system tasks. It can interact directly with the hardware device. The core operating system layer includes the following components:

OS X Kernel    Mach 3.0    bsdsockets     Power Mgmt  File systemkeychain     Certificates   Securitybonjour

(Supplemental NEW: The core system layer provides the most basic services for the superstructure, such as operating system kernel services, local authentication, security, acceleration, and so on.)

    • Operating System kernel Services (BSD sockets, I/O access, memory request, file system, math, etc.)
    • Local Authentication (fingerprint identification verification, etc.)
    • Security (interfaces that provide management certificates, public keys, keys, and so on)
    • Acceleration (performs math, large numbers, and DSP operations, these interfaces match the iOS device hardware)

About 3.Cocoa Touch

(1) Many of the technologies in the top cocoa touch layer are based on the Objective-c language. The Objective-c language provides support for iOS with collections, file management, network operations, and more. The Uikit framework, for example, provides a variety of visual components for applications such as window, view, and button components (UIButton). Other frameworks in the Cocoa touch layer are also useful for our development in the application, such as access to the user's correspondence function framework, the framework for obtaining photo information, and the hardware support for the accelerometer and the three-dimensional gyroscope.

4.framework--Application Framework

What is a framework? It is essentially a software library that helps us accomplish a variety of specific functions.

The application projects we wrote started with the cocoa touch layer, specifically from the Uikit framework. When there are some special functions that need to be used in the process of writing a program, we should start by looking for the appropriate framework from the top of the framework, and use the underlying technology only if the superstructure is not able to solve it. In fact, the top-level framework already covers most of the features we need.

The following table lists some of the commonly used iOS SDK frameworks.

common iOS SDK frameworks:

Frame name

Energy

Addressbook.framework

Provides access to user contact information stored in the core database

Addressbookui.framework

Provides a user interface for displaying contact information stored in the Address Book

Audiotoolbox.framework

Provides the underlying API for audio recording and playback , as well as managing audio hardware

Audiounit.framework

Provides an interface that allows our applications to process audio

Avfoundation.framework

Provides the underlying API for audio recording and playback , as well as managing audio hardware

Cfnetwork.framework

Access and configure networks, like HTTP,ftp, and Bonjour Services

Corefoundation.framework

Provides abstract common data types such as Unicode strings,XML,URLs, etc.

Coregraphics.framework

Provides a C-based API for 2D drawing

               Continuation table:

Frame name

Energy

Corelocation.framework

Get location information using GPS and Wi-Fi

Foundation.framework

Provides basic classes of object-c (like nsobject),

Basic data types and operating system services, etc.

Gamekit.framework

Provides network functions for games, peer-to-peer and in-game voice communication

Mapkit.framework

An interface that provides an inline map for an application

Mediaplayer.framework

Provides the ability to play video and audio

Messageui.framework

Provides a view control interface to handle e-mail and SMS

Opengles.framework

Provides a concise and efficient subset of OpenGL APIs for drawing 3D graphics and both

Quartzcore.framework

Provides animation effects and the ability to render through hardware

Storekit.framework

Provides support for applications to consume in the run of programs

Systemconfiguration.framework

Ability to detect current network availability and hardware device status

Uikit.framework

Creating and managing the user interface for an application

IOS System Architecture && Common framework

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.