Je recrute

Je cherche un job

Le framework Hanami

Hanami est un framework web écrit en Ruby. Il facilite donc le développement d'applications web en accélérant les phases de développement. Relativement jeune par rapport aux autres principaux frameworks Ruby, il présente des qualités lui valant un certain engouement de la part des développeurs. Structuré et modulaire, il met avant tout l'accent sur la performance. Cela en fait un allié de choix pour les entreprises dont les besoins évoluent rapidement et celles qui ont des projets d'extension.

Histoire d'Hanami

Luca Guidi est un développeur italien professionnel depuis 2004. Il est aussi un expert de Ruby et son principal framework, Ruby on Rails. Fort de ses expériences, il commence à développer, en 2013, son propre framework. Il porte alors le nom de Lotus. Le projet évolue, se complète, et devient Hanami en 2016.

Hanami est un mot japonais qualifiant la tradition ancestrale célébrant le printemps. Elle qualifie la joie de regarder fleurir les arbres, généralement les cerisiers ou pruniers. Le japonais s'est imposé en référence à Ruby et son développeur, Yukuhiro « Matz » Matsumoto, lui-même originaire du Japon.

Au fil des ans, Hanami s'est enrichi de mises-à-jour régulières. Le framework dispose également d'une large communauté qui lui permet de disposer d'une documentation fiable et détaillée. Il est en effet distribué sous licence MIT, une licence libre et open source.

Spécificités qui pourraient vous faire choisir Hanami

Côté technique, Hanami est similaire à Ruby on Rails, avec une approche MVC (Modèle-vue-contrôleur). Il sépare toutefois la classe modèles en deux parties distinctes, ce que ne fait pas Ruby on Rails. Framework complet, il encourage les bonnes pratiques pour un code stable et lisible.

Ce qui fait le réel atout d'Hanami, c'est son approche modulaire. Il se compose en effet de différentes parties qui sont interchangeables. Cela permet de séparer la logique en plusieurs petits modules, plus faciles à maintenir. Chaque partie de la bibliothèque peut ainsi s'utiliser indépendamment, sans devoir embarquer la totalité du framework.

L'équipe principale de développement met en avant sa volonté de proposer un framework optimisé pour la performance. En travaillant à un outil de conception simple et léger, le but recherché est de permettre aux équipes de développement de mettre leurs projets en production plus rapidement. Le code est donc plutôt court et simple à lire, la plupart des lignes étant en fait des commentaires, utilisés pour documenter les fonctionnalités.

Pour optimiser un peu plus encore ses performances, Hanami utilise les RDC (ou CDN en anglais, pour Content Delivery Networks). Ces réseaux de diffusion du contenu permettent d'afficher les résultats plus rapidement et donc d'améliorer l'expérience utilisateur. Cela lui vaut des performances plutôt meilleures que la plupart des autres frameworks Ruby.

Pour quel projet l'utiliser

À l'échelle de l'entreprise, Hanami s'impose tout d'abord pour les projets demandant une certaine flexibilité. Là où les gros frameworks comme Ruby on Rails imposent un package complet regroupant nombre de fonctionnalités, Hanami permet de n'utiliser que les parties utiles à un développement web donné. Grâce à cette spécificité, il permet une économie de code et donc des programmes plus légers, au moins pour les projets de petite taille.

Hanami s'avère également comme un allié de choix pour les projets amenés à évoluer. Si une entreprise a besoin d'une petite application, mais sait qu'elle peut être amenée à grandir, Hanami doit également figurer parmi les choix possibles. Toujours grâce à son système de modules, le framework permet de très facilement ajouter des fonctionnalités au fur et à mesure que les besoins évoluent.

Considérez enfin l'utilisation d'Hanami pour vos développements professionnels si vous disposez d'une application existante et avez besoin d'étendre ses actions. Le framework peut alors s'utiliser pour construire un service additionnel sans avoir à modifier le code de base, et ainsi ajouter très facilement une nouvelle fonctionnalité à un site Internet ou une app existante.

3 autres articles en lien avec cette page :