2010-04-19 13 views
5

Spring mvc ist ein rahmen, der schon lange da draußen ist, es ist gut dokumentiert und bewährte technologie. Viele Websites nutzen den Frühling.frühling mvc vs. naht

Seam ist ein Framework basierend auf JSF - Rich Faces Implementierung. Es hat viele Ajax-basierte Komponenten. Es verwendet einige schwere Sachen wie EJB, JPA. All dies ist anfällig für Fehler und dieses Framework ist so langsam (auf meinem Computer ist es fast unmöglich, etwas zu entwickeln, weil es wirklich langsam ist, vor allem auf jboss) Aber es ist sehr gut für Back-Office-Anwendungen.

Hat jemand Berufserfahrung mit diesen beiden Frameworks? Können Sie den besseren empfehlen? Warum?

Grüße

+0

Mit Seam können Sie POJOs anstelle von EJBs verwenden. Und was ist langsam bei JPA? –

+0

Der gesamte Rahmen ist langsam, nicht jpa. Wenn Sie die einfachste Seite mit ab im Vergleich zu anderen Frameworks testen, erhalten Sie 10 Mal weniger Anfragen. – darpet

+0

Auch für Naht. Ich habe viele Nahtanwendungen produktiv betrachtet. Ich kann leicht Fehler finden. – darpet

Antwort

7

Ich benutze beide: Frühling-MVC (2.5) und Seam

Da Seam verwendet Java Server Faces Technologie (Eine serverseitige basierte Technologie), hinter den Kulissen, Es ist besser für kleine und mittlere Anwendungen. (Jede JSF-View-Struktur wird in der Sitzung gespeichert. Sie können auf der Client-Seite speichern, beachten Sie jedoch die Bandbreitenprobleme).Aber es hat einige Vorteile:

Regel Web-Anwendung verwendet den folgenden Pfad

view >> controller >> service >> domain 

mit Naht, können Sie

view >> service >> domain 

oder sogar (durch Vermittler Muster von Seam-Framework zur Verfügung gestellt mit)

No controller, No service 

view >> domain 

Daneben

  • JSF 2 unterstützt JSR 303 - Bean Validation
  • Sie Wicket statt JSF verwenden können, wenn Sie wollen
  • Unterhaltung und Business Process Management-Unterstützung
  • Verwendung Frühling DI verwenden können, wenn Sie
wollen

Frühlings-MVC

Es verfügt über eine leistungsstarke Web-Tier-Infrastruktur

  • Handler Mapping (Es wählt aus, welche Regler sollte die Anfrage behandeln)
  • Ansicht Resolver (Es wählt aus, welche Ansicht die Antwort machen sollte)
  • Es kann für große Anwendungen verwendet werden
  • Leistungsstarke Datenbindung
  • Frühling 3.0 unterstützt Annotation-basierte Controller (JSR 303 - Bean Validation, kommt bald)

aber ich benutze immer noch nicht Frühling 3.0, weil

  • Durch die Verwendung von (und bei Bedarf erstreckt) MultiActionController, i Konvention über Konfiguration ohne keine XML-Einstellungen erhalten können Ihre Controller (Sie müssen nur, um Ihr MultiActionController als @Component)
  • SimpleFormController bietet ein ähnliches Verhalten gefunden definieren im Frühjahr 3.0 Annotation-basierte Steuerung

...

über den Lernweg, ich denke, beide ähnlich sind.

+2

"Weil Seam hinter den Kulissen Java Server Faces Technology (Eine serverseitige Technologie) verwendet." Können Sie dies bitte beweisen? Yes Seam verwendet JSF und stellt eine Brücke dafür her, aber Sie können Seam verwenden, ohne JSF oder eine der JSF-Funktionen zu berühren. Alles hängt davon ab, welche Filter, Servlets und Interceptor Sie aktivieren. Natürlich gibt es Tonnen von eingebauten Komponenten, die JSF-spezifisch sind, aber das gleiche gilt für Sicherheit, Feder, REST, etc. –

+0

@Shervin Sie haben Recht, wenn Sie sagten: Es kommt darauf an, welche Filter, Servlets und Interzeptoren, die Sie aktivieren. Aber beachten Sie, dass ich stattdessen Wicket aufgenommen habe. –

+0

@ArthurRonaldFDGarcia - Verwenden Sie Naht integriert mit Spring oder allein? – ziggy

1

Ich habe beruflich mit Seam gearbeitet, und es ist ein Killer-Framework. Es steigert wirklich Ihre Produktivität. Sie können POJOs anstelle von EJBs verwenden, wenn Sie denken, dass EJBs Sie verlangsamen. Über die Bereitstellung sollten Sie nur die Bereitstellung an Tomcat anstelle von JBoss in Betracht ziehen. Auf meiner Maschine ist die Umschichtung in Tomcat in ein paar Sekunden erledigt. Aber ich habe immer noch Spring MVC verwendet, um sie zu vergleichen.

+0

Haben Sie Probleme mit der Rücktaste? Meine Kunden stören das wirklich. – darpet

+0

Die Verwendung der Zurück-Schaltfläche sollte in Webanwendungen veraltet sein. Es sollte nicht für den Programmablauf verwendet werden. Ansonsten ist Seam eines der wenigen Frameworks, das dir mit dem Zurück-Button hilft. http://www.redhat.com/docs/manuals/jboss/jboss-eap-4.2/doc/seam/Seam_Reference_Guide/Pageflow_in_Seam-Seam_and_the_back_button.html –

+0

Welche ide verwenden Sie? Benutzt du jpa? – darpet

1

Wir haben für eine sehr große Website mit Seam POJOs und kommuniziert mit Web-Services oder auf Tomcat bereitgestellt wintern. Wir haben festgestellt, dass die Unterstützung für die Rückseiten-Schaltfläche nicht gut funktioniert oder für Implementierungsmuster spezifisch ist. Darüber hinaus besteht die Tendenz, dass Sitzungen bei Verwendung des serverseitigen Status sehr groß werden. Versuche, die Sitzungsgröße zu reduzieren, wirken sich auf die Unterstützung von Backbuttons oder die Verwendung von iFrames aus, da die Anzahl der in der Sitzung gespeicherten Ansichtsstatus reduziert wird. Mehr oder weniger, unser Thema war alles leistungsbezogen. Der Tomcat benötigt mehr Speicher und unterstützt weniger Benutzer im Vergleich zu einem Struts 1.2 oder Spring Mvc. Wir verwenden ungefähr 50 Tomcats, um unsere Benutzerbasis zu unterstützen.

0

Ich habe verwendet beide Seam 3 und Spring 3 frameworks.While Seam 3 einfachen Code ist und Session-Management und Transaktionsmanagement eine Menge Funktionen unterstützen, ist die Leistung langsam .Frühling ist viel schneller.