Mobile and wireless application development

estrapadetubacityΚινητά – Ασύρματες Τεχνολογίες

10 Δεκ 2013 (πριν από 4 χρόνια και 7 μήνες)

134 εμφανίσεις

Sistemi Mobili e Wireless
Mobile and wireless application

Laboratorio di Interazione Uomo-Macchina
Dipartimento di Matematica e Informatica
di Udine
Development platforms
History of smartphone platforms

1993: IBM Simon, the first smartphone

1996: Palm Pilot 1000 PDA with Palm OS

1996: First Windows CE Handheld PC devices

1999: Nokia S40 OS introduced with the launch of the Nokia 7110

2000: Symbian becomes the first modern mobile OS on a
smartphone with the launch of the Ericsson R380

2001: Kyocera 6035, first smartphone with Palm OS

2002: Microsoft's first Windows CE (Pocket PC) smartphones

2002: BlackBerry releases its first smartphone

2005: Nokia introduces Maemo OS on the first internet
tablet N770

2007: Apple iPhone with iOS
History of smartphone platforms

2008: Open Handset Alliance releases Android 1.0 with
the HTC Dream (T-Mobile G1)

2009: Palm introduces webOS with the Palm Pre

2009: Samsung announces the Bada OS with the introduction of
the Samsung S8500

2010: Windows Phone 7 release

2011: MeeGo (Maemo + Moblin) is introduced with Nokia N9
(cooperation of Nokia, Intel and Linux Foundation)

2011: Samsung, Intel and the Linux Foundation announce that
their efforts will shift from Bada and MeeGo to Tizen

2011: Mer project announced (ultra-portable Linux +
HTML5/QML/JS Core), derived from MeeGo
History of smartphone platforms

2012: Mozilla announces Firefox OS

2013 Canonical announces Ubuntu Touch, a version of the Linux
distribution expressly designed for smartphones (built on the
Android Linux kernel and using Android drivers)

2013: BlackBerry releases BlackBerry 10
History of smartphone platforms
BlackBerry OS

First introduced in a smartphone in 2002; proprietary multi-tasking
operating system

Current version: BlackBerry 10 OS (new interface, multitasking, gestures,
new keyboard, etc.)

Primarily known for its native support for corporate email

all new e-mails, contacts and calendar entries are "pushed" out to the BlackBerry
device automatically, as opposed to the user synchronizing the data by hand or on a
polling basis

BlackBerry handhelds are integrated into an organization's e-mail system through a
software package called "BlackBerry Enterprise Server" (BES). The software monitors
the user's local "inbox", and when a new message comes in, it passes it to RIM's
Network Operations Center. The messages are then relayed to the user's wireless
provider, which in turn delivers them to the user's BlackBerry device.

several non-BlackBerry mobile phones (e.g., Palm Treo) have been released featuring
the BlackBerry e-mail client which connects to BlackBerry servers
BlackBerry development

Approaches (change each year!)

BlackBerry Web Development (easier development, lower flexibility)

CSS, HTML5, Javascript

BlackBerry WebWorks SDK

Ripple emulator

BlackBerry Java / Java ME (up to BB7.1)

Eclipse plugin + BlackBerry Java SDK

Native options (BB10 and PlayBook only)

Native SDK (Cascades framework)

Any application that makes use of certain restricted functionality must be
digitally signed so that it can be associated to a developer account at
RIM (free)

Applications and themes can be loaded onto BlackBerry devices through
BlackBerry World (only option for BB10), Over The Air (OTA) through the
BlackBerry mobile browser, or through BlackBerry Desktop Manager
Windows Phone
Windows Phone

Successor to Windows Mobile (Feb 2010)

Two evolutions: Windows Phone 7.x (last version 7.8) and
Windows Phone 8 (last version 8.0.10327.78)

Windows Phone 7.x devices cannot run or update to Windows
Phone 8

Windows Phone 8 replaces its CE-based architecture used on
Windows Phone 7 devices with a Windows NT kernel (improved
file system, drivers, network stack, security components, media
and graphics support)

Several features of Windows Phone are organized into "hubs",
which combine local and online content

The Windows Phone Marketplace is used to digitally distribute
music, video content, podcasts, and third party applications to
Windows Phone handsets
Windows Phone development

Applications for Windows Phone 8 (and 7) can be written
using Visual C# or Visual Basic
and the
Windows Phone SDK

Microsoft offers Windows Phone SDK for free (includes Visual
Studio 2012 Express for Windows Phone, Windows Phone
Emulator, samples, and documentation); the SDK requires 64-bit
Windows 8 Pro or higher

To test applications on a phone, developers must create a
Microsoft account and register the phone

In order to get an application to appear in the Windows Phone
Store, developers need a developer account on the Windows
Phone Dev Center and the application must be submitted to
Microsoft for approval ($19 annual subscription; Microsoft
will take
30% of the revenue
Apple iOS
Apple iOS

Default operating system of iPhone, iPod Touch, and iPad

Current version: iOS 7.0.2 (September 2013)

Unix-like operating system derived from MacOSX

User interface based on the concept of direct manipulation, using
multi-touch gestures

Multitasking supported through 10 background APIs (in iOS 7,
Apple introduced a new multitasking feature, providing all apps
with the ability to perform background updates)

Internal accelerometers enable using device motion to control
applications (e.g., undo command by shaking the device or
switching from portrait to landscape mode by rotating it)

Third-party native applications can only be officially installed
through the App Store
iOS Development

No third-party native application development for iOS 1.0

iOS SDK available since iOS 2.0 (2008)

the SDK itself is a free download, but in order to release software, one must
enroll in the iPhone Developer Program, a step requiring payment and
Apple's approval (annual $99.00 per developer license)

iPhone applications are written in Objective-C (C variant, relatively
low-level coding) using the Xcode development environment (free)

No plan to support Java, Microsoft .NET or Adobe Flash

In order to get an application to appear in the App Store, the
application must be submitted to Apple for approval (Apple will
take 30% of the revenue)

Mobile open-sorce operating system that uses a modified
version of the Linux kernel

Current OS Version 4.3 (Jelly Bean)

Android SDK is available to develop application in managed code
in a Java-like language that utilizes Google-developed Java libraries

Software written in Java is compiled into Dalvik bytecodes and executed in
the Dalvik virtual machine (a specialized VM implementation designed for
mobile device use)

The officially supported integrated development environment (IDE) is
Eclipse using the Android Development Tools (ADT) Plugin

Developers may use text editor XML files then use command line tools to
create, build and debug Android applications as well as control attached
Android devices

Currently supported development platforms include x86-architecture
computers running Linux, Mac OS X, or Windows
Android development

A new Android development environment called Android Studio,
based on IntelliJ IDEA, is now available as an early access

Libraries written in C and other languages can be compiled to
ARM native code and installed using the Android Native
Development Kit

Users can install apps directly (using APK files), or from alternative
app markets (developers pay $25 for registration to distribute on
the Google Play Store, Google
will take 30% of the revenue
Android development: App Inventor

App Inventor is an application originally provided by Google
(now maintained by the Massachusetts Institute of Technology)
that allows anyone to create software applications for the Android

It uses a graphical interface that allows users to drag-and-drop
visual objects to create an application that can run on the Android

Runs through the web browser but you can deploy applications to
a physical phone (or the emulator)

You need a Gmail account to log in to App Inventor

Installation instructions:
Android development: App Inventor
Android development: App Inventor
Android development: App Inventor

A block to manage automatic reply to messages when