Le langage Scala s'ouvre au Web
Scala.js permet de compiler du code Scala en JavaScript

Le , par Siguillaume, Community Manager


Les concepteurs du langage Scala ont publié un nouveau compilateur appelé scala.js.
Avec cette nouvelle extension, il devient possible pour les développeurs de créer, totalement en langage Scala, des applications Web.

Les principales caractéristiques de Scala.js sont :
  • Support natif de tous les modules Scala existants ;
  • Très bonne interopérabilité avec du code JavaScript. Il est par exemple possible d’utiliser JQuery ou HTML5 à partir du code Scala.js ;
  • Possibilité de générer des scripts JavaScript Source Maps avec un débogage en douceur ;
  • Bonne intégration avec l’outil de Google, Closure Compiler ;
  • Génération du JavaScript optimisé ;
  • Peut être facilement utilisé avec votre EDI favori pour Scala.


Scala.js introduit certaines bibliothèques spécifiques à JavaScript comme scala-js-jquery, scala-dom et scala-js-pouchdb, ainsi que le support de plusieurs frameworks, à l’instar des frameworks de test comme Utest et MiniTest, pour faciliter le développement d’applications Web robustes.

La documentation sur scala.js est assez fournie pour une prise en main en souplesse de ce compilateur. En plus, l’équipe de développement a mis en place un groupe de discussion et un salon de chat pour vos questions et vos retours d’expérience.

Il convient aussi de remarquer qu’avec la portabilité que lui apporte son exécution dans la JVM (Java Virtual Machine), et sa simplicité dans la programmation orientée objet, Scala consolide sa position face au géant Java, jugé par certains développeurs, trop exigeant par sa verbosité. D’ailleurs, la transition de Java à Scala, est facilitée par la capacité d’évoquer du code écrit en Scala à partir de programmes écrits en Java.

D’après Graham Tackley du quotidien britannique The Guardian, « Scala permet de faire plus, avec peu de code. Il apporte une bouffée d’air frais aux développeurs. »

Supporté en environnement Microsoft .Net, Scala présente un fort potentiel d’interopérabilité qui peut aller jusqu’au développement d’applications mobiles pour les différents systèmes d’exploitation mobile : Android, Windows Phone et iOS.

Pour rappel, Scala est le produit de longues années de recherches du professeur Martin Odersky de l’École polytechnique fédérale de Lausanne. Son objectif initial était d’unifier la programmation orientée objet et la programmation fonctionnelle, avec un typage statique.

Source : Site officiel de scala.js

Et vous ?

Utilisez-vous Scala ? Que pensez-vous du langage et de son ouverture au Web ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de yahiko yahiko - Rédacteur/Modérateur https://www.developpez.com
le 26/03/2015 à 11:53
Du peu que j'en sais, je ne pense que du bien de ce langage, en tant que tel.

Maintenant, la clé s'il veut percer dans le Web, c'est l'interopérabilité avec les bibliothèques JavaScript déjà existantes.
Est-ce qu'il est facile de réutiliser une bibliothèque JS dans un projet Scala ? Là est tout le défi.
Avatar de xurei xurei - Membre averti https://www.developpez.com
le 26/03/2015 à 15:10
Excellente nouvelle ! Il ne reste plus qu'à avoir un compilateur vers du asm.js, et ce sera Noël toute l'année !
Avatar de sjrd sjrd - Expert éminent https://www.developpez.com
le 26/03/2015 à 17:36
Citation Envoyé par yahiko
Maintenant, la clé s'il veut percer dans le Web, c'est l'interopérabilité avec les bibliothèques JavaScript déjà existantes.
Est-ce qu'il est facile de réutiliser une bibliothèque JS dans un projet Scala ? Là est tout le défi.
Déjà résolu. Scala.js a une excellente interop avec JavaScript. Rien à voir avec GWT, PureScript, ClosureScript, ou même Dart. Il va bien au-delà de ça.

Quelques exemples avec DOM : http://scala-js.github.io/scala-js-dom/
Mais ce n'est pas réservé au DOM ou à quelques bibliothèques sélectionnées. Ça marche avec n'importe quelle bibliothèque JavaScript.

Citation Envoyé par xurei
Il ne reste plus qu'à avoir un compilateur vers du asm.js, et ce sera Noël toute l'année !
asm.js est totalement non pertinent pour Scala.js. Il est prévu pour des langages à gestion de la mémoire manuelle, tels que C. Pas du tout pour des langages garbage-collectés. C'est expliqué dans la FAQ.
Avatar de yahiko yahiko - Rédacteur/Modérateur https://www.developpez.com
le 26/03/2015 à 18:57
Intéressant. En effet la manière de Scala.js de faire le pont avec une bibliothèque JS est très proche de la manière utilisée par TypeScript.
Ca me plaît beaucoup. Je vais ajouter ce langage dans mon radar dans ce cas
Avatar de polaroid62 polaroid62 - Membre habitué https://www.developpez.com
le 27/03/2015 à 10:50
Langage prometteur , là je commence un tuto avec le framework play et les changements apportés par rapport à ce que j'avais pu apercevoir vite fait par le passé sont prometteurs . Pouvoir gérer son appli directement dans le navigateur et gérer ses fichiers dans un IDE si on le souhaite je trouve ça sympa.
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web