Dès le début, Scala est venu avec un outil très pratique : le REPL.

Cet outil permet d’exécuter du code en live. Très utile dans une phase d’apprentissage, ou alors pour isoler une fonction dont on aimerait tester le comportement. Avec le REPL, on peut exécuter du code Scala issu uniquement de la lib standard.

Plus tard avec l’outil de build SBT est venu une version enrichie de ce REPL. Une des valeurs ajoutées par SBT était le fait d’avoir accès à l’ensemble des composants du projet ainsi que toutes ces dépendances.

Dans la même idée, on retrouve également les worksheets, d’abord disponible dans Scala-IDE (Eclipse customisé pour Scala – EPFL). Les worksheets sont une version graphique de la console SBT.

D’après l’adage “on n’arrête pas le progrès”, le Scala center a mis en ligne (~2017) un outil reprenant toutes les fonctionnalités décrie ci-dessus et tout ça dans un navigateur web!

Il s’agit de SCASTIE 

 

Scastie est très pratique et propose des fonctionnalités très intéressantes.

La première, exécuter du code Scala dans un navigateur Web, de manière fluide et naturelle. Le résultat de l’exécution est visible directement dans une console apparaissant au bas de l’écran.

Vous me direz, quel intérêt face à un terminal ? Et bien l’avantage est que le code peut-être sauvegardé sous forme de snippet (pour cela, il faudra se connecter avec son compte Github) et l’effet collatéral à cela est que cela rend le partage beaucoup plus facile 🙂

On vient de voir la partie émergée de l’iceberg. En effet, Scastie donne également la possibilité d’accéder à des Settings (au sens SBT) et de pouvoir configurer différentes choses :

  • La target que l’on vise (Scalac, Dotty, Scala.Js, etc)
  • La version de Scala utilisée
  • les dépendances que l’on souhaite inclure (parmi une liste finie)
  • Modifier des settings du compilateur

Il est possible d’activer le mode Worksheet et également de bénéficier de la mise en forme du code.

Ce petit outil peut s’avérer très intéressant autant pour le débutant désirant tester des choses dans le cadre de son apprentissage, que pour le développeur Senior qui souhaite tester un bout de code ou partager une solution avec son équipe.

Si vous voulez tester, c’est par ICI