2009-10-08 11 views

risposta

18

Come da risposta ho dato a TheServerSide thread su questo numero ...:

AppFuse mira a fornire un unico supporto iniziale del nuovo progetto. Questo è simile agli archetipi di Maven o alle funzionalità di "nuovo progetto" di Eclipse in quanto le esegui una volta all'inizio di un nuovo progetto e quindi mantieni il codice dello scaffolding in avanti. Il sistema scaffold non ha più alcun coinvolgimento nel tuo progetto una volta eseguito.

Roo, d'altra parte, fornisce un generatore di codice attivo informato round-trip per l'utilizzo a lungo termine su un determinato progetto. Come tale Roo offre valore sia al momento della creazione iniziale, sia quando si modifica il progetto in futuro.

In termini pratici questo significa che durante l'evoluzione del progetto, Roo manterrà automaticamente determinati file. Per fare un semplice esempio, quando aggiungi (o rimuovi) un campo, Roo aggiornerà automaticamente toString, getter/setter, pagine JSP ecc. Offre anche comandi in modo da poter aggiungere nuove funzionalità in seguito. Quindi se hai bisogno di aggiungere sicurezza sei mesi dopo aver creato il progetto, ti basta "security setup". O se hai bisogno di inviare e-mail, solo "http://static.springsource.org/spring-roo/reference/html/command-index.html#command-index-email-sender-setup". Esistono comandi simili per molte altre aree di capacità, come Spring Web Flow, JUnit, Selenium, provider JPA comuni ecc. Si rimanda la decisione solo per quanto tempo si desidera e Roo aggiungerà tali funzionalità solo nel momento in cui si richiede loro (e utilizzerà automaticamente anche quelle nuove funzionalità nel tuo progetto).

Ci sono anche molte altre differenze. Roo consente l'estensione tramite add-ons sviluppato dall'utente, offre un ottimo usable shell, consente di creare un nuovo progetto in modo incrementale e aggiungere funzionalità solo quando richiesto, supporta ampiamente le ultime versioni delle principali tecnologie Spring, viene fornito con uno SpringSource sviluppato (e quindi approvato) application architecture e così via.

Una lettura del Manuale di riferimento Roo Introduction Chapter o semplicemente il completamento del progetto ten minute test illustreranno che sono molto diversi nell'approccio.

0

Per i principianti, roo sembra più sopra ingegnerizzato, con la generazione di codice, l'uso della programmazione orientata agli aspetti e altro ancora.

+2

"over engineered" è di solito considerato una cosa brutta, ma suppongo che non intendevi quello – skaffman

0

appfuse non sembra essere più mantenuto apparente che l'ultima versione è stata rilasciata il maggio 2008.

Roo è in questo momento un po 'di bordo sanguinamento, a causa dell'uso della versione ancora inedita 3 Spring Framework, ma questo cambierà e questa versione apporterà molte modifiche interessanti al tavolo.

Inoltre, consente di ampliare ulteriormente il portafoglio di tecnologie Spring, come STS e tcServer, e rende semplice l'utilizzo di Spring Security e Spring WebFlow.

+0

Il manutentore ha appena fatto un commento sul fatto che AppFuse si aggiorna presto, quindi viene mantenuto, anche se probabilmente non così attivamente. –

+0

"Upsell" è un po 'fuorviante qui, dato che i prodotti Spring che hai citato sono gratuiti. –

+0

E fedele alla sua parola, ci sono stati aggiornamenti ad AppFuse alla fine del 2009, quindi "non è ancora morto". –

6

mie note su AppFuse e Roo:

AppFuse

è un'applicazione di modello/progetto completamente funzionante.

  • tradizionale DAO < -> Servizio < -> Controller Architecture

  • facile iniziare con archetipi Maven

  • ottima documentazione e tutorial

  • Non proprio fino ad oggi. Spring 3 finale è di prossima uscita e AppFuse si basa su 2.5 (?)

Spring Roo

Primavera Roo d'altra parte è uno strumentoche accelera lo sviluppo utilizzando il codice generazione.

  • Primi passi con un nuovo progetto, completamente configurato richiede 1 minuto

  • Crea oggetti di dominio ricchi dove CRUD sono intrecciati negli oggetti di dominio utilizzando AOP invece di DAO tradizionali/servizi

  • hard di cogliere se siete nuovi alla primavera

  • La documentazione non è ancora che una buona

  • Davvero fantastico! Cioè aggiungi Spring Security al tuo progetto con una sola riga di codice!

0

Vado con ROO.

Sono già usando

  • Primavera
  • Primavera ORM/JDBC
  • Spring MVC
  • Spring Remoting
  • STS (Tool-privato)

Così la mia preferenza è SpringSource prodotti, come ho già familiarità con lo stile API, documentati su, convenzioni di SpringSource e anche le loro pratiche di codifica, una volta ho esteso il codice/implementato di sicurezza-quadro .. ;-)

così, il mio consiglio è di andare con lo strumento/quadro che è più naturale per voi ..

Cheers,

0

AppFuse è l'integrazione con Tapestry, Wicket e altri framework Web che Roo non lo fa - ma

1

per me AppFuse ma non è aggiornato, ma il roo molla con aspectj e ci sono parti di codice che non dovresti toccare e non mi piace.

0

AppFuse -> modifica SpringFuse io più Utilizza SpringFuse

1

Spring Roo

Pro. 1.

  1. personalizzabile: È possibile aggiungere e rimuovere quadro differente e addon secondo il vostro requisito.

  2. Database inverso Enginnering: Creare applicazioni CRUD se lo schema del database è pronto.

  3. forte sostegno della comunità di primavera.

  4. NoSQL MongoDB supporto

  5. Impossibile creare il termine add-on.

    Contro:

  6. richiedono una conoscenza approfondita di Aspect e orientata Spring pila.

  7. richiedono poco più tempo per imparare la primavera roo come appfuse rispetto.

appfuse:

Pro:

  1. buona per avviare piccole e medie dimensioni di applicazioni enterprise con
    puntoni, JSF e Spring
  2. completa codice open source.
  3. Basta documentazione.
  4. Twitter-bootstrap pronto.

Contro: Personalizza l'applicazione ma non come Spring roo.

5

Telosys (un generatore di codice leggero) è anche una buona alternativa. Vedere http://www.telosys.org/

Produce codice molto pulito (senza aderenza come ApectJ) ed i modelli sono personalizzabili

C'è una pila di modelli progettati per generare applicazioni web Spring MVC (e molti altri per generare il codice per altri tipi di quadri).

0

La domanda è: alcuni anni e nel frattempo ci sono nuovi strumenti di produttività che voglio sottolineare:

Generjee. Generjee è uno strumento completo online. Definisci online i tuoi requisiti e il modello di dati (facoltativo). Quindi ottieni il codice generato come download.

Il codice generato è indipendente dalla generjee.Lo strumento è utile per avviare progetti di sviluppo da una base di codice full stack integrata.

generjee genererà per voi:

  • codice APP in base al modello di dati
  • codice JSF per creare, leggere, modificare, filtrare, ordinare ed esportare dati
  • gestione degli utenti, la registrazione e il login
  • tuoi ruoli utente definiti e le autorizzazioni di accesso specifiche per questa ruoli
  • supporto I18N
  • file di
  • caricati supp ort

Forge. Per descriverlo in poche parole, è "come Roo". Ma Forge non è così forte basato su Spring e AspectJ come Roo.

Problemi correlati