2010-03-14 15 views
6

Ho lavorato troppo a lungo con PHP e mi stavo annoiando. Voglio anche imparare una nuova lingua.Rotaie o Sinatra? Quale è buono per iniziare l'apprendimento per un programmatore PHP?

Sto usando Ruby e mi piace. Devo decidere tra Rails e Sinatra, quindi quale consiglieresti? È vero che Sinatra non può essere utilizzato per creare app complesse, ed è solo per le app semplici?

+0

È esattamente vero come l'affermazione che Rails non può essere utilizzato per creare app semplici ed è solo per applicazioni complesse. –

+0

Le rotaie possono essere utilizzate per costruire qualsiasi tipo di app web. – fivetwentysix

risposta

8

Vai con Rails, ha molto più documentazione/libri di Sinatra. È anche più "mainstream" e molti IDE trattano i binari in un modo speciale cittadino di prima classe, quindi è una buona idea iniziare da questo.

Mentre uno può scrivere qualsiasi tipo di applicazione su uno dei due, Sinatra è progettato per essere più semplice, quindi su Sinatra un'app per case complessa potrebbe richiedere uno sforzo extra.

+0

Da quello che ho letto finora, Sinatra dà solo le basi e si toglie di mezzo, mentre Rails ti costringe a fare le cose in un certo modo. Quanto è vero? –

+0

In effetti Sinatra fornisce le nozioni di base (routing e controllo in una semplice DSL), ma Rails non "si intromette" a tutti, * au contraire *. E poi, un'app Sinatra può essere incorporata in un'app Rails: http://gist.github.com/81199 – clyfe

+0

significa che non posso usare Sinatra per progetti complessi? –

4

si dovrebbe assolutamente conoscere entrambi, perché sono stati realizzati per scopi diversi. sinatra è un micro-framework per piccole applicazioni. rails è un framework in mvc in piena regola con molti helper per quasi tutto.

direi che sinatra è più facile da imparare se si conosce il rubino, perché è molto piccolo e segue gli idiomi rubino comuni. ma non è molto più difficile imparare anche le rotaie. la documentazione è ottima e troverai molti tutorial e tutorial sul web.

come ho già detto, è davvero bello sapere entrambi in modo da poter scegliere lo strumento giusto per il lavoro.

16

Se sei un "principiante" con Ruby, forse dovresti prima avvicinarti a Sinatra: è davvero piccolo, ben documentato e facile da imparare. Quindi, per applicazioni Web più complesse, dovresti provare Ruby On Rails.

http://railsmagazine.com/issues/5 è un articolo introduttivo PDF gratuito che ho scritto per Rails Magazine.

4

Prima andare con Sinatra. È davvero semplice e facile da capire, oltre a comprendere i principi di base di Rails (architettura MVC, ecc.). Quindi, puoi spostarti su Rails. Inoltre, con la tua conoscenza di Sinatra, puoi scrivere app Sinatra in Rails metal, che può semplificare la creazione di API.

0

Si potrebbe desiderare di guardare Ramaze in aggiunta o al posto di Sinatra. Ramaze sembra sedersi tra Ruby on Rails e Sinatra per quanto riguarda le caratteristiche e la praticità.

+0

oh, ora sono ancora più confuso ... Devo scegliere tra tre, invece di due :( –

8

Oh per favore Oh per favore non iniziare con le guide. È come entrare in battaglia per la prima volta contro una divisione Panzer. Meglio iniziare con alcuni indigeni irrequieti e farsi strada. Ok, questa non è una grande analogia, ma i binari sono un grande successo per l'apprendimento. Puoi ritirare Sinatra molto velocemente e quindi migrare verso le rotaie è un passo ragionevole. Stesse cose solo più utili. Con le rotaie ci sono tonnellate di cose confuse. Aggiungono molte cose sulla lingua, ecc. Se non conosci Ruby e le classi base allora fai solo Sinatra. È veloce, facile e non è necessario conoscere le migrazioni, il rake, ecc.

1

O Rails o Sinatra è una grande scelta di apprendimento.

Ho iniziato a lavorare su un progetto in Rails, dove non sapevo nulla di sviluppo web o Ruby nell'ottobre 2009 (il mio cofondatore mi ha aiutato a superare alcuni ostacoli iniziali e mi ha portato a RTFM). Ho incontrato alcuni problemi, ma ho potuto codificare la logica di business abbastanza facilmente. Recentemente ho iniziato a trasferire un progetto sul motore dell'app e ad usare Sinatra come framework ed è stato un incredibile processo di apprendimento. Principalmente per conoscere tutte le cose che Rails ha fatto automaticamente.È stato anche utile per vedere una definizione semplificata dei membri della classe e il loro metodo di persistenza (le migrazioni sono sfortunatamente una pita, i processi in background per cambiare il formato).

Si consiglia di considerare dove verrà distribuito.

Dato che sono principalmente interessato ad app dirette a basso costo di server, sia Heroku che Google App Engine si adattano bene. Rails/ActiveRecord/Sqlite e Heroku funzionano bene Sinatra/Datamapper/Datastore nel flusso del motore dell'app Google.

Anche le rotaie funzionano correttamente sul motore dell'app, quindi anche questa scelta è aperta. IMO Heroku è un po 'più facile da utilizzare.

Problemi correlati