Domanda

Sto pensando di utilizzare Grails per un nuovo sito web, ma sono aperto ad altre nuove lingue e quadri / programmazione. Ho fatto di sviluppo utilizzando J2EE / JSF2, ASP.NET e PHP. È Grails o Ruby on Rails o meno il modo migliore per ottenere la funzionalità rapidamente operativi?

Alcune considerazioni iniziali:

  • Django è simile a RoR / Grails e io considero
  • GWT è un concetto interessante, ma non sembra come il tempo di risposta è abbastanza veloce

Grazie, -Jon

È stato utile?

Soluzione

Come per tutte le domande di questo tipo, la risposta è "dipende". I fattori da considerare comprendono come si sta comodi con la lingua / quadro e quali caratteristiche il progetto richiede. Detto questo, ho siti utilizzando un certo numero di quadri costruito, ognuno con le proprie forze e debolezze:

Grails

Se ho bisogno di ottenere un sito in fretta per qualcosa di professionale , Grails probabilmente sarebbe la mia prima scelta. GORM è di gran lunga la più semplice e intuitivo ORM che ho provato, il paradigma MVC è molto ben eseguito, c'è 0 configurazione per iniziare a scrivere codice (senza preoccuparsi di URL, patch DB, qualsiasi cosa), molto rapida iterazione (solo aggiornare la pagina), perfetta integrazione Java (una buona cosa nel mondo degli affari), e alcuni meravigliosi plugin (ad esempio, Searchable è una cosa di bellezza). Il più grande svantaggio è che 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 comunità più grande, così le risorse on-line (documentazione, FAQ, esempi di codice, ecc) sono molto abbondante, ci sono tonnellate di plugin, Ruby è un po 'più flessibile / espressivo / "funky", ed è molto più facile trovare di 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 corse in problemi non banali su ciascuno di essi), non v'è un po ' di più di configurazione / spese generali di Grails (in particolare, si tratta di routes.rb e tonnellate di file di migrazione db), e apparentemente, RoR ha alcuni seri problemi di scalabilità.

PHP (compreso il quadro CakePHP)

Se ho bisogno di fretta mod qualcosa o costruire un sito per personale usi, allora probabilmente sarei andare con PHP. PHP è di gran lunga la lingua più facile da imparare e implementare: scaricare qualsiasi dei convenienti pacchetti LAMP là fuori, fare clic su un paio di volte, e iniziare a smanettare. La comunità è più grande di quella di RoR, quindi la documentazione è abbondante e ci sono innumerevoli plugin (facilmente "installati" semplicemente cadere nel file php e aggiornare la pagina). Il linguaggio è semplice da imparare, ma alcune cose in PHP sono solo decisamente strano e ci vuole un sacco di disciplina per evitare brutte codice. Il quadro CakePHP impone un bel MVC paradigma per aiutare a mantenere le cose ordinate, e per la maggior parte è alla pari con RoR, anche se ho trovato personalmente un po 'più intuitivo.

Java (servlet, JSP, JSTL, puntoni, Velocity)

Ho costruito molti siti utilizzando le tecnologie Java Servlet, e posso onestamente dire che non v'è alcuna ragione buona per prenderli per qualsiasi nuovo sito al giorno d'oggi. Hanno una ripida curva di apprendimento, tonnellate di configurazione a combattere con (l'inferno XML), lento iterazione a causa della necessità di ridistribuire roba tutto il tempo (a meno che non si utilizza JRebel), verbose codice e nessun "omaggi" in termini di funzionalità. Ho giocato in giro con il Play! Quadro e Primavera Roo un po 'ed entrambi stanno facendo alcune cose molto cool, con più o meno il codice Java "puro" e sono merita di essere esaminata ulteriormente.

Altri suggerimenti

Quando si utilizza CakePHP, posso girare su una web app più veloce di ... una ... veramente veloce ragazzo. In ogni caso, è veloce. Rilasciare i file nella cartella root del server web, configurare due file (circa tre righe ai cambiamenti in ciascuna). E iniziare a scrivere codice.

A causa favorisce convenzione sulla configurazione ci vorrà una certa esperienza per garantire che è configurato in modo ottimale, ma vi garantisco che con uguali livelli di esperienza, sport CakePHP la rapida implementazione massimo da qualsiasi quadro, probabilmente periodo .

Detto questo, il progetto CakePHP originale era un clone PHP di binari (non lo è più), quindi sono sicuro che le rotaie è veloce da installare pure.

Ho lavorato con ASP.NET MVC quadro per qualche tempo, e ho trovato ad essere un quadro davvero buona. Estremamente facile da usare, soprattutto se si ha familiarità con .NET. Il quadro è cresciuta rapidamente dal suo rilascio nel 2009, anteprima MVC 3 è stato rilasciato al pubblico di recente. Penso che MS sta facendo tutte le cose giuste con il framework ASP.NET MVC.

Non ho usato tutto, ma Rails è maledettamente veloce. Mi aspetto Grails è troppo in quanto incarna la filosofia DRY abbastanza bene. Non so abbastanza di altri framework linguaggio dinamico da dire.

Anche con buone strategie di generazione di codice miei ASP.NET (webforms) non sembrano così efficiente.

ho sguazzato in Django e Rails e trovato Rails a più di mio gradimento. Detto questo, io 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 quello che ti piace. Ho sentito da molte persone che Ruby è divertente, non a me non lo è. C # è divertente! Haskell è divertente! Se non vi piace il linguaggio / framework allora non sarà veloce come un "lento" quadro che ti piace.

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