ios vs Android By: Group 2

Similar documents
Android App Development. Muhammad Sharjeel COMSATS Institute of Information Technology, Lahore

IJRDTM Kailash ISBN No Vol.17 Issue

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Android Overview. Francesco Mercaldo, PhD

Android. Lesson 1. Introduction. Android Developer Fundamentals. Android Developer Fundamentals. to Android 1

Android Overview. Most of the material in this section comes from

Chapter 2. Operating-System Structures

Operating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

Android - open source mobile platform

Four Components of a Computer System

Developing Applications for ios

UNIT:2 Introduction to Android

CHAPTER 2: SYSTEM STRUCTURES. By I-Chen Lin Textbook: Operating System Concepts 9th Ed.

Android. Operating System and Architecture. Android. Screens. Main features

Architectural Support for Operating Systems. Jinkyu Jeong ( Computer Systems Laboratory Sungkyunkwan University

Android Programming in Bluetooth Cochlea Group

Android is a software stack for mobile devices and comprises middleware, operating system and core

Mobile Computing. Introduction to Android

Chapter 2: Operating-System Structures

Produced by. Mobile Application Development. David Drohan Department of Computing & Mathematics Waterford Institute of Technology

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

An Introduction to Android. Jason Chen Developer Advocate Google I/O 2008

Mobile and Wireless Systems Programming

Chapter 1 Hello, Android

Another difference is that the kernel includes only the suspend to memory mechanism, and not the suspend to hard disk, which is used on PCs.

Lecture 1 Introduction to Android. App Development for Mobile Devices. App Development for Mobile Devices. Announcement.

ORACLE UNIVERSITY AUTHORISED EDUCATION PARTNER (WDP)

Android Fundamentals - Part 1

Mobile and Ubiquitous Computing: Android Programming (part 1)

Introduction To Android

International Journal of Multidisciplinary Consortium Volume 2 Issue

BlackBerry BlackBerry 10 OS, version continues to build on the BlackBerry 10 platform for the Z10, Q10 and Z30 devices.

DROID. By S.Gokulakrishnan AP/CSE SCSVMV

PAPER ON ANDROID ESWAR COLLEGE OF ENGINEERING SUBMITTED BY:

Introduction to Android

Introduction. Lecture 1. Operating Systems Practical. 5 October 2016

Mobile Devices and Smartphones

Android System Architecture. Android Application Fundamentals. Applications in Android. Apps in the Android OS. Program Model 8/31/2015

Lecture 1 - Introduction to Android

CS260 Intro to Java & Android 04.Android Intro

ANDROID SYLLABUS. Advanced Android

Android App Development

Android OS. Operating System based on Linux [ ] [Jonas Teuscher, Alex Cuordileone, Cédric Glaus]

ANDROID NATIVE APP: INTRODUCTION TO ANDROID. Roberto Beraldi

ios Application Development Course Details

Android Software Development Kit (Part I)

Discovering Computers 2016

Why Android? Why Android? Android Overview. Why Mobile App Development? 20-Nov-18

Copyright 2014, Oracle and/or its affiliates. All rights reserved.

Android. (XKE Mars 2009) Erwan Alliaume.

Mobile development initiation

SHWETANK KUMAR GUPTA Only For Education Purpose

Android Online Training

What is Android? Mobile Device Application Development COMPSCI 345

Infrastructure Middleware (Part 3): Android Runtime Core & Native Libraries

Mobile Internet Devices and the Cloud

Operating Systems: Internals and Design Principles. Chapter 4 Threads Seventh Edition By William Stallings

Mastering Your iphone Session 1

ipad Training Field Management

For use by students enrolled in #71251 CSE430 Fall 2012 at Arizona State University. Do not use if not enrolled.

Android Internals and the Dalvik VM!

2017 Pearson Educa2on, Inc., Hoboken, NJ. All rights reserved.

Process Description and Control

Developer s overview of the Android platform

Browse the internet, send and receive s and text messages, play music and movies, take and display photos and videos, and more.

Android App Development. Ahmad Tayeb

COSC 3P97 Mobile Computing

Quick Start Guide U.S. Cellular Customer Service

Oracle Mobile Application Framework

Traditional vs. Mobile Operating Systems


Introduction to Mobile Application and Development

Tizen Framework (Tizen Ver. 2.3)

ANDROID DEVELOPMENT. Course Details

3.1 Introduction. Computers perform operations concurrently

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna

CHAPTER 3 - PROCESS CONCEPT

SMD149 - Operating Systems

Introduction to Android Android Smartphone Programming. Outline University of Freiburg. What is Android? Background University of Freiburg.

Introduction to Android

Programming with Android: System Architecture. Dipartimento di Scienze dell Informazione Università di Bologna

VEGA. Operation Manual T A B L E T P C. advent vega operation manaul_new.indd 1

Android Development Tutorial. Yi Huang

Get Started. Insert SIM card The phone is a Dual SIM mobile phone allowing you to use the facility of two networks.

ANDROID APPLICATION DEVELOPMENT PROSPECTUS ADAAD UNIVERSITY OF SKILLS

Table of Contents. 2 Know your device. 4 Device setup. 8 Customize. 10 Connections. 11 Apps. 12 Contacts. 13 Messages. 14 Camera.

MOBILE OPERATING SYSTEM

CS 528 Mobile and Ubiquitous Computing Lecture 1b: Introduction to Android. Emmanuel Agu

IGEEKS TECHNOLOGIES. Software Training Division. Academic Live Projects For BE,ME,MCA,BCA and PHD Students

Contents. Get Started Install SIM Card

A STUDY OF ANDROID OPERATING SYSTEM WITH RESPECT WITH USERS SATISFACTION

This guide describes features that are common to most models. Some features may not be available on your tablet.

Minds-on: Android. Session 1

Chapter 2: System Structures

Task On Gingerbread On Ice Cream Sandwich Notification bar on lock screen Notification bar is not accessible on the lock screen.

Preface...3 Acknowledgments...4. Contents...5. List of Figures...17

CS378 -Mobile Computing. What's Next?

IPad Basics at Necessary Knowledge 2017

ANDROID TRAINING PROGRAM COURSE CONTENT

Transcription:

ios vs Android By: Group 2

The ios System Memory Section A43972 Delta

Core OS Layer Core Services Layer Media Layer CoCoa Touch Layer Memory Section A43972 Delta

Aaron Josephs Core OS Layer - Core OS has 6 sections - Accelerate Framework - Core Bluetooth - External Accessory framework - Generic Security Services Framework - Security Framework - System

Core OS Layer Accelerate Framework - Contains interfaces for doing computationally heavy code - DSP, linear algebra and image-based processing - optimized for the hardware in apple devices - not necessarily fast for things like simple multiplication

Core OS Layer Core Bluetooth - This contain the framework for connecting and disconnecting from bluetooth devices - bluetooth is only for low energy - only operates between 160 feet

Core OS Layer External Accessory Framework - this framework is used for communicating with any accessory connected to yours - any accessory connected to an ios device must use at least one command protocol - apps must declare which protocols they support - when an accessory is connected it will open your app if it supports it

Core OS Layer Generic Security Services Framework - offers standard security services - a security framework is also supplied

Core OS Layer Security Framework - use to guarantee security of data of your app - manage certificates, public and private keys and trust policies - supports generation of cryptographically secure pseudorandom numbers - supports symmetric encryption

Core OS Layer System - all of ios is built on a UNIX like base - this layer includes the kernel and device drivers - provides c-based interfaces - when writing an app access to the system is restricted - ios has a set of interfaces that allow access to low level features

Core OS Layer System - ios provides c-based interfaces that support these features - POSIX threads, Networking(BSD sockets), File-system access, standard I/O, Bonjour, DNS, Locale information, memory allocation and math computations

Core OS Layer System - responsible for process lifecycles, thread management, I/O, interprocess communication, and thread management

Lin He core services layer The Core Services layer contains the fundamental system services that all application use.

core services layer Key technologies available in the Core Services Layer. Icloud storage Automatic reference counting Block objects Grand central dispatch In-App purchase SQLite

Core Services Layer Icloud storage Write user documents and data to a central location Access those items from all of a user's computers and IOS devices. a. view or edit those documents from any device without having to sync or transfer files.

Core Services Layer Automatic Reference Counting simplifies the process of managing the lifetimes of Objective-C objects. ARC evaluates the lifetime requirements of your objects and automatically inserts the appropriate method calls at compile time.

Core Services Layer Block objects useful as callbacks or in places where you need a way of easily combining both the code to be executed and the associated data. As a replacement for callback functions To implement completion handlers for one-time operations Together with dispatch queues, to

Core services layer Grand Central Dispatch BSD-level technology manage the execution of tasks in your application. combine an asynchronous programming model with a highly optimized core to provide a convenient alternative to threading. Also, provide alternatives for many lowlevel tasks, such as reading and writing file descriptors, implementing timers, etc.

Core Services layer In-App purchase Vend content and services from inside your application. implemented using the Store Kit framework that provides the infrastructure needed. SQLITE embed a lightweight SQL database into application without running a separate remote database server process. create local database files and manage tables and records in those files.

Alex Kleiner Media Layer Memory Section 24A64 Tango

Alex Kleiner Media Layer Significant Breakdown Graphics Technologies Audio Technologies Video Technologies AirPlay

Alex Kleiner Graphics Technologies - Media Core Graphics (Quartz) for 2d Vectors Core Animation (Quartz) for animation vectors OpenGL for 2d and 3d rendering using hardware-acceleration Image I/O interfaces for reading and writing most image formats

Alex Kleiner Audio Technologies - Media Core Audio Frameworks that support the following codecs and formats: o o o o o AAC ALAC LinearPCM AES3-2003 (and others)

Alex Kleiner Video Technologies Frameworks for playing video formats: Favored Formats: - H.264 - MPEG-4 - MOV

Alex Kleiner AirPlay New feature found in ios 5. Utilized Multiple Media Frameworks, and streams the data to a compliant external device.

Alex Kleiner CoCoa Touch Layer

Alex Kleiner Purpose of CoCoa Touch Layer This layer contains the key frameworks for actual user and application interactions with the system.

Alex Kleiner CoCoa Touch Layer Breakdown Storyboards Multitasking Printing Data Protection Push Notification Services Local Notification Services Gesture Recognition Standard System View Controllers

Alex Kleiner Story Boards - CoCoa You can use a single storyboard file to store all of your application's view controllers. At Build time contents are loaded separately for better performance.

Alex Kleiner Multitasking - Cocoa Applications are not terminated when switched off. All code and information is stored in memory, but not code is executed in this suspended state.

Alex Kleiner Printing - CoCoa Print jobs are handled by the printing system, which manages the actual printing process.

Alex Kleiner Data Protection When device is locked by the user, an actual encryption key is set. When unlocked, the decryption key for the data is entered as well in the system.

Alex Kleiner Push Notification Services - CoCoa An ability to ios to receive remote triggers from external services to relay a message to the user.

Alex Kleiner Local Notifications - CoCoa Same end-user result as push notifications, however adds the framework on the device itself locally.

Alex Kleiner Gesture Recognition Services - Cocoa Frameworks the recognize multiple-input gestures such as: Tapping Pinching in and out Pan,ing and Dragging Swiping Rotating Long Presses

Alex Kleiner Standard System View Controllers - CoCoa Major Universal System API and Frameworks: Display or edit contact information Create or edit calendar events Compose SMS or Email messages Take a photo Film a video

The Android Operating System

System Overview Core OS Layer Dalvik Virtual Machine

Kate Lamendola What is Android? - Linux based OS for mobile devices - Developed and maintained by Google - Open source - 300 mil. Android devices in use by Feb 2012

Kate Lamendola A Brief History - Android, Inc. founded in 2003 - "...smarter mobile devices that are more aware of its owner's locations and preferences" - Sold to Google in 2005 - Unveiled at the Open Handset Alliance in 2007

Kate Lamendola Android: System Overview -Kernel based on the linux kernel

Kate Lamendola Android Marketshare - Could reach 70% in 2012

Kate Lamendola Version History: Recent releases - 2.3 Gingerbread: refined UI, improved keyboard and copy/paste functions - 3.0 Honeycomb: Tablet oriented, support for multi-core processors - 4.0 ICS: brought Honeycomb features to smartphones; network data usage monitor

Kate Lamendola Android Features - Handset layouts: 3D graphics in Open GL - Multiple languages - Connectivity: GSM, CDMA - Messaging: SMS and MMS - Web browser - Media formats - Java support: Dalvik VM

Kate Lamendola Android Features - Multi-touch: Originally avoided at kernel level - Multitasking - Bluetooth support - Tethering: device can be used as WiFi hotspot - Screen capture - External storage

Kate Lamendola Android Features - Security: applications run in sandbox -Widgets - Google Play Store

Sean Kelly Android Core Libraries - General purpose API's written and converted from Java using the Dalvik VM

Sean Kelly Dalvik VM - Virtual Machine built for Android - Converts and runs Java apps - Compiles the Java code to bytecode - Converts the.class files to.dex (Dalvik Executable) files

Sean Kelly - Built around the Linux 2.6 Kernel - Has added features: - Alarm Drivers - Power Management - System Logger - logs events from applications, events, and the system - Writing is optimized to reduce overhead Core OS Layer

Sean Kelly Core OS Layer - Contains drivers for the core features: - Display, Keypad, Camera, WiFi, etc - Contains the power management - Uses user-level wake-locks to determine CPU state

Jie Hui Kuang Applications & Multitasking - Each application is: - a separate process - entitled to own instance of Dalvik VM - Android runtime manages all memory and processes

Memory Management - Processes are not killed even after application is closed - Processes are killed only when necessary

Process Types (high to low) Active - currently interacting with the user Visible - in foreground but not responding to user events Started Service - active in foreground, no UI Background - non-active in foreground, target for kills Empty - remains in memory to make relaunching faster, target for kills

Process Priorities - Application's priority is equal to its highest component - Also depends on interprocess dependencies

Questions?