24
David Rousset - @davrous http://blogs.msdn.com/davrous Introduction à TypeScript et retour d'expérience sur le portage BabylonJS

Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

  • Upload
    davrous

  • View
    263

  • Download
    1

Embed Size (px)

DESCRIPTION

TypeScript ou comment goûter à une partie d’ECMAScript 6 le tout de manière typée. Inventé par le créateur de C# et Delphi ! JavaScript est passé d’un jouet utilisé dans une simple page web à de grosses applications en production tournant à la fois sur un serveur et dans le navigateur. Cette croissance exponentielle a rapidement amené son lot de problèmes de par la nature même du langage qui n’avait pas été forcément conçu pour cela au départ. Plusieurs approches différentes ont été étudiées ces dernières années pour palier à ces défauts en passant par de l’outillage à la génération du JS depuis un autre langage totalement différent. TypeScript apporte un angle différent. Il peut travailler de concert avec du JS et ensuite le modifier au fur et à mesure pour le typer. Nous verrons ainsi ensemble une introduction au langage et nous vous présenterons comment nous l’avons utilisé dans notre projet open-source Babylon.JS. Ce sera l’occasion de partager avec vous les bénéfices et éventuels écueils que nous avons rencontrés. Objectif de l’intervention : Sensibiliser les développeurs web JS à un nouveau langage qui semble avoir d’excellents retours de la communauté en général et qui a le vent en pompe chez les projets web gérés par Microsoft. Cela sera l’occasion de voir que TypeScript permet de générer du JS très propre suivant les guidelines de D. Crockford « The Good Parts » ainsi que de voir que l’on peut plus facilement générer et maintenir de grosses applications web avec.

Citation preview

Page 1: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

David Rousset - @davroushttp://blogs.msdn.com/davrous

Introduction à TypeScript et retour d'expérience sur le portage BabylonJS

Page 2: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

Le développement de gros projet uniquement en JavaScript est difficile

Page 3: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

TypeScript: un langage conçu pour créer des

application JavaScript à large échelle

Page 4: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

TypeScript: un sur ensemble de JavaScript

qui se compile en JavaScript pur.

Page 5: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

Any browser. Any host. Any OS.

Page 6: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

Open Source.

Page 7: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

+ +

Page 8: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

+ +

Page 9: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

Demo

Les bases de TypeScript

Page 10: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

TypeScript 1.0 disponible aujourd’hui! Livré avec Visual Studio 2013, plug-in pour Visual Studio

2012, node.js package, source sur CodePlex

ECMAScript 6 Ratification prévue pour Décembre 2014 Classes, Arrows, Modules, Destructuring, let + const, for…of,

Generators, Comprehensions, …

Prévu pour TypeScript 2.0 Parité ECMAScript 6, fallback lorsque techniquement possible Fonctionnalités supplémentaires comme la gestion des

fonctions asynchrones via (async/await)

Feuille de route pour TypeScript

Un langage Open Source pour écrire de grosses applications JavaScript.

Page 11: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

MICROSOFT CONFIDENTIAL – INTERNAL ONLY

Babylon.js:

Une moyenne d’1 version par mois 28 contributeurs 33 releases 592 commits14000+ lignes de code Plus de 120 fichiers de code Plus de 250 forks Bande passante de 1 TB par mois pour le site web 1.3GB (Code & samples)

Page 12: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

PourquoiTypeScript ? Click icon to add picture

Page 13: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

Car cela est transparent pour nos utilisateurs et augmente notre productivité

Page 14: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

Demo

Qualité du code généré par TypeScript

Page 15: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

Pour augmenter la qualité de notre code

Page 16: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

Exemple de bug trouvé

Page 17: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

Exemple de bug trouvé

Page 18: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

Car TypeScript est open source

Page 19: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

Node.js Eclipse Sublime Text WebStorm Emacs VI Visual Studio 2012 / 2013

Pour développer avec TypeScript

Page 20: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

Pour le futur qu’il nous promet

Page 21: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

Le cauchemar des promises / callbacks

Page 22: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

Peut devenir merveilleux…

Page 23: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

http://typescriptlang.org

Page 24: Introduction à TypeScript et retour d'expérience sur le portage de Babylon.JS

© 2014 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.