Você está na página 1de 30

Coding

Kit de survie pour les futurs entrepreneurs

Architectures des applications


et technologies de
dveloppement
Stphanie Hertrich @stepheMicrosoft Microsoft
Michel Rousseau @rousseau_michel Microsoft

Prsentation du kit de
Vous avez un projet en lien avec les technologies de
survie
dveloppement ?

Vous ne savez pas en quoi consiste un dveloppement

dapp/de site et encore moins quels lments sont mis en


uvre ?
Quand on vous parle technique, vous ne comprenez quun mot
sur 2 ?

Kit de survie = booster en 3


parties
- Architecture des applications et
technologies de
dveloppement
- Concevoir une application, les
tapes et la mise en uvre
- Retours dexprience

Quoi ?
Pourquoi ?

Qui ?
O ?
Quand ?

Comment ?

A faire
A ne pas
faire

Objectifs

Vous donner des outils pour


Comprendre les
concepts de
base et
acqurir du
vocabulaire

Mieux
apprhender le
contexte, les
enjeux, les
contraintes et
les
problmatiques

Intgrer la
dimension
dergonomie et
de design dans
le projet
technique

Vous aider vous poser les bonnes questions

Faciliter la
communication
avec vos
quipes
techniques en
parlant le
mme langage

Agenda
Les nouveaux usages numriques
Application, site web, client, serveur,

cloud : kezako ?
Le dveloppement multi-plateforme
Les langages de dveloppement

Les nouveaux
usages
numriques

Les nouveaux usages


Multiplication des devices par utilisateur
Smartphone
Tablette
Desktop / poste de travail
All In One

Une frontire moins franche entre vie personnelle et


vie professionnelle (BYOD)
Une dimension sociale en croissance

Quest-ce qui change pour les


Pour
lutilisateur
Pour le dveloppeur
apps
?
Le form factor / taille et
forme

Le contexte dutilisation

Adapter lUI et lergonomie


pour chaque format

Taille des boutons


Moins dinformation lcran
Support du touch

Cas dutilisation diffrents


Prvoir un mode Off-line

Au bureau, sur desktop

En metro (sans connexion


internet)

Dans les magasins

Sur son canap devant la TV

Autant dapps dvelopper


que dOS ?

LOS (systme dexploitation)

Autant de technologies de
dveloppement connaitre
?

Accder son app prfre


depuis nimporte lequel des

KEZAKO

Devinettes

Device
Serveur
Site Web

Cloud

Service Web Donnes OS (Operating System)


Application Plateforme
API (Application
Client
Programming Interface)
Framework

Interfac
e

Client

LAN/WAN

Data

Windows Server
Unix,

OS

OS
Framework

Framework
Interfac
e

Service Web

Re
qu
t

Windows Server
Unix,

ht

tp

Service Web

Data

Data

Framework
OS

API /
Interface

Plateforme

Serveur

Device
(Application
KESAKO ? API
Cloud Web
Donnes
OS
(Operating
System)
Framework
Application/site
Web
Service
Plateforme
Serveur
Application
Programming Interface)

Les diffrents types de


IaaS(1/2) PaaS
SaaS
cloud
Infrastructure

Windows
Server
Unix,
Interfac
e

Plateforme

OS

OS

Framework

Framework

Service Web

Machine virtuelle

Interfac
e

Service Web

Ex: Windows
Azure

Software

OS
Cloud

OS
Framework

Interfac
e

Service Web

Ex: Gmail,
Office Web

OS
Cloud

Les diffrents types de


cloud (2/2)

Le dveloppement
multi-plateforme

Dveloppement multi-plateforme
Une application dcline sur
les diffrents modles de
smartphone et tablettes,
du march

Quel type de dveloppement pour


mon application multi-plateforme ?

Application native
-

Dvelopp dans le langage natif de la


plateforme : apparait comme une
application dans le store
Techno possible :
- Spcifique lOS :
- Java / Android
- Objective-C / iOs
- C# / Windows Phone et Windows
8

Application web/hybride
-

Sexcute dans un navigateur


web ou un contrle web ds une
app native (app mixte)
Techno possible :
- Html/javascript/CSS

Alternative
-

Dvt cross-platform : outil de gnration


dapplications natives partir dun seul code (Xamarin
pour C#, PhoneGap pour HTML5, )

Comparatif Dev web/natif/crossplateforme


Html5/CSS/Javascript
Natif
Outil de
Technologi
e

Gnration dapp
Cross-Plateforme

Avantages

- 1 seule code et langage pour


tous les OS/devices

- Accs toutes les


possibilits techniques
offertes par la plateforme
- Suit la philosophie du
device (ergonomie)
- Performances
- Les applications les +
reconnues pour leur
qualit sont (en rgle
gnrale) natives

- 1 seul langage : celui


que vous
aimez/connaissez
- Rapidit de
dvleloppement

Inconvnie
nts

- 1 seul code pour tous les devices


( il faudra nanmoins adapter les
cas dutilisation par cible)
- Tourne dans un navigateur (ou
contrle web) : support de tous
les navigateurs et versions de
nav.
- Manque daccs tous les
sensors et matriel spcifique de
la plateforme
- Performances
- Ont plus mauvaise rputation
(plus dur de faire une app de
qualit)

- Dcliner autant
dapplication que de
type de device/OS
- Ncessite des
comptences diffrentes
pour chaque app (soustraitance ?)

- Donne accs la
plupart des possibilits
techniques offertes
par la plate-forme
- Vous engage avec un
outil tiers (confiance)
- Manque de recul

Quelques premires
questions se poser
Quel march vais-je
viser ? Dois-je cibler
toutes les
plateformes ?

Mon application
ncessite-t-elle
laccs des
fonctionnalits
spcifiques du device
? (sensors, )

Quelles sont les


comptences de mes
quipes (si quipe il
y a !)?

Souhaitez-vous soustraiter ou garder la


maitrise du
dveloppement en
interne ?

Lister les cas


dutilisation selon
les types de
device : sont-ils
proches ?

Quel est mon


budget ? Le dlai ?
Comment je
souhaite montiser
mon app ?

Quelle est la dure


de vie de mon app ?
Est-ce une
application
vnementielle ?

Y aura-t-il dautres
applications
dvelopper par la
suite ?

Les langages de
dveloppement

Diffrents types de
langages

A chaque contexte ses langages


Serveur
Client
Client Natif
Client Web
Autres (BDD, )
Attention
au vocabulaire pour les puristes : certains que lon appelle ici
(et ailleurs) langages par facilit sont en fait (ou aussi)
des frameworks.
on sattache ici aux langages les plus populaires
Vous trouverez autant davis sur les langages que de

Langages ct serveur
PHP : le basic du web
JavaScript/Node.js : JS ct serveur (!=

Java !!)
C#, VB.net, /ASP.Net : le dev Web par
MS
Ruby (On Rails)
Python

Langages clients web (1)

Langages clients web (2)


Voyons dabord le principe de base :
Serveur

Client

http://www.wikipedia.f
r

Get request

Web server finds file


/wiki/Accueil_principal.ht
ml
Processing server-side code

Browser displays
page

Server response
<html></html>

Exemple Wikipedia (3)

Langages clients web (4)


Exemple :
Une page web avec 1
bouton
JavaScript : dfinit laction
effectuer lorsque lon
clique sur le bouton
CSS : dfinit la couleur du
bouton (rouge)
HTML : dclare le bouton
dans la page

Langages clients web (5)


Sexcute dans le navigateur
Flash
Silverlight
RIA
Plug-in tlcharg sur le client.
Non support par les OS mobiles !

Langages clients natifs


Dpend de lOS/plateforme
OS mobile

Langage

Apple iOS

C, Objective-C

Google Android

Java

Windows Phone

C#, VB.net,, C++

BlackBerry

Java

Windows 8 (Store
app)

C#, VB.net,, C++, HTML/JS/CSS

Dautres langages
spcialiss

Base de donnes :

SQL

Choix dune technologie de


dev
Quel impact sur la
philosophie et la
culture dentreprise ?
un avis

Et aprs ?

Kit de survie J1 - Votre avis ?


Merci dvaluer

**

***

Prcisez vos attentes

La qualit du contenu
Le contenu correspond mes
attentes
Le niveau technique du
contenu me convient
Jai appris quelque chose
La dure de la session me
convient

aites-nous part de ce qui vous a particulirement plu / manqu :

Você também pode gostar