.net
.net
et
et
Applications mobiles
Applications mobiles
Soutenu par :
- Mr S.EZZIZI
- Mr A.CHETOUANE
Encadré par :
- Mr M.ELEULDJ
Introduction
Introduction
* Plate
* Plate
-
-
forme complète pour développer,
forme complète pour développer,
déployer et exécuter des applications web,
déployer et exécuter des applications web,
Windows, mobiles et serveur.
Windows, mobiles et serveur.
* Repose sur le Framework.net
* Repose sur le Framework.net
* Est apparue en 2002.
Visual Studio.NET,
.NET Framework
.NET Services
.NET Devices
.NET Enterprise
Servers
.NET Clients
.NET Clients
Nouvelle
Nouvelle
génération
génération
de
de
périphériques
périphériques
Windows
Windows
-
-
powered
powered
Supporte
Supporte
XML et les
XML et les
services Web
services Web
Fonctionne
Fonctionne
en
en
autonome
autonome
ou
ou
en
en
mode
.NET Framework
.NET Framework
Power &
Power &
Simplicity
Simplicity
Standard
Standard
Protocols
Protocols
Web
Web
Services
Services
Components
Security
Transactions
XML
Abilities
Rich
Rich
Clients
Clients
Web
Web
Browsers
Browsers
Mobile
Mobile
Devices
Devices
XML
XML
Relational Access
Relational Access
Any
Any
Database
Database
Visual
Visual
Studio .NET
Studio .NET
Fondé sur des standards
Fondé sur des standards
CLI
CLI
CLR
CLR
Framework
Framework
Class
Class
Library
Library
Données et XML
Données et XML
XML Web
XML Web
services
services
Windows
Windows
Forms
Forms
Web
Web
Forms
Forms
Common
Common
Language
Language
Specification
Specification
VB
VB
C++
C++
C#
C#
…
…
Soumis à
Soumis à
l’ ECMA
l’ ECMA
Soumis à
Soumis à
l’
l’
ECMA
ECMA
Spécification
Spécification
ouvertes
ouvertes
Accès aux
Accès aux
données basé XML
données basé XML
JScript
JScript
Basé XML,
Basé XML,
SOAP
SOAP
Visual Studio .NET
Visual Studio .NET
Environnement de développement pour la construction
Environnement de développement pour la construction
d’applications classique et Web d’entreprises.
d’applications classique et Web d’entreprises.
Prise en charge complète du
Prise en charge complète du
Framework
Framework
IDE unique pour tous les langages
IDE unique pour tous les langages
Ouvert et extensible
Ouvert et extensible
Permet de suivre toutes les étapes du cycle de
Permet de suivre toutes les étapes du cycle de
développement d’une application
Les objectifs du
Les objectifs du
Framework
Framework
Unifier les modèles de programmation
Unifier les modèles de programmation
Simplifier fortement le développement
Simplifier fortement le développement
d’applications
d’applications
Fournir un environnement d’exécution
Fournir un environnement d’exécution
robuste et rapide
robuste et rapide
Les classes de bases
Les classes de bases
Threading Threading Resources Resources Globalization Globalization
System
System
System.Data (ADO .NET)
System.Data (ADO .NET)
System.XML
System.XML
System.Web (ASP .NET)
System.Web (ASP .NET)
Diagnostics Diagnostics Configuration Configuration Collections Collections Net Net IO IO Text Text Security Security Common Common OLEDB OLEDB SQLTypes SQLTypes SQLClient SQLClient XPath XPath XSL XSL Runtime Runtime InteropServices InteropServices Remoting Remoting Serialization Serialization Serialization Serialization Configuration
Configuration SessionStateSessionState Caching
Caching SecuritySecurity Services Services Description Description Discovery Discovery Protocols Protocols UI UI HTMLControls HTMLControls WebControls WebControls
System.Drawing
System.Drawing
Imaging Imaging Drawing2D Drawing2D Text TextPrinting
Printing
System.Windows.Forms
System.Windows.Forms
DesignDesign ComponentModelComponentModel
Schema Schema Reflection Reflection ServiceProcess ServiceProcess
Compact Framework
Compact Framework
.NET
.NET
And
And
Devices
Devices
code
code
Web pages
Web pages
Visual Studio.NET
Visual Studio.NET
.NET Framework
.NET Framework
Mobile Web
Mobile Web
Browser
Browser
.NET Compact
.NET Compact
Framework
Framework
Compact
Compact
Framework
Framework
.NET
.NET
Moteur d’ Exécution .NET
Moteur d’ Exécution .NET
Exécution managée sur type
Exécution managée sur type
safe
safe
Pas de variables non initialisées, de
Pas de variables non initialisées, de
cast
cast
dangereux, mauvais indexage de tableaux,
dangereux, mauvais indexage de tableaux,
mauvaise arithmétique de pointeurs
mauvaise arithmétique de pointeurs
Garbage
Garbage
collection
collection
Common
Common
type
type
system
system
Appel, héritage et
Appel, héritage et
debugage
debugage
de sources entre
de sources entre
différents langages
différents langages
Compact
Compact
Framework
Framework
Button
Button
CheckBox
CheckBox
ComboBox
ComboBox
ContextMenu
ContextMenu
DataGrid
DataGrid
DomainUpDown
DomainUpDown
FileOpenDialog
FileOpenDialog
Contrôles
Contrôles
supportés
supportés
FileSaveDialog
FileSaveDialog
HScrollBar
HScrollBar
ImageList
ImageList
Input Panel
Input Panel
Label
Label
ListBox
ListBox
ListView
ListView
MainMenu
MainMenu
NumericUpDown
NumericUpDown
Panel
Panel
PictureBox
PictureBox
ProgressBar
ProgressBar
RadioButton
RadioButton
StatusBar
StatusBar
TabControl
TabControl
TextBox
TextBox
Timer
Timer
ToolBar
ToolBar
Track Bar
Track Bar
TreeView
TreeView
VScrollBar
VScrollBar
Contrôles
Contrôles
non
non
supportés
supportés
CheckedListBox
CheckedListBox
ColorDialog
ColorDialog
ErrorProvider
ErrorProvider
HelpProvider
HelpProvider
LinkLabel
LinkLabel
NotifyIcon
NotifyIcon
ToolTip
ToolTip
Splitter
Splitter
FontDialog
FontDialog
Compact
Compact
Framework
Framework
Support des Web Services
Support des Web Services
Appel possible de Web services
Appel possible de Web services
«
«
All
All
encoding
encoding
types
types
»
»
Invocation synchrone et asynchrone
Invocation synchrone et asynchrone
Basic
Basic
and
and
Digest
Digest
authentication
authentication
Support du
Support du
Secure
Secure
Sockets
Sockets
Layer pour le
Layer pour le
cryptage (SSL)
cryptage (SSL)
Custom SOAP headers
Custom SOAP headers
Compact
Compact
Framework
Framework
Support ADO.NET
Support ADO.NET
Gestion de données
Gestion de données
OffLine
OffLine
avec les
avec les
DataSet
DataSet
Communication des
Communication des
DataSet
DataSet
via XML
via XML
Modèle de données Commun sur le PC et les
Modèle de données Commun sur le PC et les
devices
devices
Modèle extensible de provider ADO.NET
Modèle extensible de provider ADO.NET
Data providers inclus
Data providers inclus
SQL Server (
SQL Server (
System.Data.SqlClient
System.Data.SqlClient
)
)
.NET
.NET
Framework
Framework
System
System
System.Data
System.Data
(ADO .NET)
(ADO .NET)
System.XML
System.XML
System.Web (ASP .NET)
System.Web (ASP .NET)
Diagnostics Diagnostics Configuration Configuration Collections Collections Net Net IO IO Threading Threading Text Text Security Security Common Common OLEDB OLEDB SQLTypes SQLTypes SQLClient SQLClient XPath XPath XSL XSL Runtime Runtime InteropServices InteropServices Remoting Remoting Serialization Serialization Serialization Serialization Configuration
Configuration SessionStateSessionState Caching
Caching SecuritySecurity Services Services Description Description Discovery Discovery Protocols Protocols UI UI HTMLControls HTMLControls WebControls WebControls
System.Drawing
System.Drawing
Imaging Imaging Drawing2D/3D Drawing2D/3D Text TextPrinting
Printing
System.Windows.Forms
System.Windows.Forms
DesignDesign ComponentModelComponentModel
Schema Schema Reflection Reflection Resources Resources Globalization Globalization ServiceProcess ServiceProcess
Compact
Compact
Framework
Framework
.NET pour
.NET pour
PC
PC
System
System
System.Data
System.Data
(ADO .NET)
(ADO .NET)
System.XML
System.XML
System.Web (ASP .NET)
System.Web (ASP .NET)
Diagnostics Diagnostics Configuration Configuration Collections Collections Net Net IO IO Threading Threading Text Text Security Security Common Common OLEDB OLEDB SQLServerCe SQLServerCe SQLClient SQLClient XSlt./XPath XSlt./XPath XSL XSL Runtime Runtime InteropServices InteropServices Remoting Remoting Serialization Serialization Serialization Serialization Configuration
Configuration SessionStateSessionState Caching
Caching SecuritySecurity Services Services Description Description Discovery Discovery Protocols Protocols UI UI HTMLControls HTMLControls WebControls WebControls
System.Drawing
System.Drawing
Imaging Imaging Drawing2D/3D Drawing2D/3D Text TextPrinting
Printing
System.Windows.Forms
System.Windows.Forms
DesignDesign ComponentModelComponentModel
Schema Schema Reflection Reflection Resources Resources Globalization Globalization ServiceProcess ServiceProcess
Accès aux données
Accès aux données
Différentes technologies fournis par
Différentes technologies fournis par
Windows
Windows
SQL Client et ADO.NET
SQL Client et ADO.NET
SQL Ce Client et
SQL Ce Client et
Merge
Merge
Replication
Replication
Remote
Remote
Data Access (RDA) Pull et
Data Access (RDA) Pull et
Push
Push
Services Web
Services Web
j2EE vs .net
j2EE vs .net
.NET Enterprise Solution
.NET Enterprise Solution
SQL
Server
IIS on W2k Server
.NET
managed
component
ASP
.NET
Windows
Client
Browser
J2EE Enterprise Solution
J2EE Enterprise Solution
DB
Server
Java App
Server
EJB
Servlet
JSP
Java
Client
Browser
7500 7500 9000 9000 5000 5000 2500 2500
Java
Java
User
User
Interface
Interface
4,410Data Tier
Data Tier
Middle Tier
Middle Tier
2,865.NET
.NET
14,273 5,891Total Lines
Total Lines
of Code
of Code
710 5,404 761 412 74 2,566Lignes de Codes nécessaires
Lignes de Codes nécessaires
11500 11500 14000 14000 15000 15000
Microsoft et la
Mobilité: Les enjeux
Mobilité: Les enjeux
Responsables fonctionnels
Responsables fonctionnels
Rendre les employés plus productifs
Rendre les employés plus productifs
Réduction des cycles
Réduction des cycles
–
–
Rapidité de prise de
Rapidité de prise de
décision
décision
Réponse client plus rapide
Réponse client plus rapide
–
–
Fidélisation
Fidélisation
accrue
accrue
Responsables IT
Responsables IT
Accès données et réseaux sécurisés
Accès données et réseaux sécurisés
Infrastructure flexible et évolutive
Infrastructure flexible et évolutive
Périphériques mobiles,
Périphériques mobiles,
pourquoi en avoir créé plusieurs ?
pourquoi en avoir créé plusieurs ?
Le périphérique “idéal” n’existe pas !
Le périphérique “idéal” n’existe pas !
L’expérience utilisateur est optimisé pour chaque usage
L’expérience utilisateur est optimisé pour chaque usage
Les standards de l’Internet sont clés pour l’acceptation
Les standards de l’Internet sont clés pour l’acceptation
Accès aux e
Accès aux e
-
-
mails de l’entreprise est très important
mails de l’entreprise est très important
Focus
Focus
sur les solutions, pas sur la technologie
sur les solutions, pas sur la technologie
Smartphone
Smartphone
et
et
PC Phone
PC Phone
Edition
Edition
orientés donnés !
orientés donnés !
PDA orienté
PDA orienté
donné qui
donné qui
fait téléphone
fait téléphone
Premier téléphone
Premier téléphone
orienté donné
Pc /
Pc /
Smartphone
Smartphone
Pocket PC :
Pocket PC :
Orienté données : usage N° =
Orienté données : usage N° =
traitement de données
traitement de données
Grand écran
Grand écran
Navigation stylet
Navigation stylet
Capacité de communication au
Capacité de communication au
service de la donnée
service de la donnée
Smartphone
Smartphone
:
:
Un bon téléphone avant tout (compacité,
Un bon téléphone avant tout (compacité,
poids, autonomie en veille &
poids, autonomie en veille &
communication)
communication)
Usage premier : communication vocale
Usage premier : communication vocale
Les données au service d’un usage plus
Les données au service d’un usage plus
aisée de la communication vocale Ex:
aisée de la communication vocale Ex:
carnet de contact
carnet de contact
L’intégration transparente de services
L’intégration transparente de services
mobiles complémentaires : Ex: Portail
mobiles complémentaires : Ex: Portail
internet
internet
Le «
Le «
tout en un
tout en un
» parfait pour un usage
» parfait pour un usage
modérée de la
modérée de la
donnée
donnée
Pc /
Pc /
Smartphone
Smartphone
MIT vs .Net CF
MIT vs .Net CF
MIT vs .Net CF
MIT vs .Net CF
Problèmes de
Problèmes de
déploiement
déploiement
Riche en
Riche en
fonctionnalité
fonctionnalité
Mode connecté et
Mode connecté et
non connecté
non connecté
.net Compact
.net Compact
framework
framework
Fonctionne sous un
Fonctionne sous un
navigateur
navigateur
Uniquement en mode
Uniquement en mode
connecté
connecté
Pas de problème de
Pas de problème de
déploiement
déploiement
Bcp
Bcp
d’appareilles
d’appareilles
mobiles
mobiles
Mobile
Mobile
internet
internet
toolkit
toolkit
Inconvenients
Inconvenients
Avantages
Avantages
Processus de rendu d’une page web
Processus de rendu d’une page web
mobile
mobile
Processus de rendu au niveau du serveur
Processus de rendu au niveau du serveur
Détection des capacités
du periph
Détection des capacités
du periph
Récupération des info Récupération au
user agent et machine.conf du serveur
Execution de la page
ASP.net (*.aspx)
Execution de la page
ASP.net (*.aspx)
Si c la première exécution compilation just
in time sinon exécution directe
Les pages compilées ne sont pas
recompilées pour chaque périphérique
Rendu de la page
Rendu de la page
La page demandée est rendu dans le langage
compatible avec le périphérique (cHtml ,html
,wml )
Résultat d’une simple application
Résultat d’une simple application
hello
Wireless Markup Language (WML)
Langage pas très complexe
Langage pas très complexe
Basé sur l’
Basé sur l’
HTML
HTML
Similarité uniquement dans la structure
Similarité uniquement dans la structure
Exemple:
Exemple:
<?xml version=”1.0”?>
<!DOCTYPE wml PUBLIC “-//WAPFORUM//DTD WML 1.1//EN” “http://www.wapforum.org/DTD/wml_1.1.xml”> <wml>
<card id=”main” title=”Hello Mobile Device World Example”> <p>
Hello Mobile Device User </p>
</card> </wml>