Archives du blog

Trello, encore un peu de Node.js

Cette semaine (le 13 Septembre exactement), FogCreek a annoncé un nouvel outil. Peut être ne connaissez vous pas FogCreek : c’est la société de Joël Spolsky, aussi fondateur de StackOverflow et auteur de l’excellent blog, Joël on Software.

L’outil s’appelle Trello et sert à gérer les différentes tâches de vos projets, à la manière d’un whiteboard avec post-it que l’on deplace. Vous pouvez créer une nouvelle tache, représentée par une carte, l’assigner a un utilisateur, commenter cette tache, y ajouter une liste de choses a faire (avec une barre de progression qui se remplit au fur et a mesure que chaque item de la liste est effectué). On peut également déplacer ces taches entre les différentes colonnes, y ajouter des pieces jointes, des labels, tout ca avec des raccourcis claviers! Lisez le billet de Spolsky a l’occasion du lancement pour avoir plus de détails sur les usages qu’il est possible d’en faire : FogCreek utilise par exemple un ecran 42 pouces pour afficher Trello dans leurs locaux! Un autre article en français si vous êtes allergique à la langue de Shakespeare.

Mais surtout Trello est gratuit, donc foncez vous inscrire et essayer ! On l’utilise depuis quelques jours sur un petit projet, c’est très pratique et fun.

Si vous avez lu le titre de l’article, vous savez que je ne voulais pas seulement vous parler de l’outil Trello, mais aussi des technologies qu’il utilise. Essayez d’accéder à Trello depuis votre téléphone ou de réduire votre écran : la CSS est très bien faite et s’adapte parfaitement quelque soit la résolution d’écran. Un coup de Firebug plus tard, je me suis rendu compte que de plus ca sentait l’application Node.js à plein nez. Effectivement après quelques recherches plus poussées, j’en suis arrivé à une conclusion qui s’est trouvée confirmer par un employé de FogCreek sur son Twitter.

La stack compléte semble être :

Node.js.

– Module Express.

– Module Async qui permet de faire de l’asynchrone en Javascript (ajoute des focntions map, reduce, filter et du contrôle de workflow).

– Backbone.js et Underscore.js (je vous laisse lire les très bon articles de Philippe Charrière) pour le MVC côté client.

– La partie CSS utilise le module Less (c’est l’objet de mon prochain article).

– Utilisation massive des websockets grâce à Socket.io (vous pouvez le voir en ouvrant de multiples onglets et observer les modifications qui se répercutent – article à suivre également).

CoffeeScript pour simplifier l’écriture du Javascript et JQuery.

– MongoDb avec Mongoose pour les données persistantes.

Redis pour les données non persistantes du type session.

– Pour le debug, Node Inspector est évoqué.

A priori le mot d’ordre chez FogCreek c’est de ne pas utiliser une techno qui a plus de 2 ans : so hype ! Spolsky devrait écrire quelques articles dans les prochains jours sur le pourquoi de ces choix, je vous conseille de suivre le blog de Trello si cela vous intéresse. Dans tous les cas, voilà peut être la killer-app de Node.js.

Edit 19/01/2012 : l’article est enfin sorti et confirme la stack décrite ici, enjoy!

Publicités

TypeSafe : Scala vers l’entreprise et au delà

La semaine dernière a eu lieu l’annonce officielle de la création de l’entreprise TypeSafe et de la mise à disposition de leur stack en téléchargement. Cette stack est conçue pour développer en Scala en entreprise, avec notamment le framework Akka, l’outil de build SBT et des outils pour coder. Que des trucs trendy !

Logo Typesafe

TypeSafe a une équipe assez exceptionnelle, jugez plutôt :
Martin Odersky, créateur de Scala
Jonas Boner, créateur de Akka
– Mark Harrah, créateur de SBT
Victor Klang, développeur sur Akka, speaker a Devoxx .

Comme conseillers de l’entreprise, on compte James Gosling et Doug Lea. Comme investisseurs, des exécutifs de Facebook, Google, Linkedin, Foursquare et Redhat. Bref, du lourd, du très lourd.

TypeSafe veut fournir aux développeurs une stack complète, gratuite et open source pour faire des applications scalables avec Akka pour middleware, et vise notamment les applications “cloud”. Il y aura également une activité de support sur cette stack, ainsi que de la formation et du conseil. Un installeur izpack (excellent produit open source, par le non moins excellent Julien Ponge) vous amène le nécessaire sur votre machine pour vous lancer dans l’aventure !

Scala doit on le rappeler, a été créé il y a maintenant 8 ans, et est en version 2.9.0. Le but avoué de ce langage est de combler les failles de Java tout en s’appuyant sur ses forces. La dernière version amène notamment une amélioration globale des performances et le support des collections parallèles.

Akka est un framework basé sur le modèle de communication par acteur lesquels échangent des messages asynchrones. Viktor Klang était speaker à Devoxx et avait donné un talk très intéressant, qui donne un bon aperçu de la puissance de Akka. Ce talk est d‘ailleurs disponible gratuitement sur Parley’s

Les acteurs sont des processus légers, isolés et non bloquants, qui ne partagent aucun état avec les autres processus. Chaque acteur a une boite aux lettres qu’il utilise pour recevoir les messages des autres acteurs. Ce système permet d’éviter plus simplement les problèmes de deadlock, starvation… Il peut toujours y avoir des problèmes mais il est plus simple de les éviter.

Akka vous offre aussi le support des transactions, des services REST, des Websockets, de Apache Camel, de Spring, de AMQP et de OSGi… Si avec tout ça vous ne trouvez pas votre bonheur !

Une fois l’installation réalisée, un petit tutorial est fourni pour calculer les décimales de Pi, en utilisant Akka depuis Scala ou Java. Le tuto présente également comment installer Scala IDE 2.0, dernière version du plugin pour Eclipse. Le support de Scala s’est bien amélioré dans l’IDE, même si la complétion est encore parfois un peu perdue.

Un récent article sur Akka avec une belle métaphore sur la pièce ‘En attendant Godot’ permet de se plonger plus en douceur dans les concepts du produit.

Un dernier mot, le site de TypeSafe est réalisé avec Play! Framework (comme le site de Mix-it d’ailleurs). Puisqu’on vous dit que c’est trendy !