Professional Documents
Culture Documents
Android Architecture
Android Architecture
Linux kernel
Libraries
Android runtime
Application frame work:
Linux kernel:
The android uses the powerful Linux kernel and it supports wide range of hardware
drivers. The kernel is the heart of the operating system that manages input and output
requests from software. This provides basic system functionalities like process
management, memory management, device management like camera, keypad,
display etc the kernel handles all the things. The Linux is really good at networking
and it is not necessary to interface it to the peripheral hardware. The kernel itself does
not interact directly with the user but rather interacts with the shell and other programs
as well as with the hard ware devices on the system.
Libraries:
The on top of a Linux kennel there is a set of libraries including open source web
browser such as webkit, library libc. These libraries are used to play and record audio
and video. The SQLite is a data base which is useful for storage and sharing of
application data. The SSL libraries are responsible for internet security etc.
Android Runtime:
The android runtime provides a key component called Dalvik Virtual Machine which is
a kind of java virtual machine. It is specially designed and optimized for android. The
Dalvik VM is the process virtual machine in the android operating system. It is a
software that runs apps on android devices.
The Dalvik VM makes use of Linux core features like memory management and
multithreading which is in a java language. The Dalvik VM enables every android
application to run it own process. The Dalvik VM executes the files in the .dex format.
3 IOS OS
Architecture of iOs is a layered architecture. At the uppermost level iOS works as an intermediary between
the underlying hardware and the apps you make. Apps do not communicate to the underlying hardware
directly.
Apps talk with the hardware through a collection of well defined system interfaces. These interfaces make
it simple to write apps that work constantly on devices having various hardware abilities.
Lower layers gives the basic services which all application relies on and higher level layer gives sophisticated
graphics and interface related services.
Apple provides most of its system interfaces in special packages called frameworks. A framework is a
directory that holds a dynamic shared library that is .a files, related resources like as header files, images,
and helper apps required to support that library. Every layer have a set of Framework which the developer
use to construct the applications.
Looking for Jobs in Mobile Development ? This blog post gives you all the information you need !
1. Core OS Layer:
The Core OS layer holds the low level features that most other technologies are built upon.
64-Bit support from IOS7 supports the 64 bit app development and enables the application to run faster.
Some of the Important Frameworks available in the core services layers are detailed:
Cloud Kit framework – Gives a medium for moving data between your app and iCloud.
Core data Framework – Technology for managing the data model of a Model View Controller app.
Core Foundation framework – Interfaces that gives fundamental data management and service features
for iOS apps.
Core Motion Framework – Access all motion based data available on a device. Using this core motion
framework Accelerometer based information can be accessed.
Foundation Framework – Objective C covering too many of the features found in the Core Foundation
framework
Homekit framework – New framework for talking with and controlling connected devices in a user’s
home.
Social framework – Simple interface for accessing the user’s social media accounts.
StoreKit framework – Gives support for the buying of content and services from inside your iOS apps,
a feature known asIn-App Purchase.
Read this blog “Cross-Platform Mobile Technology for Android and iOS using Java” for your perusal!
3. Media Layer: Graphics, Audio and Video technology is enabled using the Media Layer.
Graphics Framework:
UIKit Graphics – It describes high level support for designing images and also used for animating the
content of your views.
Core Graphics framework – It is the native drawing engine for iOS apps and gives support for custom
2D vector and image based rendering.
Core Animation – It is an initial technology that optimizes the animation experience of your apps.
Core Images – gives advanced support for controling video and motionless images in a nondestructive
way
OpenGl ES and GLKit – manages advanced 2D and 3D rendering by hardware accelerated interfaces
Metal – It permits very high performance for your sophisticated graphics rendering and computation
works. It offers very low overhead access to the A7 GPU.
Read these Top Trending IOS Interview Q’s now that helps you grab high-paying jobs !
Audio Framework:
Media Player Framework – It is a high level framework which gives simple use to a user’s iTunes
library and support for playing playlists.
AV Foundation – It is an Objective C interface for handling the recording and playback of audio and
video.
Video Framework
AV Kit – framework gives a collection of easy to use interfaces for presenting video.
Core Media – framework describes the low level interfaces and data types for operating media.
GameKit Framework – implements support for Game Center which allows users share their game
related information online
iAd Framework – allows you deliver banner-based advertisements from your app.
MapKit Framework – gives a scrollable map that you can include into your user interface of app.
Twitter Framework – supports a UI for generating tweets and support for creating URLs to access the
Twitter service.
UIKit Framework – gives vital infrastructure for applying graphical, event-driven apps in iOS. Some of
the Important functions of UI Kit framework:
-Multitasking support.
It is an XHTML document type defined by the Open Mobile Alliance. XHTML-MP is derived
from XHTML Basic 1.0 by adding XHTML Modules, with later versions of the standard adding more
modules. However, for certain modules, XHTML-MP does not mandate a complete implementation
so an XHTML-MP browser may not be fully conforming on all modules.
The XHTML MP 1.2 DTD is the current recommendation, finalized in March 2008.
XHTML Mobile Profile is a subset of XHTML, which is the stricter version of HTML.
XHTML Mobile Profile is XHTML Basic (also a subset of XHTML) plus some additional
elements and attributes from the full version of XHTML.
The goal of XHTML Mobile Profile is to bring together the technologies for mobile
Internet browsing and that for the World Wide Web. Before the coming out of XHTML
Mobile Profile, WAP developers make use of WML and WMLScript to create WAP
sites, while web developers use HTML / XHTML and CSS style sheets to build web
sites.
With the announcement of XHTML Mobile Profile, the markup language of the
wireless world and the wired world finally converges. XHTML Mobile Profile and
WAP CSS give wireless Internet application developers more and better
presentation control. The greatest advantage, however, is that the same
technologies can now be used to develop both the web and wireless version of
your Internet site. You can use any web browsers to view your WAP2.0
application during the prototyping and development process.
XHTML MP supports WAP CSS, which enables the separation of content and
presentation in different files. As you all know, mobile devices have very different
characteristics such as screen sizes. The separation of the content and the
presentation means you can write the content once, and change the style and layout
to suit different mobile devices with various WAP CSS files.
With XHTML MP and WAP CSS, you have more control over the presentation. For
example, you can control borders, backgrounds, margins, padding, etc. You can also
specify the font sizes, font families and font colors. Such features are not available in
WML 1.x.