Developpement mobile vs open source
-
Upload
korteby-farouk -
Category
Technology
-
view
1.152 -
download
1
description
Transcript of Developpement mobile vs open source
Algeria 2011
Développement Mobile
versus Open Source
Présenté par farouk korteby
3
Sommaire
C'est quoi un mobile ?
Quelques chiffres
Développement natifs
Développement multi-plates-formes
Développement Framework web mobiles
L'avenir : HTML5 & CSS3
Les Ateliers : Android & J2ME
4
C'est quoi un mobile ?
5
C'est quoi un mobile ?
Un appareil mobile est un appareil de petite taille doté de capacité de traitement.
OS, Processeur, RAM, ROM …
Possédant un écran d’affichage et une interface tactile ou un clavier miniaturisé.
6
C'est quoi un mobile ?
Téléphone portableNokia, LG, Samsung, Sony Ericsson, Motorola, Siemens
Smartphone ou téléphone intelligent Android, IOS, Symbian S60, BB, Brew …
Un assistant numérique personnel ou PDA
Windows Mobile, HP WebOS
Tablette : Ipad, Galaxy Tab, Kindle
Console de jeux portable, GPS, Baladeur MP3
…
7
Quelques chiffressur le
Développement Mobile
8
Sommaire
C'est quoi un mobile ?
Quelques chiffresDéveloppement natifs
Développement multi-plates-formes
Développement Framework web mobiles
L'avenir : HTML5 & CSS3
Les Ateliers : Android & J2ME
9
Quelques chiffres
10
Quelques chiffres
En 2001 :
Pays développés 47,1%
Les pays émergents 7,9%
Dans le Monde15,5%
En 2011 :
Pays développés 117,8%
Les pays émergents 78,8 %
Dans le Monde 86,7 %
11
Quelques chiffres OS mobile
En 2011 :
Android : 36MU
Symbian : 27MU
BlackBerry : 13MU
Apple : 16MU
12
Quelques chiffres Mobile Store 2010
Apple App Store
1782 M$
Blackberry App World
$165 M$
Nokia Ovi Store
$105 M$
Google Android Market
$102 M$
Total $2155 M$
13
Quelques chiffres Constructeur
Ventes mondiales de téléphones mobiles En 2011 :
1. Nokia : 107 MU (25,1%)
2. Samsung : 68 MU (16,1%)
3. LG : 23 MU (5,6%)
4. Apple : 16 MU (3,9%)
5. BlackBerry : 13 MU (3,0%)
14
Quelques chiffres Algérie
Le nombre de clients des opérateurs fixes et mobiles est passé de 30,1 millions en 2008 à 35,3 millions en 2009.
Une progression de 17,3%.
Dans le même contexte, les revenus générés par les réseaux mobiles en2009
Plus de 221,2 milliards de dinars
15
Développements sur des systèmes
natifs
16
Sommaire
C'est quoi un mobile ?
Quelques chiffres
Développement natifsDéveloppement multi-plates-formes
Développement Framework web mobiles
L'avenir : HTML5 & CSS3
Les Ateliers : Android & J2ME
17
Développements natifs
Un programme natif ou code natif est composé d’instructions directement reconnues par un processeur langage machine
Les programmeurs n’écrivent pas de code natif directement
Ils rédigent des « programmes sources » en suivant les conventions d’un langage de programmation (C++, C#, Pascal, Basic …).
La traduction de ces programmes sources en code natif est faite en assemblage/compilation.
18
Développements natifs
Technologies propriétaires:
IOS, Apple.
Windows Mobile, Microsoft.
Symbian, Nokia.
BlackBerry OS, RIM.
Technologies Open source:
Android, Google.
19
iOS
Développements natifs
20
IOS ou iPhone OS
Crée par Apple en 2007.
Famille BSD (Unix) + Noyau Hybride.
Plateformes : iPhone, iPod Touch, iPad, Apple TV
Fonctionnalités :
Un écran multitouches.
Wifi, EDGE et 3G
GPS ou triangulation Wifi
Un appareil photo.
Un accéléromètre.
21
IOS ou iPhone OS
IOS SDK (nécessite un Mac OS).
Environnement de développement : Xcode.
Langage Objective-C : extension du C.
Interface Builder : interfaces glisser-déposer.
iPhone Simulator : iPhone virtuel.
iPhone Developer Program à $99/ans.
22
Windows Mobile
Développements natifs
23
Windows Mobile
Crée par Microsoft en 2000.
Famille Windows CE + Noyau fermé.
Plateformes : WinCE, 2003, 5.0, 6.0, 7.5.
Constructeurs : Nokia, HTC, LG, Dell, HP …
Fonctionnalités :
Interface utilisateur Metro
Microsoft Office Mobile
Windows Phone Marketplace.
24
Windows Mobile
Visual Studio SDK 2010.
À partir de 1 099,00 €
Microsoft Visual Studio Express Windows Phone Developper (gratuit).
SDK Windows Mobile.
Les émulateurs Windows Mobile/ActiveSync.
Langages : C++, C# ou VB.
MSDN Library.
25
Symbian OS
Développements natifs
26
Symbian OS
Crée par Symbian ltd en 1997.
100 millions en 2006.
Nokia, Sony Ericsson, Siemens, Samsung, Panasonic.
Racheté par Nokia en 2008.
Système d'exploitation embarqué.
Architecture ARMx86 (RISC 32 bits).
En 2009 Nokia a décidé Open source.
En 2011 Nokia abandonne officiellement le projet.
Les interfaces utilisateurs : S60, S80, S90, UIQ.
27
Symbian OS
Qt Creator, Carbide C++, Code Warrior.
Langage C++, Python, Ruby, .NET.
Symbian 3 :
Multitouches.
Wifi, EDGE ou 3G.
USB on the go
Digital Video Broadcasting – Handheld
Flash, Silverlight , Java ME et OpenGL ES.
28
BlackBerry OS
Développements natifs
29
Black Berry OS
Crée par Research In Motion en 1999.
En 2010 BlackBerry Tablet OS.
Basé sur QNX un système d'exploitation UNIX commercial
Qui devra remplacer à terme BlackBerry OS
Spécificités :
BlackBerry support natif des courriels.
Trackwheel,Trackball, Touchpad et Touchscreen.
30
Black Berry OS
BlackBerry Native SDK (BB Tablet OS)
Langage : Natif C/C++.
Native SDK simulator.
BlackBerry Java Plugin for Eclipse (OS7)
Langage : Natif Java.
BlackBerry Smartphone Simulators.
BlackBerry Plugin for Android (BB Tablet OS).
Pour faire le portage des applications Android sur Black Berry Tablet OS
31
Android OS
Développements natifs
32
Android
Un système d'exploitation open source.
Pour Smartphone, tablette tactile, netbooks, GPS, Baladeurs MP3…
Lancé en 2007 par l’Open Handset Alliance.
Google, ASUS, Alcatel, Acer, HTC, LG, Motorola …
Fondé sur un noyau Linux
Basé sur l’architecture ARM
Intègre Java VM Dalvik
33
Android
Stratégie Open source d’Android :
Plateforme mobile ouverte
API riche
Développeursnombreux
Utilisateursnombreux
Plus de revenus
34
Android
Versions d’Android :
4.0 Ice Cream Sandwich 0%
3.x.x Honeycomb 1.9%
2.3.x Gingerbread 44.4%
2.2.x Froyo 40.7%
2.1.x Eclair 10.7%
1.6 Donut 1.4%
1.5 Cupcake 0.9%
35
Android
Android SDK :
Langage Java / C++ (Core Libraries).
NB Android Plugin for NetBeans.
ADT Plugin for Eclipse.
36
Architecture d’Android
37
Architecture d’Android
Linux Kernel :
Drivers, Gestion mémoire, Gestion de processus, Réseau
Libraries :
C/C++ libraries, 2D and 3D graphics, codecs, SQLite, Browser engine …
Android Runtime :
Dalvik VM, Core Libraries.
Application Framework :
API interface, Activity manager
38
Développements avec des
Frameworks Multi-Plates-Formes
39
Sommaire
C'est quoi un mobile ?
Quelques chiffres
Développement natifs
Développement multiplateformes Développement Framework web mobiles
L'avenir : HTML5 & CSS3
Les Ateliers : Android & J2ME
40
Développements multi-plates-formes
Une Framework multiplateforme est une technologie conçue pour fonctionner sur plusieurs OS
En anglais « cross-platform software »
Différentes solutions techniques
les langages compilés avec des bibliothèques multiplateforme (wxWidgets).
les langages interprétés (Web applications).
les langages semi-interprétés (Java, Flash …).
41
Développements multi-plates-formes
Technologies propriétaires :
Adobe AIR.
Technologies Open source :
Java ME.
Appcelerator Titanium.
42
Adobe Air
Développements multi-plates-formes
43
Adobe AIR
Adobe Integrated Runtime (Apollo)
Une machine virtuelle multiplateforme
Crée par Adobe en 2008.
C’est une technologie Gratuit mais pas open source
Selon une statistique avancée par Adobe, Adobe Air est supporté par :
132 million de Smartphone en 2011
Qui veut dire 36% du marché
44
Adobe AIR
Adobe Dreamweaver :
Pour le developpement HTML/JavaScript.
Adobe Flex Builder, Adobe Flash :
Pour l’ActionScript et flash
JavaScript et SQLite sont supportées.
OS supportés :
Microsoft Windows, Mac OS X, Android, iOS, BlackBerry Tablet OS, Linux …
45
Java ME
Développements multi-plates-formes
46
Java ME
Java Micro Edition est le Framework Java spécialisé dans les applications mobiles.
Crée par SUN, devient Open source en 2006.
KVM : une machine virtuelle capable d'exécuter une application Java.
Configuration : API donnant accès aux fonctions de base du système : CLDC, CDC.
Profil : API donnant accès aux fonctions spécifiques de la plate-forme : MIDP 1.0/2.0/2.1.
47
Java ME
Architecture Java ME :
Packages Optionnels :Wireless Messaging API
Mobile Media API
JDBC, RMI …
48
Java ME
Java Wireless Toolkit :
Langage Java.
NetBeans avec le pack Mobility.
Eclipse + plugin EclipseME.
Une Midlet : c’est une applications créées avec MIDP.
Elle permet le dialogue entre le système et l'application.
Elle le même cycle de vie d'une applet.
49
Appcelerator Titanium
Développements multi-plates-formes
50
Appcelerator Titanium
Appcelerator Titanium est un Framework libre multiplateformes pour développer des applications mobiles.
Elle génère des applications natives pour chaque plateforme.
Elle support les technologies web HTML, CSS et JavaScript.
PHP, Python et Ruby pour plateformes de bureau.
Support des populaires Frameworks JavaScript et AJAX dont :jQuery, YUI, MooTools, Prototype ...
Accès de l'API aux fonctions natives du mobile.
51
Appcelerator Titanium
OS supportés :
Desktop : Windows, Mac OS, Linux.
Mobile : Android, iOS et BlackBerry.
Remarque :
La compilation pour mobile est sujette à des exigences supplémentaires :
Pour l'iPhone: Mac OS X et le SDK iPhone
Pour Android: le SDK Android.
52
Appcelerator Titanium
Titanium Studio.
Mobile SDK de la plateforme souhaitée.
Langage :
Web : HTML, CSS et JavaScript.
Desktop : PHP, Python et Ruby.
Une API indépendante de la plateforme pour accéder aux composants UI natifs.
53
Développements avec des
Frameworks Web pour Mobiles
54
Sommaire
C'est quoi un mobile ?
Quelques chiffres
Développement natifs
Développement multi-plates-formes
Développement Framework web mobilesL'avenir : HTML5 & CSS3
Les Ateliers : Android & J2ME
55
Framework web mobile
Un Framework web mobile est un kit de composants web, qui servent à créer des parties d'une application web mobile.
Une application web mobile est un logiciel applicatif manipulable grâce à un navigateur Web d’un mobile.
Technologies Open source :
Phonegap.
jQTouch.
jQuery Mobile.
56
Phonegap
Framework web mobile
57
Phonegap
PhoneGap est un framework open-source de développement mobile :
Développé par Nitobi Software, racheté par Adobe.
Il utilise les standards HTML5 et CSS3.
Les applications qui en résultent sont hybrides, ce qui signifie qu'ils ne sont ni vraiment natif ni purement basée sur le Web.
Plateformes supportées :
Android, iOS, BlackBerry, Windows Mobile, Symbian …
58
Phonegap
PhoneGap SDK
Mobile SDK de la plateforme souhaitée.
Langage : HTML5, CSS3 et JavaScript.
59
JQTouch
Framework web mobile
60
JQTouch
jQTouch est un plugin JQuery Open Source.
Il support des animations natives, navigation automatique et themes pour les mobile WebKit.
WebKit est une bibliothèque logicielle permettant la création de navigateurs Web.
Safari de iOS et Chrome d’Android sont supportés.
61
JQTouch
Quelques exemples réalisés avec JQTouch :
62
JQuery Mobile
Framework web mobile
63
jQuery Mobile
jQuery Mobile est un framework web et open source pour des composants tactiles optimisés pour les Smartphones et tablettes.
Compatible avec toutes les plateformes mobiles principales:
iOS, Android, Blackberry, WebOS, Symbian, Windows Phone 7, MeeGo, Opéra Mobile/Mini, Firefox Mobile, Kindle …
Poids lèger et une dépendance minimale aux images pour la vitesse.
64
jQuery Mobile
Exemples réalisés avec jQuery Mobile :
65
L'avenir HTML5 & CSS3
66
Sommaire
C'est quoi un mobile ?
Quelques chiffres
Développement natifs
Développement multi-plates-formes
Développement Framework web mobiles
L'avenir : HTML5 & CSS3Les Ateliers : Android & J2ME
67
L'avenir : HTML5 & CSS3
Rappel :
HTML, est le format de données conçu pour représenter les pages web (Langage de balise).
<title>titre</title>
<p>paragraphe</p>
CSS est un langage qui sert à décrire la présentation des documents HTML.
title { font-family: Helvetica; }
p { font-size: 110%; font-family: sans-serif; }
68
L'avenir : HTML5 & CSS3
HTML5 (HyperText Markup Language 5) est la prochaine révision majeure d'HTML.
HTML + JS = HTML5.
Ses spécifications techniques sont ouvertes.
Il est Développé par W3C.
W3C est chargé de promouvoir la compatibilité des technologies du World Wide Web (xHTML, CSS …).
69
L'avenir : HTML5 & CSS3
Les principales évolutions du HTML5
Audio et vidéo.
Drag & Drop.
Canvas & SVG.
Web Sockets.
WebGL.
…
70
L'avenir : HTML5 & CSS3
Les principales évolutions du CSS3 :
Polices exotiques
Ombrages
Transparence
Coins arrondis
Positionnement avancé
Rotation
71
L'avenir : HTML5 & CSS3
HTML5 et les mobiles :
Mémoire locale (AppCache).
Dessin 2D avec Canvas.
Flux vidéo et audio sans flash.
Géo localisation
Formulaires avancés
Les écrans tactiles
72
L'avenir : HTML5 & CSS3
Frameworks web mobile basés sur HTML5 :
jQuery Mobile
Sencha Touch
SproutCore
jQTouch
DHTMLX Touch
WorkLight
…
73
Conclusion
74
Sommaire
C'est quoi un mobile ?
Quelques chiffres
Développement natifs
Développement multi-plates-formes
Développement Framework web mobiles
L'avenir : HTML5 & CSS3
Les Ateliers : Android & J2ME