2010-11-12 3 views
7

Abbiamo un'app che deve essere eseguita in un app server Java. Devo sviluppare una webapp per farlo. Ho iniziato a leggere su Ruby on Rails, e mi piace molto l'approccio: MVC, convenzione sulla configurazione, tonnellate di cose per te.Come sviluppare applicazioni web Java in un modo simile a Ruby on Rails?

Posso sognare il sogno impossibile, ma ci sono strutture di sviluppo Java per applicazioni web che funzionano in modo simile?

JSP diritto è misero, poiché la logica e la presentazione sono miste. Semplici sistemi di template, come Velocity e Freemarker, non fanno il database. Non so molto di primavera.

Tutti qui conoscono Java e non abbiamo tempo prima del prossimo ciclo di rilascio per imparare una lingua e una biblioteca completamente nuove, altrimenti mi piacerebbe immergermi in RoR in modo serio.

risposta

9

Non impossibile. È già stato fatto.

Ecco alcuni Java-equivalenti:

Tutti sono prodotti di SpringSource. Se stai prendendo sul serio lo sviluppo web Java, ti consiglio vivamente di dare un'occhiata.

Grails è stato effettivamente ispirato da Rails, da cui il nome, quindi vedrete molte somiglianze nelle caratteristiche e nei paradigmi tra i due, incluso MVC, convention-over-configuration e generazione di codice. Quindi, se stai cercando di entrare nello sviluppo di Rails in Java, consiglio vivamente Grails. Devo notare che Grails ha più funzionalità di Rails, alcune delle quali credo che Rails dovrebbe adottare. Un esempio è Grails fornisce un livello di servizio per gestire tutta la logica aziendale. Si potrebbe facilmente implementare un livello di servizio in Rails, ma la sua praticità ci piace molto e, poiché Grails lo include, è più conveniente. Ho saltato tra Rails e Grails una volta, entrambe ottime strutture.

Ricordare che è possibile eseguire lo sviluppo di Rails con Java, tramite JRuby, che non è una cattiva opzione. Ottieni tutte le funzionalità del linguaggio Ruby (v. 1.8), insieme alla possibilità di integrare e utilizzare le librerie Java all'interno del tuo codice Ruby.

SpringRoo è nuovo quadro generatore di codice di SpringSource, in modo da poter utilizzare con il framework Spring per aiutare nello sviluppo di applicazioni agili/rapida.

Grails è effettivamente costruito sopra la struttura di primavera e Groovy. Groovy è derivato da Java che sembra più un linguaggio di scripting e fornisce tutta la bontà della programmazione meta/dinamica che si vede in linguaggi come Ruby e Python. Tuttavia, Groovy ti permette di scrivere anche il codice Java, quindi non c'è bisogno di impararlo, almeno non del tutto.

+0

vale la pena notare che SpringRoo e Spring MVC richiedono ancora un numero piuttosto elevato di annotazioni o configurazioni XML e la creazione del layout. In realtà praticamente tutto dipende da te: Spring Boot sta finalmente apportando altre funzionalità di configurazione a Spring MVC, ma ** ancora **, devi creare il layout della directory, creare modelli e controller a mano e non ci sono principi guida come le convenzioni di 'index'' new'' show' di Rails. 'tl; dr:' puoi ottenere lo stesso risultato in Spring MVC/Roo, ma devi fare tutto manualmente, mentre Rails ha un bel DSL per il routing, molte linee guida e una CLI impressionante – mmcrae

+0

Conosco RoR. Voglio passare a Java per la programmazione Android. Inoltre, voglio sviluppare app web. Quale suggeriresti? Quale è meglio di Spring MVC o Grails? Qual è il migliore per i lavori e tutti? @John – AbhimanyuAryan

2

Dai un'occhiata al Play Framework. Penso che sia il modo migliore per sviluppare applicazioni web Java al momento. Sicuramente il più veloce. Non esiste un ciclo di distribuzione. Salva il codice e aggiorna il browser.

Viene fornito con Hibernate e una serie di funzionalità avanzate che semplifica il processo di sviluppo. Totalmente basato su REST e senza stato.

Aggiungi jQuery e sembra il paradiso del web.