Domanda

Vorrei usare un framework più leggero di Rails (Sinatra / Ramaze / Camping) ma sono preoccupato che così facendo non sarò in grado di usare molte librerie condivise che sono state adattate a Rails sotto forma di plugin . È una preoccupazione importante o la maggior parte di questi plugin è utilizzabile in diversi framework Ruby?

Ci sono altri potenziali svantaggi nell'utilizzo di un framework Ruby diverso da Rails?

È stato utile?

Soluzione

Puoi comunque usare gemme in tutti i framework che hai citato, quindi un sacco di roba è riutilizzabile. Vuoi scambiare un nuovo ORM, nessun problema. Desideri una messa in evidenza della sintassi shmacy, nessun problema. Rails ha fatto un'enorme spinta per allontanarsi dal vecchio modello di plug-in per utilizzare esclusivamente le gemme.

Se uno degli altri framework soddisfa le tue esigenze, utilizzalo meglio. Tieni presente che quando si tratta di documentazione e binari di campionamento ha di più.

Se stavo imparando Ruby e volessi provare un framework web probabilmente andrei con Rails non perché è migliore, ma perché ha strumenti e documentazione molto migliori.

Altri suggerimenti

La maggior parte dei moduli Ruby utilizzati da Rails (anche ActiveRecord) possono essere utilizzati senza Rails. Ma poi perdi il vantaggio aggiuntivo dell'integrazione fornita da Rails. Potrebbe essere necessario lavorare molto di più per incollare i moduli Ruby al framework di tua scelta. Si noti inoltre che la maggior parte della documentazione sui moduli Ruby utilizzati da Rails spiega solo come utilizzare quel modulo con Rails.

Effetti di rete giocano un po 'di ruolo.

Un problema che si presenta quando si utilizzano altri framework come Sinatra, Camping, ecc. è che le rotaie offrono una struttura comprovata per i file nell'applicazione. I framework più piccoli sono abbastanza aperti e gratuiti.

Questo può essere un aspetto negativo quando lavori con più sviluppatori poiché devi avere conversazioni sulla creazione di convenzioni piuttosto che semplicemente seguirle.

Se si utilizza Ruby da meno di un anno, attenersi a Rails, a meno che non si abbia una necessità molto chiara che è meglio gestita da uno degli altri framework.

I framework più leggeri, in particolare Sinatra, tendono ad essere popolari tra le persone che sanno esattamente di cosa avranno bisogno e non possono permettersi di avere un overhead aggiuntivo dal codice inutilizzato. In sostanza, scegli la tua toolchain, invece di essere generalmente bloccato con ciò che ti dà Rails. (Sì, in Rails, puoi sostituire ActiveRecord, e altri con altre librerie, ma non è esattamente facile.) Quindi i framework più leggeri ti offrono molta più libertà, ma in molti casi hai anche molto più lavoro da fare.

Penso che nessun plug-in di rails funzionerà immediatamente con nessuno dei framework alternativi, ad eccezione dei plug-in ActiveRecord (come act_as_nested_set ecc.) che avranno ancora bisogno di lavori idraulici (impostazione di $ LOAD_PATH e richiesta corretta File). Consiglierei DataMapper per ORM, non solo è molto più veloce di ActiveRecord, ma è anche costruito in modo molto modulare e i plugin sono veri e propri gioielli che puoi facilmente installare. A differenza, i plugin ActiveRecord sono per lo più patch di scimmie che tendono a rompersi con ogni nuova versione.

Sinatra non viene fornito con nessuna "chicca", nessun Rakefile, nessuno scheletro, nessuna sceneggiatura / generazione, ma in realtà è per questo che è stato scritto. Puoi gradualmente "inserire" a " tutte le cose extra. Ci sono anche scheletri per le app sinatra che presentano un layout di base e impostazioni predefinite, potresti trovarli utili.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top