Coffeescript côté client : Teatime vs Brunch

Si vous suivez ce blog, vous savez qu’il y a quelque temps de cela j’ai écrit Teatime, une application vide en Coffeescript pour servir de point de départ à n’importequ’elle application javascript côté browser uniquement. Elle présente la structure de base pour écrire son code ainsi qu’un fichier permettant de compiler ce code en un seul fichier.

Entre temps, Brunch, un framework Coffeescript côté client s’est bien développé. A l’époque où j’ai réalisé Teatime, Brunch n’était pas très clair, ou bien je n’avais pas une assez bonne compréhension du problème pour l’appréhender. Il n’était pas satisfaisant. Mais bonne nouvelle, aujourd’hui, il fonctionne bien ! Il faut bien admettre qu’utiliser Brunch est plus clean que d’utiliser Teatime. Brunch gère les dépendances et permet de faire des imports comme en Python en Java. Ce qui rend le code plus propre qu’avec Teatime, qui lui part du principe que tout apparaitra dans le fichier final et n’a donc pas besoin d’imports. Brunch gère aussi l’utilisation de template via le moteur Eco. Enfin la console d’informations est plus classe et plus claire et surtout on se sent mieux “encadré”.

Par contre actuellement Brunch ne gère pas l’aspect tests unitaires.  Ce que Teatime fait. Mais en étudiant les sources du dépot  de Brunch, on s’aperçoit que cela devrait arriver bientôt.  Autre désavantage par rapport à Teatime, Brunch nécessite plus de configuration, même si cela reste léger.

En conclusion, je pense abandonner Teatime pour Brunch dès que celui-ci sera vraiment opérationnel. Et oui je n’en ai pas encore parlé mais la version 0.8 de brunch est buggée : le mode watch (recompilation automatique après chaque sauvegarde)  fonctionne mal et s’arrête inopinément. Toutefois, je pense que la communauté Brunch va régler ce problème rapidement.

Pour Newebe, je compte à terme passer la partie client sous Brunch. En attendant je m’exerce à ce framework, ainsi qu’à Express (un framework web serveur pour node.js) sur le projet Ponyo. Ce dernier est sans intérêt dans ses fonctionnalités, mais me permet de me former/perfectionner à Node.js et certains de ses composants que sont Express, Coffeescript, Jasmine, Coffeekup, Mongoose et bien entendu Brunch.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: