Domanda

Lavoro in un team medio-piccolo (10 persone) sviluppando e supportando diverse applicazioni web enterprise.

Ne abbiamo dozzine costruite con un framework fatto in casa con asp-classic che lavora contro server ms-sql.

Stiamo valutando la migrazione verso un nuovo stack di sviluppo.

Vorremmo che fosse aperto (gratuito) e semplice.

Mi sono guardato intorno ai framework web java, ma sembrano tutti estremamente esagerati per le nostre esigenze (con la possibile eccezione di http://www.playframework.org/ , che non potevo ancora studiare ...)

Stiamo pensando di trasferire il nostro framework su questo nuovo stack, piuttosto che adottare uno stack completamente nuovo di cui non siamo a conoscenza ...

finora, abbiamo pensato alle seguenti possibilità

  • plain java - jsp - jsf

  • groovy - gsp (nessun graal)

  • jruby (nessun binario)

ci sentiamo davvero a nostro agio a lavorare con linguaggi dinamici (beh, dinamici come può essere un asp classico) e con un framework snello e comprensibile ...

Non vedo framework web piccoli e semplici per java, come ce ne sono per php o ruby ??...

Mi piace molto groovy, ma non vedo implementazioni web al di fuori dei graal ... Inoltre la documentazione linguistica non sembra essere completa (forse potrei guardare nel posto sbagliato, forse)

php potrebbe essere un'opzione, ma penso che sarebbe difficile sostenerlo nel mio lavoro attuale ...

qualsiasi altra opzione, consiglio, pro e contro?

grazie mille

- modifica

alcuni link correlati Qualcuno può consigliare un semplice web Java- framework dell'app?

È stato utile?

Soluzione

Non posso raccomandare nulla, ma consiglio vivamente di considerare queste cose:

  • Sviluppo rapido. Fondamentalmente si desidera salvare un file di paging e ricaricarlo nel browser. Immediatamente! Si può fare, non accontentarsi di lunghi tempi di spiegamento.
  • File di testo semplici e leggibili!
  • Codifica di convenzione anziché codifica esplicita: i file XML di grandi dimensioni alla fine faranno impazzire uno o più sviluppatori. Meno è, meglio è.
  • Buon supporto degli strumenti (solo avere una colorazione della sintassi può essere di grande aiuto)
  • Considera il supporto a lungo termine di tua scelta. Fondamentalmente ti stai risposando con il tuo software - sarà ancora mantenuto tra 10 anni? Da chi? Avrai alternative (i JSR sono fantastici - guarda la quantità di motori servlet)?

E QUANDO si sceglie, procurarsi il codice sorgente e assicurarsi che venga compilato correttamente. Non sarà mai più facile di adesso, e un giorno dovrai riparare qualcosa dentro. Con poco preavviso! (Puoi anche considerare di allocare risorse per la donazione di documentazione / patch / tempo al progetto open source su cui stai costruendo la tua attività).


EDIT: alcune altre cose:

  • Vuoi essere in grado di verificare le cose in fase di compilazione. Una delle cose che rendono possibile la costruzione di cattedrali in Java è che il controllo statico dei caratteri impedisce molti errori di runtime. " Oh, il metodo CHE ? Beh, non è qui, scusa. ! Boom "
  • Vuoi buona segnalazione di errori . Costruito nel! Prova a lanciare una NullPointerException in profondità, in profondità e vedi cosa 1) l'utente e 2) viene detto allo sviluppatore. Tutto ciò che richiede di andare in un file di registro per ottenere i dettagli alla fine causerà chiamate alle 3 del mattino.
  • Controlla la scalabilità dall'inizio. Qualsiasi cliente non banale dovrà farlo e il mondo passerà ai multicore, quindi potresti anche pensarci già adesso. Cosa farai quando tutta la polvere delle prestazioni del folletto magico è stata usata e non è abbastanza: l'applicazione richiede più di una singola scatola.

E leggi questo: http://www.pragprog.com/titles/mnee / release-esso

Altri suggerimenti

Ti suggerirei di dare un'altra occhiata a Grails. Usa il letargo e la molla sotto le coperte, ma per la maggior parte delle situazioni, non è necessario conoscere i dettagli di tali quadri. C'è una grande comunità e un sacco di documentazione / blog / mailing list per il supporto, così come una fiorente comunità di plugin con oltre 300 plugin che risolvono praticamente ogni esigenza.

Se sei ancora scoraggiato dai graal, puoi guardare nel framework di gioco . Non ho alcuna esperienza con esso, ma recentemente c'è stato un po 'di traffico attorno alle notizie sugli hacker e simili. So che usa groovy per il linguaggio del modello.

Ti stai dimenticando dell'altro attore principale in questo campo: LAMP stack (linux, Apache, MySQL e mod_perl). Tutti i componenti sono gratuiti, ci sono molti libri disponibili sullo sviluppo di LAMP e ciascuno di questi componenti, e ci sono un gran numero di librerie e componenti già disponibili.

Se hai paura di Grails e hai bisogno di Java, prova Stripes e leggi l'eccellente libro Stripes ( http: / /www.stripesbook.com/blog/ ). È possibile acquistare l'eBook pdf per $ 23. Il libro copre il quadro con dettagli sorprendenti. Stripes è un framework MVC molto forte e leggero che affronta tutti i problemi comuni dello sviluppo web (modelli, mappatura degli URL, validazione dei moduli, sicurezza, internazionalizzazione, test) ma non creerà automaticamente il livello del database per te a meno che tu non lo voglia utilizzando Stripernate. Puoi anche usare Groovy con esso. Puoi usarlo da solo o con Spring.

Ho avuto un grande successo in semplici progetti Web utilizzando Spring MVC con JST JSTL. Spring MVC è un framework che può essere mantenuto semplicissimo (1 file XML aggiuntivo utilizzato per la configurazione). È possibile evitare tutte le opzioni fantasiose e specificare semplicemente un insieme di JSP che si desidera associare ai nomi delle viste, quindi inoltrarle a tali viste specificandone i nomi nel controller.

Spring MVC può anche facilmente ingrandirsi ed essere complesso quanto basta, permettendoti di passare da JSTL a JSTL con Tiles, o Struts, o JSF o Wicket. Può anche gestire flussi web complessi usando il progetto Spring Web Flow . Ma per la maggior parte dei progetti lo mantengo semplice: crea un JSP JSTL, crea un controller che fornisce gli oggetti di cui JSP ha bisogno e li associa facendo in modo che il controller restituisca quella vista. Una volta impostato il progetto e hai familiarità con la configurazione, occorrono forse un paio di minuti per collegare una nuova pagina in posizione.

Se ti piace Groovy ma non ti piace Grails puoi provare Gaelyk , che è un Groovy leggero struttura. Tuttavia, AFAIK puoi utilizzare Gaelyk solo se stai ospitando l'app sul Google App Engine

Se le tue app non saranno ospitate su GAE e non vuoi davvero usare Grails, un'altra opzione è usare Groovlets , Servov template Groovy , SPG.

Tuttavia, personalmente penso che sia un grosso errore respingere Grails. È davvero un ottimo framework e puoi fare molto, senza sapere molto di Spring e Hibernate. Una delle tue lamentele è la mancanza della documentazione di Grails. Penso che tu abbia cercato nel posto sbagliato, perché oltre a tutti i libri disponibili, c'è un documento di riferimento e molta altra documentazione disponibile sul sito web . Infine, esiste una molto attiva .

La mia piattaforma preferita è JRuby - Rails (3) per il suo ecosistema molto ricco e potente, ma principalmente perché:
* molto facile da usare
* molte MOLTE biblioteche
* supporto rapido via IRC
* documentazione approfondita

Puoi anche dare un'occhiata a Scala + Lift Web Framework (imho il miglior linguaggio tipizzato statico, bel framework)

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