Gérez vos assets comme un chef avec Sprockets et Rails-assets
Vous souhaitez mettre votre solution en avant en haut de cet article ? Contactez-nous
Vous êtes développeur Ruby, et avez du mal à choisir comment gérer vos ressources JS et CSS ? Sprockets, Bower, Grunt, il existe de nombreuses solutions, mais aucune ne m'avait réellement satisfait à 100% jusqu’à que je découvre la ressource que je vais vous présenter aujourd'hui: Rails-assets.
Connaissez-vous Bower ?
Bower est un package manager centré sur les ressources web CSS et JS de vos applications. Imaginez Gem, pip, npm ou composer, mais pour les ressources front-end.
Nés il y a quelques annes, Bower a su s'imposer comme LE package manager pour les assets. La plupart des ressources que vous trouverez fonctionneront avec Bower, et il est possible de faire une recherche dans tous les packages disponibles directement sur ce site. Si vous ne connaissiez pas Bower, je vous conseille vraiment de vous renseigner, c'est un très bon outil.
Sprockets
Sprockets le moyen choisi par Rails pour gérer les assets. Son fonctionnement est assez simple : vous mettez vos ressources CSS, JS, images, … dans les bons dossiers, et Sprockets gere tout seul les compilations (en cas d'utilisation de preprocesseurs), la minification, la gestion des caches, et ainsi de suite.
Seul soucis : Sprockets fait passer les ressources web comme toutes les autres ressources Ruby : par des gems. Ce fonctionnement est évidemment logique (pourquoi utiliser deux packages managers différents pour le même projet ?), mais se heurte à la dure réalité : la plupart des ressources web que vous trouverez seront disponibles avec Bower, et très rarement disponibles et à jour sous forme de Gem.
Rails-assets : le meilleur des deux mondes
Rails-assets est un service web fait pour service de liaison entre les deux autres ressources. Son installation est simple : ajoutez la ligne source 'https://rails-assets.org' a votre Gemfile, puis inserez vos gems avec le nom "rails-assets-libname". Par exemple pour Foundation : gem 'rails-assets-bootstrap'. Et c'est tout, les ressources sont disponibles pour sprockets.
Mon avis
Mon avis sur cette ressource est assez simple : rails-assets sont nécessaires. Je ne vois pas UNE SEULE raison de ne pas l'utiliser si vous utilisez déjà l'asset pipeline de rails.
Cerise sur le gâteau : rails-assets et les assets pipeline sont aussi disponibles pour Sinatra, et donc sur tous les frameworks qui en découle (comme Padrino par exemple)