2010-08-20 16 views
10

Avvio di una nuova app Web con Rails 3. Sono ancora relativamente nuovo allo sviluppo web e mi sono davvero piaciute tutte le risorse Internet disponibili mentre lavoravo in Ruby 1.8.7 e Rails 2.3.5. Qualche consiglio contro usando Ruby 1.9.2 sul mio nuovo progetto?Devo usare Ruby 1.9.2 con la mia nuova app web?

risposta

6

Ho convertito con successo tutti i miei progetti Rails (tranne uno, ma ci sto lavorando) da Ruby 1.8.7/Rails 2.3.5 a Rails 3.0.0 e Ruby 1.8.7/1.9.2 RC2 ed entrambi gli ambienti sono piuttosto stabili.

Fortunatamente, le cose sono cambiate da quando ho pubblicato this question.

Rails

A meno che non hai davvero qualcosa che impedisce di farlo, ho vivamente di iniziare con Rails 3. lo sforzo necessario per aggiornare un'applicazione da Rails 2 a Rails 3 dovrebbe scoraggiare da partire da Rails 2.

Parlando di plugin e gemme, molti sviluppatori stanno iniziando a convertire le loro librerie in Rails 3. Attualmente c'è un livello molto alto di compatibilità. Inoltre, i plugin focalizzati di Rails 3 tendono ad essere molto più potenti per quelli di Rails 2.3, grazie alla nuova API plugin di Rails. Possono caricare le attività, non abusano più delle patch delle scimmie o si affidano agli hack interni.

Inoltre, Rails 3 è proprio dietro l'angolo. A meno che il progetto non venga distribuito in 1 settimana, la versione stabile sarà probabilmente disponibile prima di distribuire il codice. Questo non mi piacerebbe, considerando che attualmente sto gestendo un paio di progetti Rails 3 in un ambiente di produzione e sono piuttosto stabili (Rails 3 RC1, la Beta 4 ha un bug davvero strano nell'ambiente di caching).

Rubino 1.9.2

Rubino 1.9.2 è molto più potente di Rubino 1.8.7. Se questo è un progetto nuovo di zecca, ti suggerisco di usare il ramo 1.9.

In genere, è più semplice avviare un nuovo progetto in Ruby 1.9 piuttosto che convertirne uno esistente.

Ruby 1.9.2 è più veloce, anche più veloce di REE. La maggior parte delle comuni gemme Ruby 1.8.7 funzionano con Ruby 1.9 tranne alcune, come RCov. Ancora una volta, è molto difficile avere una libreria che non funzioni con Ruby 1.9.2.

Se accade, è probabile che si tratti di una libreria obsoleta e una sostituzione migliore è probabilmente disponibile nell'ecosistema Ruby.

Se non riesci a trovare un'alternativa, ricorda che Rails 3 offre un modo eccellente per utilizzare le librerie personalizzate, grazie a Bundler. Puoi biforcare il progetto e chiedere a Bundler di usare la tua forcella. Puoi anche integrare la libreria nei tuoi repository e chiedere a Bundler di caricare la libreria da un percorso.

Conclusione

Dalla mia esperienza personale, sono stato molto felice con Ruby e Rails 1.9.2 3. Questo è di gran lunga il mio ambiente preferito e il mio ambiente di default per i nuovi progetti.

Se non è possibile utilizzare Ruby 1.9.2, provare con Ruby 1.8.7. D'altra parte, vi incoraggio vivamente di iniziare con Rails 3.

+0

Iniziate con Rails3 e Ruby 1.9.2 e ne sono assolutamente innamorato! Tutte le cose che non sono venute facilmente in Rails2 sono uscite dalla finestra e sono state rimpiazzate da buon RESTful lovin di Rails3 come le nuove rotte e la query di ActiveRecord – ScotterC

2

In definitiva dipende da cosa è il progetto. Se si tratta di un progetto personale, e lo si utilizza come mezzo per imparare Ruby/Rails, penso che varrebbe la pena imparare e utilizzare gli strumenti più recenti. Se questo è un lavoro client, o un progetto che il tuo obiettivo principale è solo quello di completare la cosa, 2.3.5/1.8.7 sarebbe probabilmente la scelta migliore, a causa delle risorse che hai menzionato, e molte librerie/gemme di supporto solo lavoro. Dovrai imparare Rails 3/Ruby 1.9.x ad un certo punto, perché è sicuramente il posto dove si trova la community.

Vorrei fare qualche ricerca e vedere quali gemme ti serviranno per il tuo progetto, e assicurarmi che tutto sia supportato se scegli la rotta Rails 3/1.9.2. Inoltre, unisciti all'irc e chiedi in giro all'esperienza di altre persone con qualsiasi gemma in questione.

Posso dirti che ho una piccola applicazione Rails 3/1.9.2 che funziona perfettamente in produzione, anche se è molto piccola e un progetto personale.

+0

Grazie per l'intuizione. Non pensavo alla compatibilità delle gemme. Questo non è per un cliente ma è pensato per una produzione seria. Sono propenso ad andare con esso. – ScotterC

+0

A meno che non si stia utilizzando una codifica di caratteri di fantasia nella propria applicazione, la compatibilità di gem sarà il problema più grande. Un sacco di sviluppatori gem stanno lavorando sulla compatibilità con Rails 3 e la maggior parte delle gemme popolari ha almeno qualcosa che funziona per Rails 3, anche se è beta. – bobbywilson0

+0

Sono d'accordo, più 1.9.2 è stato appena rilasciato quindi potrebbero esserci ancora alcuni bug ... – rogerdpack

1

Si potrebbe desiderare di provare di Ruby 1.9.2 utilizzando RVM

ho usato fuori e sviluppare alcune Rails3 app mantenendo i nostri attuali siti di produzione (fino a Rails 2.2/Ruby 1.8.5). Solo lamentarsi di dover ricordare di avviare RVM su ^^

+0

Love RVM. Rende molto più facile la vita. – ScotterC

Problemi correlati