Installation de Vert.X avec Scala
La troisième édition du concours Code Story est dans les starting blocks 1. Comme ce concours n’est plus lié à une session de live coding à Devoxx France (oui, je suis trop timide pour coder devant 300 personnes :), j’ai décidé de participer à cette édition 2013.
J’ai en fait plusieurs objectifs :
- Monter un projet sympa avec la team Dictanova + Thomas
- Se former, par un vrai challenge, à un nouveau language (Scala) / une nouvelle technologie (Vert.X)
- Accessoirement, gagner :)
Depuis la présentation de Code Story Saison 3 à la mi-septembre au Jug Summer Camp à La Rochelle, j’ai commencé à jouer sérieusement avec le framework Vert.x combiné avec le language fonctionnel Scala.
Je vous propose donc d’installer ce couple diabolique afin de voir ce qu’il est possible de faire avec :)
Installation de Vert.X version 2.x
L’installation de Vert.X est très bien décrite sur le site officiel, mais je vous propose ici un résumé des instructions.
Pré-requis
Les pré-requis sont assez simples :
- N’importe quel OS, Linux, Windows ou encore Mac OS X
- Java 7 (apt-get install openjdk-7-jdk sous Debian & co)
Installation
Sous Linux l’installation de Vert.x se résume à cela (en temps de root) :
# cd /opt/
# wget http://dl.bintray.com/vertx/downloads/vert.x-2.0.2-final.tar.gz
# tar xvzf vert.x-2.0.2-final.tar.gz
# ln -s vert.x-2.0.2-final/ vertx
# chown -R [VOTRE USER] vert.x-2.0.2-final/
La commande vertx est disponible dans le répertoire /opt/vertx/bin/. Je vous recommande d’ajouter la commande vertx dans votre PATH comme ceci :
$> export VERTX_HOME=/opt/vertx/
$> export PATH=$VERTX_HOME/bin:$PATH
Vérification
Pour vérifier que l’ensemble fonctionne correctement :
$> vertx version
2.0.2-final (built 2013-10-08 10:55:59)
Créer un fichier server.js avec le contenu suivant
server.js
1 2 3 4 5 |
|
Il suffit ensuite de l’exécuter avec la commande vertx run
$> vertx run server.js
Installation du module Scala
Le module Scala pour Vert.X permet, comme son nom l’indique, d’utiliser des scripts dans le language Scala au sein de Vert.X. Il autorise ces scripts à accéder a l’API de Vert.X (HTTP, EventBus, DNS, etc…).
Même si la version 1.0 de l’extension Scala pour Vert.x est disponible depuis peun, je souhaitais profiter des dernières modifications et suivre le développement au jour le jour. Je me suis donc mis en tête de récupérer les sources et de construire une version cutting edge :)
Construction de mod-lang-scala
Il faut récupérer le repository GIT du mod-lang-scala. On peut ensuite utiliser Gradle pour le construire et l’installer localement.
$> git clone https://github.com/vert-x/mod-lang-scala.git
$> cd mod-lang-scala/
$> ./gradlew clean install
Une fois le build Gradle exécuté, le module scala pour vertx est alors installé dans votre ~/.m2/repository/
Paramétrage de Vert.X pour Scala
Il faut ensuite déclarer ce module dans la configuration de Vert.X. Pour cela, il faut éditer le fichier conf/langs.properties et ajouter deux lignes supplémentaires :
1 2 3 4 5 |
|
Au premier lancement d’un script .scala, Vert.X ira récupérer le module nécessaire dans votre ~/.m2/repository/.
Vérification
Créer un fichier server.scala avec le contenu suivant
server.scala
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
Essayons maintenant de lancer ce nouveau script Scala avec Vert.X
$> vertx run server.scala
UPDATE: En cas de problème avec la version cuting edge de ce module, il est possible de revenir à la version stable de ce dernier. Pour cela, il suffit d’éditer le fichier conf/langs.properties pour indiquer que l’on souhaite utiliser la version 0.1.0 du module:
1
|
|
Conclusion
Toutes les fonctionnalités de Vert.X ne sont pas encore complètement supportées par le module Scala, mais le module HTTP et Event Bus étant présents, il y a déjà moyen de s’amuser un peu !
-
Le lancement officiel (avec de nouvelles règles du jeu) est prévu à partir du 14 octobre.↩