I 20 migliori plugin per creare applicazioni Rails

Rails 3 è ormai ad un passo dall’uscita ufficiale e tutti gli autori di plugin e gemme stanno lavorando per garantire la compatibilità dei loro prodotti con la nuova versione del framework.

Tra gli innumerevoli plugin rilasciati dalla comunità Rails, vorrei stilare una lista dei 20 più utilizzati nei progetti di DevInterface.

Autentication

  • Authlogic: sicuramente rappresenta il plugin più diffuso tra le applicazioni Rails 2.x. Il suo rilascio ha mandato in pensione il valido ma verboso RESTful Authentication, pioniere dell’autenticazione durante la release 1.2.x di Rails.
  • Devise: fornisce un’implementazione completa sotto tutti i punti di vista del meccanismo di autenticazione, con supporto per la registrazione, il password recovery e molto altro. La sua modularità, unita al fatto di essere basato su Rack, lo candida a diventare il punto di riferimento per l’autenticazione in Rails 3.
  • Subdomain_fu: ottimo plugin per la gestione dei sottodomini. Date un occhio alla nostra authlogic_subdomain_fu_startup_app per avere un’idea del suo funzionamento assieme ad Authlogic. Rails 3 fornisce nativamente il supporto per il routing condizionale basato su sottodomini, quindi questo aspetto del plugin verrà eliminato nelle prossime versioni.

User Interface

  • LessCSS è una libreria essenziale per scrivere i fogli di stile in modo veloce e DRY. La sintassi fornita da questo framework permette di definire variabili e di includere stili esistenti in altri. E’ inoltre perfettamente compatibile con la sintassi CSS, quindi basta rinominare il file css in .less per essere già a metà dell’opera.
  • More: questo plugin permette di utilizzare automaticamente LessCSS in applicazioni Rails. Unito a Blueprint CSS permette lo sviluppo di templates estremamente gradevoli in modo agile e cross-browser.
  • HAML e Sass rappresentano una valida alternativa ad ERB per il templating dando la possibilità di scrivere pagine HTML in modo conciso e veloce. Anche Sass come LessCSS fornisce un’ottima soluzione per scrivere CSS in modo veloce utilizzando una sintassi concisa e riutilizzabile.
  • Formtastic: plugin fondamentale per creare tutte le form per i nostri model in maniera elegante e funzionale. Da notare come il plugin traduca automaticamente le label degli attributi basandosi sui file di lingua associati ad ActiveRecord.
  • Show_for: è il complementare di Formtastic per la visualizzazione dei nostri models.
  • Paperclip: ottimo plugin per la gestione degli attachments ed ottimamente gestito da Formtastic.

Business Logic

  • Inherited Resources è un eccellente plugin per la scrittura di controllers in modo veloce e DRY. Utilizzandolo si rischia di vedere le proprie classi controller un po’ “vuote”…
  • Active Scaffold: questo plugin è ottimo specialmente per gestire in modo automatico il CRUD di models in eventuali pagine amministrative del sito. E’ facilmente configurabile ed offre una grande versatilità necessaria a gestire tutte le situazioni.
  • CanCan è un piccolo plugin per gestire ACL (access control list) in modo veloce e senza troppa difficoltà. Utile se si vuole limitare l’accesso a risorse senza dover utilizzare soluzioni più complesse.
  • Will_paginate: un must per chiunque voglia paginare il proprio dataset.

Miscellaneous

  • Configatron: grazie a questo plugin è possibile impostare parametri di configurazione della nosta applicazione evitando costanti o variabili globali.
  • Delayed Job, plugin in grado di gestire lunghi processi asincroni da lanciare in background. Utile per la gestione di newsletter.

Testing

  • Cucumber: grande libreria per sviluppare applicazioni Rails seguendo il BDD (behaviour driven development). E’ un ottimo strumento se usato costantemente ed in maniera estensiva ma richiede una curva di apprendimento un po’ elevata. Si rischia facilmente di duplicare features e steps se non si ha una conoscenza di quanto già implementato dagli altri membri del team.
  • RSpec ha rappresentato una rivoluzione nel mondo del testing per la comunità Rails, spostando l’attenzione dal TDD (test driven development) al BDD. Ottimo per testare controllers e models. Le stories sono state soppiantate dalle features di Cucumber.
  • Shoulda: plugin originalmente creato per “simulare” BDD nei Test::Unit ma ottimamente affiancabile a RSpec specialmente nel testing dei models.
  • FactoryGirl, plugin creato come altenativa alle verbose e poco manutenibili fixtures.
  • Mocha: necessario per rendere i test disaccoppiati dal database, fornisce una sintassi chiara per creare mock e stubs dei nostri modelli.

Questa è solo una piccola lista dei plugin disponibili. Probabilmente qualcuno ne sceglierebbe degli altri per la propria top 20; qualcun altro sarà d’accordo con me. Cosa ne pensate?

Condividete le vostre preferenze.



Excellent Quality Die Cut Business Cards Printing at PsPrint.com


Tags: ,


About Stefano

Stefano Mancini is a co-founder of DevInterface.

After graduating in Computer Science, he first specialized in Java/J2EE development by participating in several international projects in the pharmaceutical and banking ambits.

Enthusiast of agile development, like SCRUM for project management and eXtreme Programming for code writing, he then moved to dynamic languages like Ruby and Python.

About DevInterface

We are an information and communication technology agency. Our mission is to provide web application development, design services and communication strategies. We specialize in building web applications with modern and efficient frameworks.

Related Post

14 Responses to “I 20 migliori plugin per creare applicazioni Rails”

  1. [...] This post was mentioned on Twitter by Marco Sanson and Ruby Reflector, Dev Interface. Dev Interface said: New post, "The top 20 plugins to create a Rails applicationI 20 migliori plugin per creare applicazioni Rails" – http://tr.im/VPPE [...]

  2. Sleeptillseven scrive:

    Great list. Thanks

  3. [...] أفضل 20 إضافة تساعدك في إنشاء تطبيقات Ruby on Rails [...]

  4. Antonio Marques scrive:

    To handle asynchronous background processes I would recommend resque (http://github.com/defunkt/resque/). It uses Redis as queue’s backend and is highly stable.

  5. knapo scrive:

    Agree with Antonio, I highly recommend Resque for background processes. Delayed Job is unstable.

  6. Stefano scrive:

    @Antonio, @Knapo: thanks for your suggestion.

    I’ll take a look at resque next time I’ll need some background tasks.

  7. foo scrive:

    It would be useful if you could add
    info on which of these plugins qre
    compatible with Rails3.

  8. Stefano scrive:

    Hi Foo.

    I suggest you to take a look at http://www.railsplugins.org/ to check which are Rails3 compatible.

  9. J-_-L scrive:

    Thank you, for this nice, comprehensive, up-to-date list.

  10. watcha scrive:

    thank you for this. It ’s useful.

  11. Max scrive:

    Many thanks. This shows me that I choose the right plugins for my first real project! It’ often difficult as a greenhorn to make the right choice.

  12. Nice thoughts. Like your web design also. continue the good work.

  13. Christopher scrive:

    Awesome! I’m loving these plugins!

Leave a Reply

Insert code beetween <code lang="ruby"> and </code>

Copyright 2012 DevInterface s.n.c.

DevInterface Blog is proudly powered by WordPress