Ruby on Rails / Grails è il framework più veloce per ottenere rapidamente i siti?

10

Sto pensando di utilizzare Grails per un nuovo sito Web, ma sono aperto ad altri / nuovi linguaggi e framework di programmazione. Ho fatto lo sviluppo utilizzando J2EE / JSF2, ASP.NET e PHP. Grails o Ruby on Rails è praticamente il modo migliore per attivare rapidamente la funzionalità?

Alcune riflessioni iniziali:

  • DJango sembra simile a RoR / Grails e lo considererei
  • GWT è un concetto interessante ma non sembra che il tempo di risposta sia altrettanto veloce

Grazie, -Jon

    
posta Jon Onstott 19.11.2010 - 20:32
fonte

5 risposte

13

Come per tutte le domande di questo tipo, la risposta è "dipende". I fattori da considerare includono quanto sei comodo con la lingua / struttura e quali caratteristiche richiede il progetto. Detto questo, ho costruito siti utilizzando una serie di framework, ciascuno con i suoi punti di forza e di debolezza:

Grails

Se ho bisogno di ottenere rapidamente un sito per qualsiasi professionista , Grails sarebbe probabilmente la mia prima scelta. GORM è di gran lunga l'ORM più semplice e intuitivo che ho provato, il paradigma MVC è molto ben eseguito, c'è 0 configurazione per iniziare la codifica (senza preoccuparsi di URL, patch DB, qualsiasi cosa), iterazione molto rapida (basta aggiornare la pagina), integrazione Java perfetta (una buona cosa nel mondo degli affari) e alcuni meravigliosi plugin (ad esempio Stracciabile è una cosa di bellezza). Il lato negativo più grande è che l'hosting può essere difficile da trovare (e costoso).

Ruby on Rails

La mia esperienza con RoR è molto simile a quella di Grails: MVC ben eseguito. Sul lato positivo, ha una community più grande, quindi le risorse online (documentazione, FAQ, esempi di codice, ecc.) Sono molto abbondanti, ci sono tonnellate di plugin, Ruby è un po 'più flessibile / espressivo / "funky", ed è molto più facile trovare hosting (specialmente per progetti personali); sul lato negativo, la gestione delle dipendenze / setup fa schifo (ho usato RubyGems su Windows, Ubuntu, Fedora e OSX e ho incontrato problemi non banali su ognuna), c'è leggermente più configurazione / overhead di Grails (in particolare, si occupa di routes.rb e tonnellate di file di migrazione db) e, a quanto pare, RoR ha alcuni problemi di scalabilità.

PHP (incluso il framework CakePHP)

Se ho bisogno di hackerare velocemente qualcosa o costruire un sito per usi personali , probabilmente andrei con PHP. PHP è di gran lunga il linguaggio più semplice da apprendere e implementare: scarica qualsiasi pacchetto LAMP conveniente, fai clic su un paio di volte e inizia a fare hacking. La community è più grande di quella di RoR, quindi la documentazione è abbondante e ci sono innumerevoli plugin (facilmente "installati" semplicemente inserendo il file php e aggiornando la pagina). Il linguaggio è semplice da imparare, ma alcune cose in PHP sono semplicemente strane e ci vuole molta disciplina per evitare il brutto codice. Il framework CakePHP impone un bel paradigma MVC per mantenere le cose ordinate, e per la maggior parte è alla pari con RoR, anche se personalmente l'ho trovato leggermente meno intuitivo.

Java (servlet, JSPs, JSTL, struts, Velocity)

Ho costruito molti siti usando le tecnologie di servlet Java, e posso dire onestamente che non ci sono buone ragioni per sceglierli per qualsiasi nuovo sito al giorno d'oggi. Hanno una curva di apprendimento ripida, tonnellate di configurazione con cui combattere (XML inferno), iterazione lenta a causa della necessità di ridistribuire tutto il tempo (a meno che non si usi JRebel), codice prolisso e nessun "freebies" in termini di funzionalità. Ho giocato con il Play! Framework e Spring Roo un po 'e entrambi stanno facendo cose molto interessanti con codice Java "puro" più o meno e vale la pena esaminare ulteriormente.

    
risposta data 20.11.2010 - 04:06
fonte
4

Quando usi CakePHP, posso avviare un'applicazione web più veloce di ... un ... ragazzo davvero veloce. Ad ogni modo, è veloce. Rilascia i file nella cartella principale Web, configura due file (circa tre righe da modificare in ciascuno). E inizia a scrivere codice.

Poiché favorisce la convenzione sulla configurazione, ci vorrà un po 'di esperienza per assicurarci che sia configurato in modo ottimale, ma garantisco che con livelli di esperienza uguali, CakePHP mette a disposizione la più rapida implementazione di qualsiasi framework, probabilmente periodo .

Detto questo, il progetto CakePHP originale era un clone di rotaie PHP (non lo è più), quindi sono sicuro che anche i binari sono veloci da implementare.

    
risposta data 19.11.2010 - 21:33
fonte
3

Ho lavorato con il framework ASP.NET MVC per un po 'di tempo, e ho trovato che fosse un framework dannatamente buono. Estremamente facile da usare, specialmente se hai familiarità con .NET. Il framework è in rapida crescita dalla sua uscita nel 2009, l'anteprima di MVC 3 è stata recentemente rilasciata al pubblico. Penso che MS stia facendo le cose giuste con il framework ASP.NET MVC.

    
risposta data 19.11.2010 - 20:42
fonte
1

Non ho usato tutto, ma Rails è dannatamente veloce. Mi aspetto che Grails sia anche perché incarna abbastanza bene la filosofia di DRY. Non ne so abbastanza su altri framework di linguaggio dinamico da dire.

Anche con buone strategie di generazione del codice, ASP.NET (webforms) non sembra efficiente.

    
risposta data 19.11.2010 - 21:30
fonte
1

Mi sono dilettato in Django e Rails e ho trovato Rails più di mio gradimento. Detto questo, preferisco ASP.Net MVC 2 molto meglio di Rails. Sono molto più veloce in MVC (o anche solo moduli web) di Rails semplicemente perché la mia mente "funziona meglio" con C #.

Per me si tratta di ciò che sai e di ciò che ti piace. Ho sentito da molte persone che Ruby è divertente, non per me non lo è. C # è divertente! Haskell è divertente! Se non ti piace la lingua / il framework, allora non sarai veloce come una struttura "più lenta" che ti piace.

    
risposta data 19.11.2010 - 22:10
fonte

Leggi altre domande sui tag