Lecture 1 - Introduction Mobile Programming
Transcript of Lecture 1 - Introduction Mobile Programming
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
1/41
Mobile Pla*orm Overview
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
2/41
Mobile Pla*orms Nokia
Symbian Pla*orm MeeGo
Google
Android Apple
iOS 4
Others (Windows Phone 7, BlackBerry, HP webOS) Cross-pla*orm: Java ME
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
3/41
SYMBIAN PLATFORM
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
4/41
Symbian OS (History)
Most popular smartphonemobile opera ng system inthe world
Based on EPOC OS for PsionPDAs in the 90's.
First Nokia devices: 9210Communicator and 7650
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
5/41
Symbian Pla*orm Open source OS designed for
smartphones by SymbianFounda on
Successor to Symbian OS
Versions: Symbian^1 (= S60 5th Edi on)
Nokia 5800, n97, Samsung i8910, SonyEricsson Sa o...
Symbian^3 Nokia N8, C6-01, C7-00, E7-00
Symbian^4 (Not released yet)
Since 21th of October, Nokiais not referring to Symbian^3
or Symbian^4.
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
6/41
Symbian Roadmapdeveloper.symbian.org
Since 21th of October, Nokia isnot referring to Symbian^3 or
Symbian^4.
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
7/41
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
8/41
Developing for Symbian^3
1. Qt framework2. Java ME3. WRT: Web Techniques
Others: Flash, Silverlight, Python, Na;ve Symbian C++..
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
9/41
October 21:Nokia renes Development Strategy
Sole focus on Qt framework and support for HTML5 further claries plaJorm strategy
The decision to focus on Qt as the sole applica1on
development framework will ensure that applica;ons willcon;nue to be compa;ble with future evolu;ons ofSymbian as well as upcoming MeeGo products.
Nokia will no longer refer to Symbian^3 or Symbian^4
Updates and upgrades for exis;ng Symbian^3 users
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
10/41
??
1. Qt framework2. Java ME3. WRT: Web Techniques
Others: Flash, Silverlight, Python, Na;ve Symbian C++..
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
11/41
MEEGO
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
12/41
Maemo Maemo is a linux-based open mobile
pla*orm Nokia n770, n800, n810 (without
phone capabili es) and n900 Introduced in 2005 App por ng is easy, Maemo uses
familiar components from DebianLinux
Maemo 5 (Nokia n900)
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
13/41
MeeGo
Combining Intel's Moblin andNokia's Maemo into one.
Open source Linux project Intended to run variety hardware
pla*orms: handhelds, netbooks,television
MeeGo core, User Experience layer(UX)
Mobile phones: Handset UX
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
14/41
14 "
Settings DatabaseGConf
Platform Infolibudev
Message BusD-Bus
System Librariesglibc, glib
MeeGo Kernel "
MeeGo API "
CommsServices !
Connection MgmtConnMan
Netbook UX " Netbook UI + Apps "
Netbook UI Framework "
TelephonyoFono
VOIP, IM, PresTelepathy
BluetoothBlueZ
InternetServices !
Layout EngineWebKit
Web Run-TimeWebKit
Web ServicesLib SocialWeb
LocationGeoClue
VisualServices !
3D GraphicsOpenGL / ES
2D GraphicsCairo, QPainter
I18n RenderingPango, QText
GTK /Clutter
MediaServices !
Media FWGStreamer
CameraGStreamer plug-in
CodecsGStreamer plug-in
AudioPulseAudio
Data Mgmt !
Content Framework Tracker
Context Framework ContextKit
Package Manager PackageKit
DeviceServices !
Device Health
Sensor Framework
Resource Manager
Backup & Restore
PersonalServices !
PIM Services
Device Sync
Accts & SSO
Handset UX " Handset UI + Apps "
Handset UI Framework "
X UPnPGUPnP
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
15/41
Nokia's View MeeGo is targeted on high end phones (superphones or
computers ) Symbian OS is targeted on mid-range phones
(smartphones
) Upcoming N8 is a mid-range phone! Series 40 / 30 / 20for low end ( phones )
No na ve development environment Java ME!
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
16/41
First MeeGo Phone: Nokia N9(Rumors)
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
17/41
QT
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
18/41
Qt?
Qt is a cross-pla orm applica on and UIframework.
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
19/41
Qt Tools Qt SDK 4.7
For developing desktop apps Available for Windows, Linux and Mac
Nokia Qt SDK 1.0.1 For developing desktop apps and mobile apps
Mobility APIs Available for Windows, Linux and Mac (beta)
Mac version: desktop and Maemo Windows version: desktop and Symbian Linux version: desktop and Maemo
Remote Compila on!
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
20/41
Demo
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
21/41
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
22/41
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
23/41
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
24/41
Qt Supported Phones?
Symbian^3 devices support Qt by na ve (Nokia n8,etc)
What about "old" Symbian devices? Don't have any Qt support by default Qt app includessmart installer! Smart installer checks that if device does not include
Qt, it will install it automa cally! S60 3.1 and later!
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
25/41
Qt Quick
QML is a JavaScript based declara ve language fordesigning UI centric applica ons!
Qt is a C++ - framework, so C++ knowledge isrequired. C++ can be hard.
UI Designers may not want to learn C++ Fluid anima on and touch
Comes with Qt 4.7. Nokia's Qt SDK supports at thisme Qt 4.6
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
26/41
QML Syntaximport Qt 4.7
Rectangle {
id: canvas
width: 200
height: 200
color: "blue"
Image {
id: logo
source: "pics/logo.png"
anchors.centerIn: parent
x: canvas.height / 5}
}Demo
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
27/41
Future of UI - design?
1) MeeGo Touch Specic UI style primarily for touch
screen devices
Built on top of Qt (C++) 2) Qt Quick Components
Premade UI components Focus on MeeGo Look and Feel Built on top of Qt Quick
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
28/41
Nokia's Ovi
Market place for Java ME, Flash, Qt - apps.
Millions of poten al users Publishing
Individual the cost is 1 euro For Symbian apps, ovi signing is required
30% of revenue to Nokia
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
29/41
ANDROID
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
30/41
Google Android Android is a Linux-based open pla*orm Developed by Open Handset Alliance,
which is lead by Google. HTC, Intel, Motorola, Qualcomm, T-Mobile
and NVIDIA Google Nexus One introduced on Jan 5.
2010 Several phones and manufactures Gartner predic on: in 2012 Android is
the second popular Mobile OS! Versions 1.5, 1.6, 2.1 and 2.2
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
31/41
Android Development
Programming Language: Java Google's SDK available for Win, Linux and Mac Google's own virtual machine: Dalvik Android Java-apps are not the same than standard
Java apps. Oracle sues Google for the usage of Java
technology (august 2010)
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
32/41
Demo
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
33/41
Android Market
Register with Google Account Registra on fee $25 Free Apps: no fee, otherwise 30% Available in Finland
users can purchase apps and developers can sell apps Apps can be distributed also via non-market
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
34/41
IOS
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
35/41
Apple's iPhone
Prior to iPhone (2007/2008) No touch screens No mul touch No markets Na ve app development was very hard (symbian C++)
iPhone was a revolu on in mobile pla*orms
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
36/41
iOS 4 Mobile pla*orm developed by Apple
for iPhone , iPod Touch and iPad Based on Mac OS X
Development kit only available for MacOS X Programming Language: Objec ve-C App distribu on only via Apples App
Store
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
37/41
Demo
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
38/41
App Store
Central Pla*orm for iOS 4 apps By far the most successful market place for mobile
applica ons 99$ fee for the developer program Free Apps: no fee, otherwise 30% Apple Approval
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
39/41
FUTURE?
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
40/41
Thoughts on future:Ba le for Developers
Nokia+ Qt looks very promising+ Hardware excellent+ Market leader: zillions shipped
devices+ Open- Qt under heavy development- Fragmenta on?- MeeGo's future?- Ovi Store and Ecosystem- Success in USA?
Android+ Lot of support from non-
Nokia manufactures+ Good programming
environment+ Open+ Ecosystem- Fragmenta on
-
8/7/2019 Lecture 1 - Introduction Mobile Programming
41/41
Thoughts on future:Ba le for Developers
Apple+ Ecosystem+ One OS, couple devices, no fragmenta on
+ App Store, millions of applica ons+ Mature programming environment- Apple's control for everything- Close OS and rules