Lecture 3 Mobile App Development (Android, ios, BlackBerry, Windows Mobile) <lecturer, date>



Similar documents
Lecture 4 Cross-Platform Development. <lecturer, date>

Mobile Phones Operating Systems

Overview focus on breadth understanding not depth (that s what the labs are for )

Mobility Introduction Android. Duration 16 Working days Start Date 1 st Oct 2013

A Modular Approach to Teaching Mobile APPS Development

01. Introduction of Android

KonyOne Server Prerequisites _ MS SQL Server

Reminders. Lab opens from today. Many students want to use the extra I/O pins on

Introduction to Android

Building Mobile Applications Creating ios applications with jquery Mobile, PhoneGap, and Drupal 7

Developing Applications for ios

A Review of Different Comparative Studies on Mobile Operating System

Overview of CS 282 & Android

Android Mobile App Building Tutorial

Etanova Enterprise Solutions

Workshop on Android and Applications Development

Android Development: Part One

BlackBerry Smartphone Application Development

Android Programming and Security

The open source cross-platform application development frameworks for smart phones

CS 528 Mobile and Ubiquitous Computing Lecture 2: Android Introduction and Setup. Emmanuel Agu

Introduction to Android

Mobile Operating Systems. Week I

Introduction to Android

Android 5.0: Lollipop OS

Chapter 1. Introduction to ios Development. Objectives: Touch on the history of ios and the devices that support this operating system.


Issues in Android on Mobile Platform and Their Resolution

Comparison of Cross-Platform Mobile Development Tools

Cross-Platform Mobile Apps Solution

rich mobile applications made easy

imaginea white paper

geniusport mobility training experts

COMPARISON OF CROSS-PLATFORM MOBILE DEVELOPMENT TOOLS

SYST35300 Hybrid Mobile Application Development

Fahim Uddin 1. Java SDK

Introduction to Android

Cross-Platform Tools

Rhomobile cross-platfrom

place/business fetch details, removefromfavorite () function, 189 search button handler bind, B BlackBerry build environment

Comparative Study of Different Mobile Operating Systems

Running a Program on an AVD

ICAPRG601A Develop advanced mobile multi-touch applications

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

Mobile App Design and Development

Android Application Development Lecture Notes INDEX

Analysis of Cross-Platform Development Frameworks for a Smartphone Pediatric Application

Introduction to BlackBerry Smartphone Web Development Widgets

OpenCV on Android Platforms

Example of Standard API

An Introduction to Android. Huang Xuguang Database Lab. Inha University

Università Degli Studi di Parma. Distributed Systems Group. Android Development. Lecture 1 Android SDK & Development Environment. Marco Picone

An Introduction to Android

Sybase Unwired Platform 2.1.x

How To Develop An App For Ios (Windows)

Java Platform, Micro Edition (Java ME) Mokoena F.R. The 7046 Team

Graduate presentation for CSCI By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu )

Article. One for All Apps in HTML5

Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department. Mobile Computing ECOM Eng. Wafaa Audah.

Mobile Learning Application Based On Hybrid Mobile Application Technology Running On Android Smartphone and Blackberry

Getting Started with Android Development

Publishing to TIZEN Using the Automated Conversion/Repackaging of Existing Android Apps. Hyeokgon Ryu, Infraware Technology, Ltd.

Review On Google Android a Mobile Platform

Module Title: Software Development A: Mobile Application Development

ANDROID DEVELOPER TOOLS TRAINING GTC Sébastien Dominé, NVIDIA

CS378 -Mobile Computing. Android Overview and Android Development Environment

Android Development Tools for Eclipse

Mobile Development Discovery Document

Basic Trends of Modern Software Development

ANDROID. Programming basics

Overview. The Android operating system is like a cake consisting of various layers.

Technical and Business Challenges for Mobile Application Developers. Tony Wasserman Carnegie Mellon Silicon Valley Mobicase 2010

Android v ios Mobile Operating Systems

IBM TRIRIGA Anywhere Version 10 Release 4. Installing a development environment

Cross-Platform Development: Target More Platforms and Devices with a Minimal Amount of Source Code

ANDROID INTRODUCTION TO ANDROID

Mobile Development with Qt

Android: Setup Hello, World: Android Edition. due by noon ET on Wed 2/22. Ingredients.

How To Develop For A Powergen 2.2 (Tegra) With Nsight) And Gbd (Gbd) On A Quadriplegic (Powergen) Powergen Powergen 3

Lecture 1 Introduction to Android

Software Development Environment. Installation Guide

Kony MobileFabric Messaging. Demo App QuickStart Guide. (Building a Sample Application

Smartphone Application Development using HTML5-based Cross- Platform Framework

Evaluating Cross-Platform Development Approaches (WORA Tools ) for Mobile Applications

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

Getting Started with Tizen SDK : How to develop a Web app. Hong Gyungpyo 洪 競 杓 Samsung Electronics Co., Ltd

Android on Intel Course Introduction. Paul Guermonprez Intel Software

Choosing a Mobile Application Development Approach

Programming Mobile Apps with Python

How To Use Titanium Studio

Table of Contents. Adding Build Targets to the SDK 8 The Android Developer Tools (ADT) Plug-in for Eclipse 9

System Requirements for Microsoft Dynamics NAV 2016

TEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING

Android in opposition to iphone

for Java developers Building Mobile Applications Introduction 1 Building Mobile Applications

White Paper INTRODUCTION. In mobile development, there are three different types of applications: PRE-SMARTPHONE MOBILITY NATIVE MOBILE APPLICATIONS

Tutorial on Basic Android Setup

Considerations for Mobile Application Development

Student Attendance Through Mobile Devices

Transcription:

Lecture 3 Mobile App Development (Android, ios, BlackBerry, Windows Mobile) <lecturer, date>

Outline Smartphones Developing Mobile Applications Android ios BlackBerry Windows Mobile References

Cell phones low-end feature phones high-end smartphones

Smartphone Features More powerful than feature phone With more device capabilities Smartphone as a new PC Typically cheaper than computers More convenient because of their portability Will perform many of the routine tasks currently on a desktop/laptop The center of gravity of the software industry will be mobilized

Outline Smartphones Developing Mobile Applications Android ios BlackBerry Windows Mobile References

Terminology Integrated Development Environment (IDE) A software application that provides comprehensive facilities to developers for software development Normally consists of a source code editor, build automation tools and a debugger Application Programming Interface (API) A set of routines/protocols/tools for building software apps Expresses a software component in terms of its operations/inputs/outputs/ underlying types Defines functionalities that are independent of their respective implementations

Terminology Software Development Kit (SDK) Allows you to build against the headers and libraries of an OS version other than the one you're running on e.g.; you can build for OS X version 10.4 while running on OS X version 10.6 Native Development Kit (NDK) A toolset that allows you to implement parts of your app using native-code languages such as C and C++ For certain types of apps, this can be helpful so you can reuse existing code libraries written in these languages

Terminology Emulator E.g.; Android SDK includes a mobile device emulator A virtual mobile device that runs on your computer Lets you develop and test Android apps without using a physical device

Developing Mobile Apps A tricky business Needs platform specific tools/apis

Developing Mobile Apps Write code in different languages/different platforms

Platforms 1. ios for iphone/ipad/ipod Touch apps 2. Android open source platform by Google 3. BlackBerry by RIM 4. Windows Mobile from Microsoft

Developing Outline Building a simple app Running in the simulator Adding a browser control Building for the device Distribution options and requirements

Outline Smartphones Developing Mobile Applications Android ios BlackBerry Windows Mobile References

Android Released under the open source Apache License Built on Linux kernel version 2.6 A project of the Open Handset Alliance (OHA) Founded by Google

Rich Set of Features 2D and 3D graphics Good media support for common audio/video/image formats Animated transitions and high-resolution Colorful graphics are integrated in OS Web browser is based on the powerful WebKit engine Multitasking of applications

Android Development Android IDE SDK Android Studio Java/C,C++ since Android NDK

Android Development On Windows/Linux/Mac platforms No Java Virtual Machine on the platform Java classes are recompiled in to Dalvik bytecode and run on a Dalvik virtual machine C/C++ To reuse existing code To gain performance

Outline Smartphones Developing Mobile Applications Android ios BlackBerry Windows Mobile References

ios Development ios Advanced OS With ios SDK and Xcode IDE creates revolutionary mobile apps ios IDE SD K Xcode Objective-C/C/C++/Fortran/Java/Objective-C++ AppleScript/Python/Ruby

Xcode Xcode suite includes Interface Builder and Instruments Interface Builder helps you create user interfaces for your app Instruments provides a thorough analysis of your app s Runtime performance Memory usage Allowing you to efficiently find memory leaks and bottlenecks to help improve the user experience

Design Patterns 1. Model-View-Controller (MVC) pattern - Central to a good design for any ios app - a way to separate your code into three functionally independent areas - Assigns the objects in an app to one of three roles: model, view, or controller - The main purpose for MVC is reusability where you can reuse the same model for different views

MVC Models Keep track of your app s data Views Display your user interface and make up the content of an app Controllers Manage your views by responding to user actions and populating views with content from the data model Serve as a gateway for communication between the model and views

MVC

Design Patterns 2. Target-Action - Conceptually simple design in which one object sends a message to another object when a specific event occurs - Action message is a selector defined in source code - Target (object that receives the message) is an object capable of performing the action, typically a view controller - Object that sends the action message is usually - a control e.g.; a button/ slider/switch - can trigger an event in response to user interaction such as tap, drag, or value change

Design Patterns 3. Delegation - A simple and powerful pattern in which one object in an app acts on behalf of/or in coordination with another object - Delegating object Keeps a reference to the other object (the delegate) The delegating object sends a message to the delegate at appropriate time The message informs the delegate of an event that the delegating object is about to handle/has just handled The delegate may respond to the message by updating the appearance/state of itself or of other objects in the app In some cases it will return a value that affects how an impending event is handled

iphone Development You will need an Intel-based Macintosh computer running OS X v10.5.7 or later for development The latest version of the iphone SDK Verify that your device OSs are up-to-date Download iphone SDK which includes the Xcode IDE/iPhone simulator and a suite of additional tools

Outline Smartphones Developing Mobile Applications Android ios BlackBerry Windows Mobile References

BlackBerry A product of Research in Motion (RIM) Runs a proprietary multitasking OS BlackBerry IDE SDK Eclips/BlackBerry SDK Plug-in Java/Widget SDK

BlackBerry Development BlackBerry Web Development The newest offering from RIM using the Widget SDK BlackBerry Widgets are small, discrete, standalone web applications that use HTML/CSS/JavaScript Java Application Development Classic way in which BlackBerry apps are developed in Java using MIDP 2.0/CLDC 1.1/RIM s proprietary APIs Although the BlackBerry tools are based on Java, only the Windows 32-bit OS is really supported for development

BlackBerry Enterprise Server (BES) Provides advanced functionality for IT administrators e.g., Deploy and update applications Set policies for devices Most importantly, synchronize email/calendar entries/contacts/tasks wirelessly using push technology BES is one of the reasons the BlackBerry is so dominant in enterprise market

Outline Smartphones Developing Mobile Applications Android ios BlackBerry Windows Mobile References

Windows Mobile Provides a more desktop-like user experience than other smartphones Windows Mobile IDE Microsoft Visual Studio/Expression Blend SDK C++/C#, Silverlight/XNA since Windows Phone 7

Windows Phone 7 Forthcoming Windows Mobile platform Provides a user experience better suited to mobile use patterns Provides support for app/game development using Silverlight/XNA respectively in addition to C++/C#-based apps with.net Compact Framework Microsoft Visual Studio 2010/Expression Blend 4 for Windows Phone: Primary tools for Windows Phone 7 development

Comparison of Platforms Platforms ios Android Windows Mobile BlackBerry IDE Xcode Android Studio Microsoft Visual Studio Expression Blend Eclipse BlackBerry SDK Plugin SDK Objective-C C/C++/fortran/Java/ Objective-C++ AppleScript/Python Ruby Java C/C++ since Android NDK C++/C# Silverlight/XNA since Windows Phone 7 Java Widget SDK (HTML/CSS/JavaScri pt)

Outline Smartphones Developing Mobile Applications Android ios BlackBerry Windows Mobile References

References Lundrigan, L., Graupera, V.,, Allen, S. (2010). Pro smartphone crossplatform development - iphone, BlackBerry, Windows Mobile, and Android Development and Distriubution. PA USA: Apress. Android: https://developer.android.com/index.html ios: http://developer.apple.com/iphone BlackBerry: http://na.blackberry.com/eng/developers/ Windows Mobile: https://dev.windows.com/en-us/getstarted

Lab 3 Android Studio <lecturer, date>

Lab 3 Lab3 is about installation of Android IDE and getting familiar with Android and Java programming through a basic Android application development (HelloWorld). Download and install Android Studio https://developer.android.com/sdk/index.html Download and install the latest SDK tools and platforms using SDK Manager https://developer.android.com/tools/help/sdk-manager.html

Seminar 3 Mobile App Development (Android, ios, BlackBerry, Windows Mobile) <lecturer, date>

Seminar 3 Make a report of Android Studio features and work flow Android Studio: https://developer.android.com/tools/studio/index.html

Mini-Project 3 Mobile App Development (Android, ios, BlackBerry, Windows Mobile) <lecturer, date>

Mini-Project 3 Prepare a short report of Xcode, its features and interface builder Resources Overview & Features https://developer.apple.com/library/mac/documentation/toolsla nguages/conceptual/xcode_overview/xcode_overview.pdf https://developer.apple.com/xcode/ Download Xcode: https://developer.apple.com/xcode/downloads/