redfabriq - meetup xamarin paris - session d'ouverture
DESCRIPTION
Présentation de XAMARIN, solution de développement mobile multi-plateformes sous DotNet, lors de la session d'ouverture du MEETUP XAMARIN PARIS.TRANSCRIPT
Reproduction prohibited without authorization
Reproduction prohibited without authorization
GET YOUR C#
SHIRT TODAY!
Reproduction prohibited without authorization
Largest Mobile Developer Conference of the Year!
www.xamarin.com/evolve
Reproduction prohibited without authorization
Sommaire
Problématique du développement multiplateforme mobile
Les solutions
La solution
Approche et architecture
Implémentation
Démonstration 1
Démonstration 2
Xamarin
Questions et réponses
4
Reproduction prohibited without authorization
PROBLÉMATIQUE DU DÉVELOPPEMENT MULTIPLATEFORME MOBILE
5
Reproduction prohibited without authorization
Les piles technologiques pour développer des applications mobiles
Base de données API RestServers / SI Réseaux Cache
Le fun ????
Et après
6
Reproduction prohibited without authorization
Fragmentation du marché mobile : Un lourd défit pour les développeurs
7
Les terminaux s’élargissent et se diversifient
4 -> 5 -> 6 pouces pour les smartphones
9 -> 11 -> 13 pouces pour les tablettes
Laptop hybrides (mi-laptop & mi-tablette)
Plusieurs écrans
…
Reproduction prohibited without authorization
Support des différentes tailles d’écrans
8
Reproduction prohibited without authorization
La Fragmentation sur mobile: un vrai challenge
2 versions d’OS, des standards stricts pour les fabricants, un langage
7 versions d’OS, un seul fabricant et peu d’écrans différents, un langage
8 versions d’OS, plusieurs fabricants, 20 langages, plus de 27 formats d’écrans
9
Reproduction prohibited without authorization
Qualité des réseaux : Impact sur les applications mobiles
Les zones mortes sont nombreuses, en réseau mobile (3G, H, H+, 4G).
Dans vos développements d’applications mobiles, il est impératif de prendre en considération la qualité des réseaux afin de proposer des apps disponibles et utilisables.
10
Reproduction prohibited without authorization
SmartPhone ? Tablette ? Ou PC ?
A cela, il faut rajouter les utilisateurs itinérants dans leurs lieux de travail (Hôtels, lieux de vente, supports à domicile, transports, chantiers…)
11
Reproduction prohibited without authorization
Quid du développement après toutes les contraintes citées plus haut ?
Combien de plateformes cibles ?
L’intégration au système d’information est capitale, quelles solutions ?
Les procédures et protocoles de tests
Tester sur tous les OS ?
Tester sur toutes les versions d’OS ?
Tester sur tous les fabricants ?
Tester sur tous les formats d’écran ?
Tester sur tous les types de réseau ?
Les filières de développements
Objective C ?
Java ?
C# ?
L’approche multiplateforme est incontournable
Que propose le marché ?
12
Reproduction prohibited without authorization
LES SOLUTIONS
13
Reproduction prohibited without authorization
Les applications Web « responsive » (HTML 5 + responsive)
14
En mode connecté ou déconnecté (très limité)
Interface uniforme sans spécificité OS
Reproduction prohibited without authorization
Hybride : L'approche à écriture unique et exécution partout
✗
Reproduction prohibited without authorization
L’expérience du responsive
Facebook et LinkedIn sont passés du responsive aux applications natives!
Pourquoi?
Vitesse d’exécution en natif
Utilisation en mode déconnecté
Cache des images
Exploitation des capacités des terminaux(GPS, photo, connectivité)
Tout ceci rend l’expérience utilisateur peu pertinente face aux apports des interfaces tactiles des terminaux mobiles
Mark Zuckerberg said: “Our Biggest Mistake Was Betting Too Much On HTML5”
16
Reproduction prohibited without authorization
Hybride
Technologies:
HTML/CSS/JavaScript
Mobile développement framework
Les produits
Phone Gap
App Accelerator
…
Avantages:
Simplicité des technologies de développement
Permet un mode déconnecté
Le résultat est une application web encapsulée dans un exécutable natif
Désavantages
Ne donne pas la performance du natif
Ne donne pas une expérience utilisateur native
Ne peut pas gérer les graphiques lourds
Nécessite d’être familier avec le Framework
17
Reproduction prohibited without authorization
Les applications natives (développement spécifique à chaque technologie IOS, Android, Windows phone, Windows 8, …)
18
Technologie et filière de
développement spécifique
Respect de l’expérience utilisateur
Online
et
Offline
Objective C
+ XIB
Java + XMLC# + XAML
Native UI Native UINative UI
Reproduction prohibited without authorization
L'approche cloisonnée: Créez des applications natives autant de fois que vous disposez de supports
+
+
-
✗
Reproduction prohibited without authorization
LA SOLUTION
20
Reproduction prohibited without authorization
La cible idéale pour la réussite des projets mobiles en entreprise
+
+
-
Reproduction prohibited without authorization
C# and Xamarin : Une approche unique
Reproduction prohibited without authorization
Faites le choix d’utiliser UNE SEULE FILIERE DE DEVELOPPEMENT
Microsoft vous propose sa technologie pour développer des applications Windows 8/RT (Metro) et Windows Phone
XAMARIN vous propose sa technologie et son savoir-faire pour développer des applications iOS et Android
L’écosystème Microsoft DotNet vous permet donc de déployer des solutions natives sur les plateformes suivantes :
Windows 7
Windows 8 / RT
Windows Phone
Windows Azure
iOS
Android
Microsoft a toujours prôné l’ouverture urbi ou orbi.
Windows AZURE n’est que le dernier exemple en date, ainsi que l’intégration de XAMARIN.
23
Une seule filière de développement, une seule ingénierie, du code partagé, du code spécifique à chaque plateforme et l’accès aux système existants
Reproduction prohibited without authorization
XAMARIN architecture
24
Xamarin Ecosystem
Reproduction prohibited without authorization
Nos solutions mobiles - XAMARIN
25
C# + XAMARIN
Microsoft Visual Studio
Réutilisation de code C#
Continuité des compétences
Code Métier
Réutilisation et partage du code
Moins d’erreurs
Plus robuste
Interfaces natives
Performance
Accès aux services du mobile
Respect de l’expérience utilisateur
Développement d’application mobile universelle
XAMARIN – La solution
Reproduction prohibited without authorization
Nos solutions mobiles - XAMARINXAMARIN - Les bénéfices
26
Solution pérenne
+ 20 000 clients
+ 375 000 développeurs
+ 2,6 milliards de machines
Partenaires Coûts réduits
Conception
Développement
Déploiement
Maintenance
Reproduction prohibited without authorization
Aucun compromis dans l'implémentation d‘IHM
27
Reproduction prohibited without authorization
Accélération du développement par le partage de codeStatistiques du code partagé depuis les applications PREBUILD de Xamarin
Source : Xamarin
28
Reproduction prohibited without authorization
Exemple de solution
Mobile CRM
Mobile Field Service
Consumer Brand Loyalty
Retail POS solutions
Supply chain management
Consumer media & entertainment
Booking
mCommerce and Catalog
Games
OK
29
Reproduction prohibited without authorization
Ecosystem XAMARINExemple de solution tiers
Des outils de codes barres qui fonctionnent en tenant compte des problèmes du mobile comme par exemple la qualité des photos des codes barres
30
Reproduction prohibited without authorization
XAMARIN Component store
Développer rapidement
- Vous disposez de PREBUILD App utilisables directement depuis Visual Studio
- Retrouvez des superbes composants UI, des services cloud et des outils d’intégration aux backend des entreprises….
31
Reproduction prohibited without authorization
Tests de vos applications : Un vrai enjeux pour les développeurs !
Test de votre application et plus particulièrement des IHM
Exécution très rapide de vos tests
Exécution de vos tests sur de vrais matériels
Résistant aux charges
Interface accessible et simple d’usage
32
Reproduction prohibited without authorization
APPROCHE ET ARCHITECTURE
33
Reproduction prohibited without authorization
Intégration à Visual Studio
C# and F# support
Reuse your Visual Studio and DotNet Experience
Une seule solution pour iOS, Android et Windows
Préserver votre écosystème Microsoft :ReSharper
Team Foundation Server (TFS)
Your favorite code coverage and profiling tools
34
Reproduction prohibited without authorization
Comment ça marche ?
Xamarin. Android tire profit du Just In Time (JIT) sur le périphérique Android du fait qu’il implémente sa propre machine virtuelle DotNet. Cette dernière exécute le code plus rapidement que la machine Java. Permettant à la VM Xamarin d’obtenir des performances globalement similaires, voire plus rapides dans certains cas.
Produit un binaire approprié pour l’Apple Store. Il utilise l’approche AOT (Ahead of Time Compilation) du compilateur MONO.
35
Reproduction prohibited without authorization
SmartLink et Binding : le concept principal
SmartLink
Permet d’intégrer dans votre binaire le stricte nécessaire du framework Xamarin
Le principe : Consommer des API natives depuis votre code C#
Intégrer du code existant
Obtenir des performances significatives
Adopter des librairies tiers
Adopter des contrôles et framework tiers
0100 000200 000300 000400 000500 000
ATM
Hu
d
Be
eble
SDK
Co
uch
bas
e
Dat
atra
ns
Dro
pB
oxS
ync
-…
Dro
pB
oxS
ync
-…
Flu
rryA
nal
ytic
s
GC
Dis
cre
etN
oti
fica
…
Go
ogl
eAn
alyt
ics
Go
ogl
eMap
s
MB
Pro
gres
sHu
d
MG
Split
Vie
wC
on
tr…
Re
dLa
ser
SDSe
gme
nte
dC
on
t…
Test
Flig
ht
Tim
esS
qu
are
WEP
op
ove
r
Zip
Arc
hiv
e
Savings
36
Reproduction prohibited without authorization
Comprendre le « Binding » : Exemple avec le contrôle bouton
Sous IOS
Sous Android
• Sous Android
37
Reproduction prohibited without authorization
Designer Android
Accessible depuis Visual Studio
Créer une interface utilisateur via drag & drop
Cibler plusieurs tailles d'écran, les résolutions et les versions Android
38
Reproduction prohibited without authorization
Designer iOS Designer (sous xCode)
Bientôt Visual Studio
Familier aux idiomes de conception Visual Studio
Prend en charge tous les éléments de l’UIKit
39
Reproduction prohibited without authorization
Proposer une chaîne de développement homogène et qui s’intègre aux legacydes entreprises
Visual Studio and TFS
TargetUI
DesignCode &
Share
Unit
Testing
Xamarin
Test cloud
iOSAndroidXAMARIN
Project architecture & methodologies
Deploy
Windows Store
iTunesGoogle Play, …
Reproduction prohibited without authorization
Les tests
Tests unitaires
Tests fonctionnels avec Test Cloud
Plus de 300 devices sont proposés
Tests basés sur l’UI
Des rapports complets
Intégré à votre ALM
41
Reproduction prohibited without authorization
IMPLEMENTATIONDÉMONSTRATION AVEC VS 2013
42
Reproduction prohibited without authorization
DÉMONSTRATION 1Exemple d’une application PREBUILD
43
Reproduction prohibited without authorization
DÉMONSTRATION 2Exemple d’une application spécifique
44
Reproduction prohibited without authorization
ETUDE DE CAS
45
Reproduction prohibited without authorization
Partager plus de 50.000 lignes de code
A propos de Rdio
Rdio est le leader de la musique en streaming et de partage de service lancé par les fondateurs de Skype.
Rdio est déjà dans 30 pays avec plus de 20 millions de titres.
Disponible dans 31 pays.
« L’Application mobile de Rdio est aussi le plus beau et mieux implémentée des trois solutions de streaming de music » . Wired Magazine
46
Reproduction prohibited without authorization
Challenge et résultat
Challenge
Impossible de remettre les fonctionnalités sur toutes les plateformes simultanément en raison de multiples bases de code spécifiques à la plateforme.
Les coûts élevés pour développer et maintenir des applications.
Enorme difficulté à maintenir une feuille de route commune avec comme impact des écarts significatifs sur les versions.
Impossible de rationaliser les tests.
Résultat
Avec le passage des applications sous Xamarin, Rdio partage maintenant plus de 50.000 lignes de code en C # dans iOS, Android et Windows.
Ce qui leur permet de se concentrer sur les fonctions et l'expérience utilisateur.
Les tests ont été harmonisés.
Les sorties sont communes facilitant ainsi la communication et le marketing autour des produits.
47
Reproduction prohibited without authorization
LICENCES
48
Reproduction prohibited without authorization
MSDN subscriber offers
Reproduction prohibited without authorization
MSDN subscriber offers
Reproduction prohibited without authorization
Tarifs classic (-10% via RedFabriQ)
51
STARTER INDIE BUSINESS ENTERPRISE
FREE $299 / year $999 / year $1899 / yearPer platform, per developer Per platform, per developer Per platform, per developer
Permitted use (Companies or incorporated entities with more than five
employees must purchase a Business or Enterprise plan)Individual Individual Organization Organization
Deploy to Device (Xamarin enables you to build, debug and ship to devices)
Deploy to App Stores (Deploy to the Apple App Store, Google Play Store,
Amazon Appstore, and any public app marketplace)
Xamarin Studio (Xamarin Studio is a cross-platform IDE for Windows and
Mac that allows you to write mobile apps in C #)
Unlimited App Size (Starter edition will give you a taste for Xamarin by
letting you build small apps that cannot P/Invoke third-party librairies. When
your app outgrows starter edition, you will be offered to upgrade to a paid
plan)
Visual Studio Support (Use Visual Studio to build, deploy and debug iOS and
Android apps. Leverage the Microsoft ecosystem, including TFS and plugins
such as Resharper)
Business Features (Support for in-house deployment, headless builds, WCF,
and System.Data.SqlClient)
Prime Components (Over $ 500 in pre-built app components including UI
controls and themes to help you get your app done faster)
Email Support (Private, expert email support directly from Xamarin support
engineers)
One Business Day SLA (For our Enterprise customers, we offer a guaranted
response time of one business day)
Hotfixes (Xamarin Enterprise customers blocked by verified bugs that do not
have a reasonable workaround have access to patched builds of our current
stable releases once a fix is available)
Technical Kick-off Session (Spend one hour with a Xamarin success engineer
getting all the information you need to start your project on the right foot)
Technical Account Manager (A technical Account Manager who is dedicated
to make your mobile projects successful)
Code Troubleshooting At Extra Cost At Extra Cost
Reproduction prohibited without authorization
QUI EST XAMARIN ?
52
Reproduction prohibited without authorization
XAMARIN
Originellement issu des travaux du projet MONO (Machine virtuelle sous Linux)
Un projet Open Source : MonoCross
Une équipe et une croissance fulgurante
Une validation par le Gartner, des clients et un réseau de partenaires
53
Reproduction prohibited without authorization
Xamarin: Croissance explosive en 2 ans
430,000 développeurs enregistrés en 2 ans
Plus de 30,000 développeurs s’inscrivent tous les mois
Des clients dans 70 pays
Recognized as Mobile “Visionary” in 2013 Magic Quadrant for MADP
Winner—2013 Visual Studio Integration Partner of the Year Award
54
Reproduction prohibited without authorization
“Xamarin's architectural approach provides completely native UIs with better performance than other cross-platform techniques... Xamarin uses
multifaceted technology built by a cohesive team with a solid long-term track record.”
Le Gartner soutient fermement la technologie Xamarin
Gartner, August 2013
55
Reproduction prohibited without authorization
Les références
56
Reproduction prohibited without authorization
XAMARIN et Microsoft
Les deux équipes collaborent ensemble sur de nombreux évènements et travaux d’intégration
Evangélisation : DPE
Développement : équipes Visual Studio et Xamarin
Notre présence ici
Etc….
Rapports de niveau exécutif
Partenariat Entreprise
Roadmap produite en commun
Travaux communs en marketing et événements
D’ailleurs XAMARIN est présent dans les évènements majeurs depuis 2013
57
Reproduction prohibited without authorization
XAMARIN et RedFabriQ
Premier Consulting Partner
Près de 3 ans d’expériences sur nos deux activités
Consulting / Service (Forfait et Régie)
Editeur logiciel
58
Reproduction prohibited without authorization
QUESTIONS / RÉPONSES
59