SlideShare une entreprise Scribd logo
1  sur  34
Introduction DART 
DevFest GDG Miage Gi ‘13
Dart 
#dartlang
Dart livré avec «batteries incluses» 
Langage 
Librairies Riche 
VM 
Package Manager 
Editeur de code DART 
And, it works across the modern 
web 
#dartlang
Dart runs on the client and server 
#dartlang
Le But d’un Projet DART 
“Dart aide les developpeurs 
des différentes plateformes 
à réaliser des applications 
complèxe et 
super performante 
pour le web moderne.” 
#dartlang
2 paths pour exécuter Dart 
dart dart2js js 
Dart VM (Dartium) 
#dartlang
Qu’est ce que DART? 
#dartlang
Qu’est ce que DART? 
Building web apps is Dart (initialement appelé Dash) est un 
langage de programmation web développé 
par Google. Il a été dévoilé lors de la 
conférence de GOTO à Aarhus (Danemark), 
le 12 octobre 2011. Son but est de 
remplacer JavaScript pour devenir l 
nouveau langage du développement web. 
#dartlang
Qu’est ce que DART? 
Dart esBt duesiltdinién àg r éwsoeudbre a leps pprso bilsèmes 
de JavaScript tout en offrant de meilleures 
performances, la capacité « à être plus 
facilement utilisable pour des projets à 
grande échelle », et une meilleure sécurité. 
Les ingénieurs de Google travaillent sur 
un IDE sur le cloud, nommé Brightly, qui 
sera peut-être la première application écrite 
en langage DART 
#dartlang
Les Bibliothèques 
Les bibliothèques de base 
fournissent toutes les bases, y 
compris le soutien pour la 
programmation asynchrone 
avec Futures (représente un moyen 
pour obtenir une valeur dans le futur). 
Dart: core - Nombres, collections, 
chaînes, etc 
#dartlang
Les Bibliothèques 
Dart: core - Nombres, collections, 
chaînes, etc 
Dart: asynchrone - programmation asynchrone 
Dart: math - Math et aléatoire 
Dart: html - Applications basées sur un 
navigateur 
Dart: io - Applications de ligne de commande 
d'E / S 
Dart: JSON - encodage et le décodage Objets 
#dartlang
Construire des application Heroique 
Nous 
realisons 
#dartlang 
de 
puissantes 
apps
Performance 
Rapidité, productivité, 
Bonheur pour les developpeurs. 
#dartlang
Performance 
La performance est bonne et 
s'améliore. Les applications 
DART sont les plus rapides dans 
la machine virtuelle Dart, mais 
elles peuvent être rapide même 
après compilation du JavaScript. 
#dartlang
Avantages 
- Basé sur des classes, l'héritage unique, 
- Interfaces implicites 
- Typage statique en option 
- Véritable portée lexicale 
- Un modèle de concurrence basé sur la transmission de 
messages 
- syntaxe familière 
N'importe qui peut devenir productif 
avec DART rapidement! 
#dartlang
DART n'est pas surprenant 
- Pas de règles de portée complexe (et la confusion) 
- Détecter les erreurs tôt 
- Oubliez «New», et vous obtenez une erreur 
- Essayez d'accéder à une propriété inexistante, et 
vous obtenez une erreur 
- Indice hors de portée, et vous obtenez une 
erreur 
……….. 
N'importe qui peut devenir productif 
avec DART rapidement! 
#dartlang
Probleme 
Les applications Web d'aujourd'hui occupe une 
grande capacité: 
● amazon.com ~ 600K JavaScript 
● cnn.com ~1500K JavaScript 
● espn.com ~ 900K JavaScript 
Quelle est la taille du code qui n'est jamais 
utilisé? 
#dartlang
Solution 
Dart vous offre une solution. 
Seul le code que vous avez 
réellement utiliser est 
compilé avec votre 
application. 
#dartlang
Solution 
#dartlang
Probleme 
Comment puis-je garder mes 
données et l'interface 
utilisateur synchronisé? 
#dartlang
Solution 
Dart vous donne une liaison 
de données facile. 
#dartlang
Probleme 
Où est la sémantique web 
qui m'avait été promise? 
#dartlang
Probleme 
#dartlang
Solution 
Dart vous permet de créer 
des éléments 
personnalisés! 
#dartlang
Elements personnalisées 
#dartlang
Elements personnalisées 
Web composants et les éléments 
personnalisées 
<element name="my-button" extends="button"> 
</element> 
#dartlang
Elements personnalisées 
Markup 
<element name="my-button" extends="button"> 
<template> ... </template> 
</element> 
#dartlang
Elements personnalisées 
Dart code 
<element name="my-button" extends="button"> 
<template> ... </template> 
<script type='application/dart'> ... </script> 
</element> 
#dartlang
Elements personnalisées 
Styles 
<element name="my-button" extends="button"> 
<template> ... </template> 
<script type='application/dart'> ... </script> 
<style> ... </style> 
</element> 
#dartlang
Elements personnalisées 
Ce n'est pas nouveau, c’est vrai. 
<input type=’range’ > 
Mais maintenant vous 
pouvez faire vos propres 
éléments. 
#dartlang
Outils 
Dart Editor 
Sublime plugin 
IntelliJIDEA, Webstorm 
Vim plugin 
#dartlang
DART 
Qu'attendez vous 
pour passer à 
DART ? 
#dartlang
FIN 
Merci 
+Eric Zile 
Facebook/ericzile 
#dartlang
Questions 
#dartlang

Contenu connexe

Tendances

Tendances (20)

Android-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsAndroid-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intents
 
Introduction à Angular
Introduction à AngularIntroduction à Angular
Introduction à Angular
 
Marzouk architecture encouches-jee-mvc
Marzouk architecture encouches-jee-mvcMarzouk architecture encouches-jee-mvc
Marzouk architecture encouches-jee-mvc
 
Cours JavaScript
Cours JavaScriptCours JavaScript
Cours JavaScript
 
Introduction à React JS
Introduction à React JSIntroduction à React JS
Introduction à React JS
 
Chp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement MobileChp1 - Introduction au Développement Mobile
Chp1 - Introduction au Développement Mobile
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
JWT-spring-boot-avancer.pdf
JWT-spring-boot-avancer.pdfJWT-spring-boot-avancer.pdf
JWT-spring-boot-avancer.pdf
 
Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3
 
Angular Avancé
Angular AvancéAngular Avancé
Angular Avancé
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
 
Cours développement côté serveur
Cours développement côté serveurCours développement côté serveur
Cours développement côté serveur
 
UML
UMLUML
UML
 
Tp n 1 linux
Tp n 1 linuxTp n 1 linux
Tp n 1 linux
 
Introduction à Node.js
Introduction à Node.js Introduction à Node.js
Introduction à Node.js
 
Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Support du cours : Programmation Web 2
Support du cours : Programmation Web 2
 
React redux-tutoriel-1
React redux-tutoriel-1React redux-tutoriel-1
React redux-tutoriel-1
 
La gestion des exceptions avec Java
La gestion des exceptions avec JavaLa gestion des exceptions avec Java
La gestion des exceptions avec Java
 
Android-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateursAndroid-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateurs
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 

En vedette

Exercice nombres complexes
Exercice nombres complexesExercice nombres complexes
Exercice nombres complexes
Yessin Abdelhedi
 
Exercices complexes corriges
Exercices complexes corrigesExercices complexes corriges
Exercices complexes corriges
Karim Amane
 
Exercices avec les solutions d'analyse complexe
Exercices avec les solutions d'analyse complexeExercices avec les solutions d'analyse complexe
Exercices avec les solutions d'analyse complexe
Kamel Djeddi
 
Mathematiques _resumes_du_cours
Mathematiques  _resumes_du_coursMathematiques  _resumes_du_cours
Mathematiques _resumes_du_cours
ahmed jafour
 

En vedette (12)

Cours nombres complexes
Cours nombres complexesCours nombres complexes
Cours nombres complexes
 
Nombre complexe
Nombre complexeNombre complexe
Nombre complexe
 
Chap nombres complexes
Chap nombres complexesChap nombres complexes
Chap nombres complexes
 
Examen d'analyse complexe
Examen d'analyse complexeExamen d'analyse complexe
Examen d'analyse complexe
 
Exercice nombres complexes
Exercice nombres complexesExercice nombres complexes
Exercice nombres complexes
 
Exercices complexes corriges
Exercices complexes corrigesExercices complexes corriges
Exercices complexes corriges
 
Exercices avec les solutions d'analyse complexe
Exercices avec les solutions d'analyse complexeExercices avec les solutions d'analyse complexe
Exercices avec les solutions d'analyse complexe
 
Mathematiques _resumes_du_cours
Mathematiques  _resumes_du_coursMathematiques  _resumes_du_cours
Mathematiques _resumes_du_cours
 
Présentation atelier expo 1
Présentation atelier expo 1Présentation atelier expo 1
Présentation atelier expo 1
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similaire à Introduction Dart

2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp012014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
MongoDB
 

Similaire à Introduction Dart (20)

Les outils et compétences nécessaires pour le développement en remote - Ce...
Les outils et compétences nécessaires pour le développement en remote - Ce...Les outils et compétences nécessaires pour le développement en remote - Ce...
Les outils et compétences nécessaires pour le développement en remote - Ce...
 
Domain_Driven_Design
Domain_Driven_DesignDomain_Driven_Design
Domain_Driven_Design
 
Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5
 
Carnet de Route du Développeur - ENSIMAG 2012
Carnet de Route du Développeur - ENSIMAG 2012Carnet de Route du Développeur - ENSIMAG 2012
Carnet de Route du Développeur - ENSIMAG 2012
 
Découvrez les nouvelles fonctionnalités de Talend 6
Découvrez les nouvelles fonctionnalités de Talend 6Découvrez les nouvelles fonctionnalités de Talend 6
Découvrez les nouvelles fonctionnalités de Talend 6
 
Drupal & Mobilité
Drupal & MobilitéDrupal & Mobilité
Drupal & Mobilité
 
PRESENTATION_webclient.pptx
PRESENTATION_webclient.pptxPRESENTATION_webclient.pptx
PRESENTATION_webclient.pptx
 
Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !
 
Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !Développez dans le futur, dès maintenant !
Développez dans le futur, dès maintenant !
 
Daily ddd
Daily dddDaily ddd
Daily ddd
 
Glossaire web pour les profanes - Webdesign
Glossaire web pour les profanes - WebdesignGlossaire web pour les profanes - Webdesign
Glossaire web pour les profanes - Webdesign
 
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp012014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
2014 03-26-appdevseries-session3-interactingwiththedatabase-fr-phpapp01
 
DDD session BrownBagLunch (FR)
DDD session BrownBagLunch (FR)DDD session BrownBagLunch (FR)
DDD session BrownBagLunch (FR)
 
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017) Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
Spark-adabra, Comment Construire un DATALAKE ! (Devoxx 2017)
 
Faire le pont entre designers et développeurs au Guardian
Faire le pont entre designers et développeurs au GuardianFaire le pont entre designers et développeurs au Guardian
Faire le pont entre designers et développeurs au Guardian
 
Les dernières avancées HTML5 & CSS3 en action !
Les dernières avancées HTML5 & CSS3 en action !Les dernières avancées HTML5 & CSS3 en action !
Les dernières avancées HTML5 & CSS3 en action !
 
Les dernières avancées html5 & css3 en action !
Les dernières avancées html5 & css3 en action !Les dernières avancées html5 & css3 en action !
Les dernières avancées html5 & css3 en action !
 
Embarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobilesEmbarquer une base de données locale dans vos logiciels et applications mobiles
Embarquer une base de données locale dans vos logiciels et applications mobiles
 
Les technologies big data avec speech commentaries
Les technologies big data avec speech commentariesLes technologies big data avec speech commentaries
Les technologies big data avec speech commentaries
 
Manage Traceability with Apache Atlas flexible metadata repository.
Manage Traceability with Apache Atlas flexible metadata repository.Manage Traceability with Apache Atlas flexible metadata repository.
Manage Traceability with Apache Atlas flexible metadata repository.
 

Introduction Dart

  • 1. Introduction DART DevFest GDG Miage Gi ‘13
  • 3. Dart livré avec «batteries incluses» Langage Librairies Riche VM Package Manager Editeur de code DART And, it works across the modern web #dartlang
  • 4. Dart runs on the client and server #dartlang
  • 5. Le But d’un Projet DART “Dart aide les developpeurs des différentes plateformes à réaliser des applications complèxe et super performante pour le web moderne.” #dartlang
  • 6. 2 paths pour exécuter Dart dart dart2js js Dart VM (Dartium) #dartlang
  • 7. Qu’est ce que DART? #dartlang
  • 8. Qu’est ce que DART? Building web apps is Dart (initialement appelé Dash) est un langage de programmation web développé par Google. Il a été dévoilé lors de la conférence de GOTO à Aarhus (Danemark), le 12 octobre 2011. Son but est de remplacer JavaScript pour devenir l nouveau langage du développement web. #dartlang
  • 9. Qu’est ce que DART? Dart esBt duesiltdinién àg r éwsoeudbre a leps pprso bilsèmes de JavaScript tout en offrant de meilleures performances, la capacité « à être plus facilement utilisable pour des projets à grande échelle », et une meilleure sécurité. Les ingénieurs de Google travaillent sur un IDE sur le cloud, nommé Brightly, qui sera peut-être la première application écrite en langage DART #dartlang
  • 10. Les Bibliothèques Les bibliothèques de base fournissent toutes les bases, y compris le soutien pour la programmation asynchrone avec Futures (représente un moyen pour obtenir une valeur dans le futur). Dart: core - Nombres, collections, chaînes, etc #dartlang
  • 11. Les Bibliothèques Dart: core - Nombres, collections, chaînes, etc Dart: asynchrone - programmation asynchrone Dart: math - Math et aléatoire Dart: html - Applications basées sur un navigateur Dart: io - Applications de ligne de commande d'E / S Dart: JSON - encodage et le décodage Objets #dartlang
  • 12. Construire des application Heroique Nous realisons #dartlang de puissantes apps
  • 13. Performance Rapidité, productivité, Bonheur pour les developpeurs. #dartlang
  • 14. Performance La performance est bonne et s'améliore. Les applications DART sont les plus rapides dans la machine virtuelle Dart, mais elles peuvent être rapide même après compilation du JavaScript. #dartlang
  • 15. Avantages - Basé sur des classes, l'héritage unique, - Interfaces implicites - Typage statique en option - Véritable portée lexicale - Un modèle de concurrence basé sur la transmission de messages - syntaxe familière N'importe qui peut devenir productif avec DART rapidement! #dartlang
  • 16. DART n'est pas surprenant - Pas de règles de portée complexe (et la confusion) - Détecter les erreurs tôt - Oubliez «New», et vous obtenez une erreur - Essayez d'accéder à une propriété inexistante, et vous obtenez une erreur - Indice hors de portée, et vous obtenez une erreur ……….. N'importe qui peut devenir productif avec DART rapidement! #dartlang
  • 17. Probleme Les applications Web d'aujourd'hui occupe une grande capacité: ● amazon.com ~ 600K JavaScript ● cnn.com ~1500K JavaScript ● espn.com ~ 900K JavaScript Quelle est la taille du code qui n'est jamais utilisé? #dartlang
  • 18. Solution Dart vous offre une solution. Seul le code que vous avez réellement utiliser est compilé avec votre application. #dartlang
  • 20. Probleme Comment puis-je garder mes données et l'interface utilisateur synchronisé? #dartlang
  • 21. Solution Dart vous donne une liaison de données facile. #dartlang
  • 22. Probleme Où est la sémantique web qui m'avait été promise? #dartlang
  • 24. Solution Dart vous permet de créer des éléments personnalisés! #dartlang
  • 26. Elements personnalisées Web composants et les éléments personnalisées <element name="my-button" extends="button"> </element> #dartlang
  • 27. Elements personnalisées Markup <element name="my-button" extends="button"> <template> ... </template> </element> #dartlang
  • 28. Elements personnalisées Dart code <element name="my-button" extends="button"> <template> ... </template> <script type='application/dart'> ... </script> </element> #dartlang
  • 29. Elements personnalisées Styles <element name="my-button" extends="button"> <template> ... </template> <script type='application/dart'> ... </script> <style> ... </style> </element> #dartlang
  • 30. Elements personnalisées Ce n'est pas nouveau, c’est vrai. <input type=’range’ > Mais maintenant vous pouvez faire vos propres éléments. #dartlang
  • 31. Outils Dart Editor Sublime plugin IntelliJIDEA, Webstorm Vim plugin #dartlang
  • 32. DART Qu'attendez vous pour passer à DART ? #dartlang
  • 33. FIN Merci +Eric Zile Facebook/ericzile #dartlang