Précédent   Forum du club des développeurs et IT Pro > Webmasters - Développement Web > JavaScript > Publications JavaScript / AJAX
Publications JavaScript / AJAX Commentez les articles et critiques de livres publiés sur les rubriques JavaScript et AJAX
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 02/10/2012, 08h53   #1
vermine
Responsable JavaScript & AJAX

 
Avatar de vermine
 
Inscription : mars 2008
Messages : 3 972
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : mars 2008
Messages : 3 972
Points : 27 480
Points : 27 480
Par défaut Microsoft lance TypeScript, un sur-ensemble de JavaScript

Microsoft lance TypeScript
un sur-ensemble de JavaScript.


Microsoft répond peut-être à l'apparition de Google Dart en annonçant la sortie d'un nouvel outil de type JavaScript. Effectivement, TypeScript est un sur-ensemble de JavaScript, les deux syntaxes se ressemblent fortement et tout code JavaScript est un programme TypeScript valide. Son auteur n'est autre que Anders Hejlsberg, concepteur du Framework .NET et chef de l'équipe C# à Microsoft.

C'est tout d'abord un compilateur libre d'hébergement, mais il apporte surtout des fonctionnalités supplémentaires comme un typage statique, un système de classes et d'interfaces, une division en modules, la gestion de l'importation de fichiers, ou bien la distinction entre données publiques et privées.


Bien entendu, TypeScript est adapté pour l'environnement de développement Visual Studio, mais il fonctionne tout aussi bien avec d'autres éditeurs, ainsi que dans divers environnements JavaScript (les navigateurs, Node.js, etc.). Notons également que la vérification du type est effectuée au moment de la compilation pour ne pas gaspiller des cycles processeur en cours d'exécution.
Le typage statique permet ainsi l'utilisation d'outils qui facilitent la réalisation de grandes applications, que ce soit du côté client ou du côté serveur.

Le site officiel et l'annonce sur le blog MSDN.
Démonstration et vidéo.
Téléchargement.
Débuter avec TypeScript.

Et vous ?

Que pensez-vous de cet outil ?
N'est-ce pas un énième langage pour le développement ?
Préférez-vous Google Dart ?
vermine est déconnecté   Envoyer un message privé Réponse avec citation 91
Vieux 02/10/2012, 10h07   #2
Gugelhupf
Membre éclairé
 
Homme
Développeur informatique
Inscription : décembre 2011
Messages : 236
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2011
Messages : 236
Points : 332
Points : 332
Du JavaScript avec des classes et des interfaces.
Tant qu'à vouloir ajouter sur ce qu'il y a déjà d'existant, pourquoi ne pas reprendre la syntaxe de C# (C# plus light et typé dynamiquement, types implicites) en lui ajoutant une API avec les fonctionnalités liées au navigateur ?
Ça sert à quoi de mettre public dans les paramètres d'un constructeur ?

Enfin bref, DART ou TypeScript... jQuery est mon ami.
Gugelhupf est déconnecté   Envoyer un message privé Réponse avec citation 04
Vieux 02/10/2012, 10h10   #3
anthyme
Membre Expert
 
Avatar de anthyme
 
Homme Anthyme Caillard
Inscription : mars 2004
Messages : 1 543
Détails du profil
Informations personnelles :
Nom : Homme Anthyme Caillard
Âge : 29
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mars 2004
Messages : 1 543
Points : 1 271
Points : 1 271
Depuis le temps que je l'attends celui la

Gugelhupf => l'interet est la compatibilité total avec javascript sans avoir à créer des Wrapper d'API pour toutes les Lib JS existantes (un peut comme ce que faisait le créateur de Script#) et pouvoir utiliser jquery sans rien changer à tes habitudes
__________________
Blog
Arch# - Framework architectural .Net 4.0
anthyme est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/10/2012, 10h13   #4
rawsrc
Modérateur
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 2 585
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 36
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 2 585
Points : 6 029
Points : 6 029
Envoyer un message via Skype™ à rawsrc
C'est dingue le nombre projets pour améliorer Javascript !
Au moins ça confirme qu'en l'état le Javascript n'est plus adapté aux besoins.

Cela ne serait-il pas plus simple qu'ils s'y mettent tous afin de refaire une spécification claire de la prochaine version de ce langage ?
Parce que vu l'usage croissant de ce langage dans les développements, ils y gagneraient tous à terme à faire route commune au lieu d'avoir des tas et des tas de rustines à droite et à gauche.

M'enfin, ce que j'en dis... C'est qu'en tant que développeur web, cette fragmentation va s'avérer très problématique. Sans compter que si les navigateurs n'implémentent pas le support de ces add-ons, ils seront tous morts-nés.
__________________
# Dans la Création, tout est permis mais tout n'est pas utile...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 120
Vieux 02/10/2012, 10h20   #5
Lutarez
Membre chevronné
 
Homme Claude
Développeur .NET
Inscription : juin 2007
Messages : 193
Détails du profil
Informations personnelles :
Nom : Homme Claude
Âge : 24
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur .NET

Informations forums :
Inscription : juin 2007
Messages : 193
Points : 639
Points : 639
Je ne pense pas que le but de TypeScript soit de rivaliser avec Dart. Dart a plus ou moins pour but de remplacer JS. TypeScript serait plutôt un moyen d'étendre la syntaxe d'un langage qui évolue très peu.

Ayant toujours eu du mal avec l'approche par prototype, il faudra que j'essaye cette solution. D'ailleurs, on voit de plus en plus de projets ayant pour but de simplifier, d'optimiser et de faire évoluer le JS. C'est donc qu'il y a bien un besoin à ce niveau-là.

Dire que JQuery est le même but que Dart ou TypeScript, je pense que c'est une erreur. JQuery facilite certes beaucoup d'opérations, notamment concernant le DOM, mais n'est en rien une évolution du langage.
Lutarez est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 02/10/2012, 10h31   #6
transgohan
Expert Confirmé
 
Avatar de transgohan
 
Homme Baptiste ROUSSEL
Développeur Temps réel Embarqué
Inscription : janvier 2011
Messages : 1 292
Détails du profil
Informations personnelles :
Nom : Homme Baptiste ROUSSEL
Localisation : France, Territoire de Belfort (Franche Comté)

Informations professionnelles :
Activité : Développeur Temps réel Embarqué

Informations forums :
Inscription : janvier 2011
Messages : 1 292
Points : 2 847
Points : 2 847
Je ne suis pas développeur web de métier, je n'en fait que sur mes temps libre.
Pas un grand fan du javascript généralement je me rabats sur jQuery et ses modules, ça c'était pour le contexte...

J'ai regardé les exemples de TypeScript et leur équivalent compilé en javascript.
Autant certains me semblent tout à fait sain autant celui pour l'héritage me semble... Horrible !

Quelqu'un pourrait-il me confirmer la syntaxe javascript utilisée dans cet exemple (Simple inheritance) ?
C'est franchement pas lisible je trouve et si le code javascript généré n'est pas une usine à gaz mais correspond à celui que ferrai un développeur alors je comprends la mode courante qui est de sortir des extensions du langage.
__________________
Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur.
transgohan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2012, 10h50   #7
Aldri
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 11
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 11
Points : 13
Points : 13
J'ai regardé un peu, je trouve ça intéressant, ça permet clairement une meilleure lisibilité sur les gros projets. Les intérêts :
- le typage
- la poo
- les modules

Après ils précisent bien que la vérification des typages se fait au moment de compiler, si tu passes un objet au lieu d'un string tu auras un gros warning mais le code js fonctionnera (et tu aura surement une erreur à l'exécution).
Pour ce qui est de l'optimisation, ça te fait du code propre avec le wrappage des fonctions, le passage en prototype des éléments privés, etc... mais ça reste du js, juste il te génère du code clean (exactement comme coffeescript).

Ca peut clairement avoir une utilité pour les gros projets, et pour les développeurs venant du java ou C qui veulent se mettre au js, mais c'est sûr que quelqu'un qui fait du js depuis des années connait déjà les ficelles (cela dit, ces trucs appris sur le tas ne sont pas du tout facilement accessibles au néophyte, alors que là c'est simple à comprendre).
D'autant qu'il faut bien le dire, le JS n'est jamais appris à l'école, alors que le C ou le java si, donc quand tu débarques à faire du web, tu mets du temps à prendre les bons réflexes.

Et puis là une fois compilé (via le module nodejs opensource) tu obtiens un truc compatible avec tout (pas besoin de plugin navigateur), et du coup rien ne t'interdit d'utiliser du jquery dans ton code !
Aldri est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2012, 10h54   #8
tomlev
Rédacteur/Modérateur


 
Avatar de tomlev
 
Homme Thomas Levesque
Développeur .NET
Inscription : février 2004
Messages : 17 770
Détails du profil
Informations personnelles :
Nom : Homme Thomas Levesque
Âge : 31
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur .NET
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2004
Messages : 17 770
Points : 33 992
Points : 33 992
Citation:
Envoyé par Gugelhupf Voir le message
Tant qu'à vouloir ajouter sur ce qu'il y a déjà d'existant, pourquoi ne pas reprendre la syntaxe de C# (C# plus light et typé dynamiquement, types implicites)
Bah l'idée est que ça reste quand même à peu près du Javascript... c'est un sur-ensemble de JS, n'importe quel code JS fonctionnera tel quel avec TypeScript. Cela dit ils ont quand même utilisé certains éléments de la syntaxe de C#, comme les expressions lambda.

Citation:
Envoyé par Gugelhupf Voir le message
Ça sert à quoi de mettre public dans les paramètres d'un constructeur ?
Ca crée implicitement des champs publics dans la classe initialisés avec les paramètres du constructeur (voir la vidéo de démonstration)
__________________

Pas de questions techniques par MP ! Le forum est là pour ça...

Tutoriels : Les markup extensions en WPF - La sérialisation XML avec .NET (Aller plus loin) - Une visite guidée de WPF (traduction)
Projet : Dvp.NET, la librairie .NET open-source des membres de Developpez !
tomlev est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2012, 10h59   #9
Lutarez
Membre chevronné
 
Homme Claude
Développeur .NET
Inscription : juin 2007
Messages : 193
Détails du profil
Informations personnelles :
Nom : Homme Claude
Âge : 24
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur .NET

Informations forums :
Inscription : juin 2007
Messages : 193
Points : 639
Points : 639
Citation:
Envoyé par transgohan Voir le message
Autant certains me semblent tout à fait sain autant celui pour l'héritage me semble... Horrible !
J'avais lu un article qui recommandé de faire comme ça en effet. Certes ici, c'est vachement factoriser donc difficile à lire, mais le principe est le même. Il faut bien garder à l'esprit que le JS n'est absolument pas fait pour ça à la base.

Par contre, chapeau pour leur éditeur de texte sur le site, il est drôlement efficace !

Citation:
Envoyé par tomlev Voir le message
Ca crée implicitement des champs publics dans la classe initialisés avec les paramètres du constructeur (voir la vidéo de démonstration)
Je croyais que Silverlight était mort pour MS
Lutarez est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2012, 12h13   #10
wanou
Futur Membre du Club
 
Homme
Ingénieur JavaScript Senior
Inscription : janvier 2004
Messages : 34
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Ingénieur JavaScript Senior
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2004
Messages : 34
Points : 17
Points : 17
Citation:
Envoyé par rawsrc Voir le message
Au moins ça confirme qu'en l'état le Javascript n'est plus adapté aux besoins.
Cela confirme surtout que beaucoup de dev ont besoin d'être assisté. Heureusement que Microsoft est là pour leur vendre les outils nécessaires pour faire correctement leur travail, hein. Ce n'est évidemment pas la faute du dev, mais c'est celle du langage s'il ne réussit pas à faire ce qu'il veut...

Citation:
Envoyé par rawsrc Voir le message
Cela ne serait-il pas plus simple qu'ils s'y mettent tous afin de refaire une spécification claire de la prochaine version de ce langage ?
C'est déjà en cours avec ECMAScript 6 http://wiki.ecmascript.org/doku.php?...ication_drafts
wanou est déconnecté   Envoyer un message privé Réponse avec citation 15
Vieux 02/10/2012, 12h41   #11
Gugelhupf
Membre éclairé
 
Homme
Développeur informatique
Inscription : décembre 2011
Messages : 236
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2011
Messages : 236
Points : 332
Points : 332
Citation:
Cela ne serait-il pas plus simple qu'ils s'y mettent tous afin de refaire une spécification claire de la prochaine version de ce langage ?
Encore faut-t-il que les navigateurs suivent et respectent un certain standard.
Gugelhupf est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2012, 12h44   #12
camus3
Membre émérite
 
Inscription : juillet 2010
Messages : 602
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 602
Points : 900
Points : 900
Citation:
Cela confirme surtout que beaucoup de dev ont besoin d'être assisté. Heureusement que Microsoft est là pour leur vendre les outils nécessaires pour faire correctement leur travail, hein. Ce n'est évidemment pas la faute du dev, mais c'est celle du langage s'il ne réussit pas à faire ce qu'il veut...
Si le langage de base n'est pas adapté à la tache forcément , les développeurs travaillent avec autre chose. C'est bien pour cela que ES6 introduit les modules et les classes ainsi que les "structs" qui sont une forme de type , donc ce n'est pas un problème de mauvais développeur , c'est le langage qui dont s'adapter au besoins des développeurs pas l'inverse ,surtout quand il n'y a pas le choix de langage.

Mais ES6 , il arrive trop tard. Surtout sur mobile ou trop de navigateurs sont déja déployés et ont peu de chance d'être compatible ES6. Il est sensé sortir en 2014 , on peut imaginé qu'il sera utilisable en entreprise en 2020...
ES6 aurait du sortir il y a 2 ans , maintenant sur le client c'est trop tard. Personne ne s'en servira avant longtemps , surtout avec des structures non rétro-compatibles comme les proxy ou les générateurs.
camus3 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2012, 12h49   #13
pierre-y
Membre du Club
 
Inscription : décembre 2007
Messages : 64
Détails du profil
Informations forums :
Inscription : décembre 2007
Messages : 64
Points : 47
Points : 47
Bonjours,

Je me pose pas comme un expert. Je programme de manière épisodique.
Mais entre Google, Microsoft et surement appel bientôt qui sorte leur propre standard, est-ce que tout ceci n'est pas en train de devenir une machine a gaz?
pierre-y est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2012, 12h52   #14
Thiht
Invité régulier
 
Inscription : août 2012
Messages : 7
Détails du profil
Informations forums :
Inscription : août 2012
Messages : 7
Points : 8
Points : 8
Citation:
Envoyé par wanou Voir le message
Cela confirme surtout que beaucoup de dev ont besoin d'être assisté. Heureusement que Microsoft est là pour leur vendre les outils nécessaires pour faire correctement leur travail, hein. Ce n'est évidemment pas la faute du dev, mais c'est celle du langage s'il ne réussit pas à faire ce qu'il veut...
En l'occurrence le problème vient bien du langage, on a un langage qui était vraiment bien pour du scripting de sites web, bien que l'orienté objet à prototype soit déstabilisant pour les nons-habitués, mais pour les projets importants qui voient le jour (avec canvas par exemple), c'est une catastrophe architecturale. Quand on compare syntaxiquement l'AS3 au JavaScript y a pas photo, JS en l'état ne peut clairement pas prétendre à le remplacer.
Thiht est déconnecté   Envoyer un message privé Réponse avec citation 21
Vieux 02/10/2012, 13h28   #15
camus3
Membre émérite
 
Inscription : juillet 2010
Messages : 602
Détails du profil
Informations forums :
Inscription : juillet 2010
Messages : 602
Points : 900
Points : 900
Citation:
Envoyé par pierre-y Voir le message
Bonjours,

Je me pose pas comme un expert. Je programme de manière épisodique.
Mais entre Google, Microsoft et surement appel bientôt qui sorte leur propre standard, est-ce que tout ceci n'est pas en train de devenir une machine a gaz?
au final le code généré c'est du javascript parfaitement lisible , donc même si demain MS abandonne typescript , les librairies générées seront toujours totalement utilisables. Maintenant faut il apprendre typescript , coffeescript ou javascript ? débugger son application se fait toujours en javascript donc javascript est obligatoire , cela ne veut pas dire qu'on doit écrire du code js, c'est tout l'intérêt de ces langages.
camus3 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2012, 14h31   #16
hotcryx
Membre éprouvé
 
Développeur
Inscription : mars 2012
Messages : 373
Détails du profil
Informations professionnelles :
Activité : Développeur
Secteur : Communication - Médias

Informations forums :
Inscription : mars 2012
Messages : 373
Points : 437
Points : 437
j'ai du mal à comprendre "interface" (faux-ami?)
Je ne vois pas d'implémentation.

Sinon ça à l'air plus clair.

Dans l'exemple, ils auraient pû employer des Stringbuilder pour les concaténations. Autant donner un exemple correct.
hotcryx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2012, 14h35   #17
Niark13
Membre éprouvé
 
Inscription : mai 2005
Messages : 223
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 223
Points : 425
Points : 425
En gros le javascript est en train de devenir l'Assembleur du web, et on développe des langages par dessus qui compilent tous vers JavaScript.

Je trouve simplement dommage que chaque éditeur fasse bande à part et fasse sa propre solution plutôt que de mutualiser les efforts, ce qui permettrait en outre de mettre JS au placard plus vite...
Niark13 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 02/10/2012, 14h56   #18
wanou
Futur Membre du Club
 
Homme
Ingénieur JavaScript Senior
Inscription : janvier 2004
Messages : 34
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Ingénieur JavaScript Senior
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : janvier 2004
Messages : 34
Points : 17
Points : 17
Citation:
Envoyé par Thiht Voir le message
le problème vient bien du langage
Citation:
Envoyé par Thiht Voir le message
pour les projets importants qui voient le jour (avec canvas par exemple), c'est une catastrophe architecturale
Citation:
Envoyé par camus3 Voir le message
cela ne veut pas dire qu'on doit écrire du code js, c'est tout l'intérêt de ces langages.
Citation:
Envoyé par Niark13 Voir le message
mettre JS au placard plus vite...
Suis-je le seul à être choqué par ce type de remarque concernant JavaScript ?

J'en ai assez d'entendre que ce langage est un mauvais langage. Peu importe le langage, un mauvais codeur produira toujours du mauvais code. L'important est de maîtriser les outils que l'on a, et, désolé pour certains, JavaScript est langage pointu qui permet de faire de belles choses SI on s'en donne les moyens.

JavaScript n'est pas Java ou C++, donc oui, si vous voulez coder en JavaScript il vous faut d'abord apprendre à comment coder proprement.
wanou est déconnecté   Envoyer un message privé Réponse avec citation 45
Vieux 02/10/2012, 15h06   #19
hotcryx
Membre éprouvé
 
Développeur
Inscription : mars 2012
Messages : 373
Détails du profil
Informations professionnelles :
Activité : Développeur
Secteur : Communication - Médias

Informations forums :
Inscription : mars 2012
Messages : 373
Points : 437
Points : 437
il y a qu'en même de grosses lacunes comme le typage.
cela ne peut entrainer que des erreurs d'exécution ou lors de conversion de type. Comme ce fut le cas en VB6 avec les Variant.

un langage ne doit pas permettre de faire tout et n'importe quoi n'importe comment. Il faut un minimum de structure sinon ça devient de la bouillie, du code spagetti...

cela dit, je n'ai rien contre toi et javascript, c'est juste mon point de vue.

je suis du même avis, un mauvais codeur, restera mauvais mais malheureusement on doit parfois reprendre le code d'un autre et c'est là que ça peut coincer si le langage ne met pas des gardes fous
hotcryx est déconnecté   Envoyer un message privé Réponse avec citation 22
Vieux 02/10/2012, 15h31   #20
marts
Membre confirmé
 
Avatar de marts
 
Inscription : février 2008
Messages : 191
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 191
Points : 214
Points : 214
Citation:
Envoyé par hotcryx Voir le message
il y a qu'en même de grosses lacunes comme le typage.
cela ne peut entrainer que des erreurs d'exécution ou lors de conversion de type.
Non, seul le faux développeur qui ne sait pas ce qu'il fait avec ses variables peut entrainer des erreurs d'exécution.

Citation:
Envoyé par hotcryx Voir le message
un langage ne doit pas permettre de faire tout et n'importe quoi n'importe comment. Il faut un minimum de structure sinon ça devient de la bouillie, du code spagetti...
Si, un langage doit permettre à un développeur de faire tout ce qu'il veut. Quitte à permettre aussi aux faux développeurs de faire des applis buggées et instables.

Citation:
Envoyé par hotcryx Voir le message
on doit parfois reprendre le code d'un autre et c'est là que ça peut coincer si le langage ne met pas des gardes fous
Donc on est bien d'accord, le problème n'est pas JS mais les faux développeurs.
Choisis avec qui tu travailles, ça ira mieux.
__________________
11001.00101.10010.10000.00111
marts est déconnecté   Envoyer un message privé Réponse avec citation 15
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 02h26.


 
 
 
 
Partenaires

Hébergement Web