Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Dropbox abandonne JavaScript au profit de CoffeeScript
Et vous, envisageriez-vous une telle migration ?

Le , par Nissa Comet

20PARTAGES

6  0 
Dropbox, le service de stockage et de partage de fichiers en ligne, déclare avoir complètement abandonné JavaScript et avoir réécrit la totalité de son code source pour navigateur dans un langage relativement nouveau appelé CoffeeScript.


Dans leur blog, les développeurs de Dropbox affirment que la migration vers CoffeeScript s’est faite en l’espace d’une semaine seulement. Et ce grâce à l'outil "js2coffee". Ils affirment aussi que grâce à cette migration, ils ont réussi à réduire de 20 % le nombre de lignes de code de l’interface Dropbox. En effet, la nouvelle base de code contient 5000 lignes et 200.000 caractères de moins que le code original.

23 000 lignes de code, c’est ce que compte maintenant l’interface web de Dropbox en langage CoffeeScript. Cependant, CoffeeScript est compilé en JavaScript et les utilisateurs ne verront aucun changement dans l’interface Dropbox après la migration. « Le site fonctionne et se comporte comme avant » rassurent les développeurs sur le blog de Dropbox.

Comparé à JavaScript, CoffeeScript offre une syntaxe semblable à celles de Python ou Ruby. Les développeurs de Dropbox dénombrent parmi les avantages de CoffeeScript un code moins chargé, moins long à taper et une syntaxe plus claire et plus lisible qui utilise les fonctions et les boucles de manière très compacte.

Étant donné que l’utilisateur final de la plateforme Dropbox ne verra aucun changement dans son fonctionnement, la réduction des lignes du code source est-elle un indicateur suffisant pour savoir, si oui ou non, le langage CoffeeScript est meilleur que JavaScript ? Et vous seriez vous capable et surtout curieux de tenter une telle expérience de migration pour vos applications ?

Source : blog officiel de Dropbox

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de le_chomeur
Expert confirmé https://www.developpez.com
Le 20/09/2012 à 20:44
Après avoir lu toutes les réponses , je me rend compte qu'aujourd'hui mal-grès le fait que JS soit un langage devenu incontournable pour tout développeur web , nombreux sont nombreux a le fuir
Pourtant après quelques année de pratique, j'estime connaitre plutôt très bien ce langage et d'autre , et je ne comprend pas pourquoi il est autant décrié, de plus coffescript ne permet qu'une génération de js a partir d'un autre langage , ça me dépasse ....
8  0 
Avatar de marts
Membre averti https://www.developpez.com
Le 19/09/2012 à 13:59
Aucun changement visible pour l'utilisateur, certes, mais si CoffeeScript permet un gain en productivité des développeurs on peut s'attendre à voir un rythme un peu plus soutenu dans les améliorations de l'interface.
6  0 
Avatar de air-dex
Membre expert https://www.developpez.com
Le 19/09/2012 à 16:54
Qu'importe le choix de JavaScript ou de CoffeeScript, l'important est que le JavaScript généré au final soit bon. Ça sert à rien de faire un beau code en CoffeeScript si derrière l'outil qui transforme le CoffeeScript en JS génère n'importe quoi. Mais je ne pense pas que ça soit le cas de js2coffee. Dropbox est devenu trop important pour choisir n'importe quoi comme outil. Cela ne les empêche pas toutefois de rester vigilants sur les performances de l'outil.
5  1 
Avatar de camus3
Membre éprouvé https://www.developpez.com
Le 20/09/2012 à 11:21
Javascript a ses mauvais côtés, mais aussi ses bons côtés :
Le problème est de savoir si les bons cotés sont plus importants que les mauvais cotés.
Coffeescript utilise en fait un sous ensemble de javascript ( pas de with , les switchs obligatoirement disjoints , les variables toujours déclarées avec var , jamais de == toujours des === , etc...)

par exemple :

Code : Sélectionner tout
1
2
3
1=="1" vrai en javascript
1=="1" faux en coffeescript
Au linter de Crockford , Coffeescript passe toujours les 100% , donc le code généré par coffeescript est toujours de bonne qualité et évite les "pièges" de javascript.

Ecrire du code coffeescript , c'est écrire du code javascript de meilleurs qualité , c'est bien ça le problème. On devrait pouvoir écrire du code de qualité sans avoir à faire attention à toutes les "bad parts". Si on prend java ou C# , on peut aimer ou pas les choix de design de langage, mais ces langages n'ont pas de "bad part".
4  0 
Avatar de wanou
Nouveau membre du Club https://www.developpez.com
Le 21/09/2012 à 17:50
Citation Envoyé par p3ga5e Voir le message
Pourquoi, dans le milieu du développement Web, vous subissez de telles contraintes ?

Car des technos serveurs permettant d’écrire en JavaScript ils en existent plusieurs
Comme mon message a mal été compris (en fait je suis d'accord avec toi) je rajoute ceci: JavaScript est la lingua franca du web, alors vouloir passer par une couche supplémentaire pour faire un site web me semble être aberrant. Les outils sont là, et bien documentés en plus, il faut juste savoir les maîtriser (ce qui est notre travail).
4  0 
Avatar de SirDarius
Nouveau membre du Club https://www.developpez.com
Le 19/09/2012 à 22:49
Qu'importe le choix de JavaScript ou de CoffeeScript, l'important est que le JavaScript généré au final soit bon.
J'ai personnellement porté en CoffeeScript une librairie Javascript existante d'un projet sur lequel je travaille, par pure curiosité.

J'y ai trouvé les avantages suivants :

  • code plus concis et facile à lire
  • présence de classes avec une gestion intelligente de this et des variables de classe, à rapprocher de la syntaxe de ruby
  • code javascript généré très proche de ce que j'avais codé à la main auparavant, et même meilleur dans certains cas, n'étant pas un gourou du js


Ce langage est effectivement très intéressant pour les habitués de Ruby comme moi, il y a manifestement eu une inspiration directe de la part de ses concepteurs.
3  0 
Avatar de Joker-eph
Membre confirmé https://www.developpez.com
Le 19/09/2012 à 23:49
Citation Envoyé par air-dex Voir le message
Qu'importe le choix de JavaScript ou de CoffeeScript, l'important est que le JavaScript généré au final soit bon. Ça sert à rien de faire un beau code en CoffeeScript si derrière l'outil qui transforme le CoffeeScript en JS génère n'importe quoi. Mais je ne pense pas que ça soit le cas de js2coffee.
Je ne pas non plus que ce soit le cas de js2coffee puisqu'il fait le chemin inverse si j'ai bien compris.
3  0 
Avatar de p3ga5e
Membre confirmé https://www.developpez.com
Le 21/09/2012 à 16:43
Pouvez-vous développer quels sont les mauvais côtés, lourds et contraignants, du JavaScript ?

Pour ma part JavaScript est devenu mon langage préféré, pourtant au départ j’avais un très mauvais apriori sur celui-ci, avant d’être forcé de l’utiliser. Ce ressentiment été dut à une mauvaise expérience, dans le domaine du développement Web, notamment sur la manipulation du DOM et l’utilisation de Framework obscures.
Pour moi son principal avantage est de pouvoir utiliser des objets sans avoir à les modéliser par des métadonnées, ainsi que la simplicité de la réflexivité de ce langage. Grâce à cela j’ai gagné en productivité et flexibilité, en réécrivant, de C# a JavaScript, des applications lourdes.

Je ne connais pas trop CoffeeScript, j’avoue être rebuté par sa syntaxe, mais un gain de 20% sur le nombre de lignes de code est intéressant, surtout si ça ne se traduit pas par une perte de performance. Bref je vais étudier ca d’un peu plus près.
3  0 
Avatar de grunk
Modérateur https://www.developpez.com
Le 19/09/2012 à 15:03
Je vois pas bien en quoi c'est un abandon de javascript ... c'est juste une manière différente de l'écrire.

Après c'est un avis perso mais la syntaxe coffescript est pas géniale pour les gens habitués à des langages "classiques" type C/C++, JAVA.
Les délimitations à coup d'indentation et non de crochets je suis pas fan.

C'est comme l'objective C , ca doit être une question d'habitude j'imagine ^^
3  1 
Avatar de Louhike
Membre habitué https://www.developpez.com
Le 19/09/2012 à 15:40
Citation Envoyé par alex_vino Voir le message
Intéressant.

Le probleme c'est que je n'ai jamais eu confiance en Javascript alors j'aurais du mal a avoir confiance en quelque chose qui génere du Javascript.
Surtout que CoffeeScript nécessite tout de meme un certain temps d'apprentissage et que le Javascript est rarement extremement utilisé sauf dans des applications spécifiques (tel DropBox), des frameworks comme jQuery simplifiant déja le Javascript.

Peut-etre qu'au final le language Google DART serait plus intéressant que CoffeeScript comme alternative.
Sauf que DART n'est supporté que par Chrome et le restera d'après les déclarations des autres éditeurs de navigateurs.

En tant que fanboy du Python, j'apprécie beaucoup la syntaxe de CoffeeScript. Je ne connaissais pas ce langage et je suis agréablement surpris. Pour les quelques exemples que j'ai pu voir, le langage semble effectivement beaucoup plus lisible et concis que JS.
2  0