Wenn Sie heute ein brandneues Java-Projekt mit folgenden Anforderungen starten würden:
hoher Maßstab (20k + Benutzer)
Sie möchten etwas verwenden, das ziemlich ausgereift ist (sich nicht dramatisch verändert) & amp; wird in 3 Jahren keine tote Technologie sein
Sie möchten etwas sehr produktives (kein Server startet neu in dev, speichern Sie den Code und seine automatisch kompiliert und bereitgestellt), Produktivität und Time-to-Market sind der Schlüssel.
eine gewisse Menge AJAX am Frontend
keine Skriptsprache (JRuby, Groovy, PHP usw.), es muss Java sein
muss i18n
Welchen Stack würdest du verwenden & amp; Warum? (wenn ich Stack sage, meine ich, alles Suppe zu Nüsse, so App-Server, MVC-Framework, Bean-Framework, ORM-Framework, JavaScript-Framework, etc ...)
Ich würde einen Java EE 6 Stack verwenden:
(1) Siehe auch:
Für eine traditionelle Java-Webapp, für Ihre Ziele, würde ich mit Streifen als MVC-Framework gehen, da es sehr einfach einzurichten und zu laufen ist, und es spielt gut mit Frühling und Winterschlaf, und hat gute Ajax-Unterstützung.
Im Hinblick auf die Produktivität sollten eclipse dynamische Web-Projekte Ihre Kompilierungs- / Bereitstellungsprobleme lösen. Ich habe es immer mit Tomcat verwendet, aber es sollte auch mit jBoss funktionieren.
Ich persönlich würde tomcat, stripes (mvc), hibernate (orm), spring (falls erforderlich), jQuery (js) und eclipse für die Entwicklung verwenden.
Ich würde gehen für:
Ich würde nicht für JSF gehen ... JSF 2.0 ist viel besser als JSF 1.0, aber stinkt immer noch in einigen Bereichen. In Szenarios, die "gegen den JSF-Weg gehen" (oder besser gesagt, in JSF nicht richtig behandelt wurden), werden Sie definitiv eine Wand treffen.
Ich würde für Spring 3.0 Framework und Spring MVC mit Spring Web Flow gehen, wenn Sie eine komplexe Navigation haben, die Sie steuern möchten. Dadurch haben Sie auch die Möglichkeit, den Webpart auf einem separaten Server (z. B. Tomcat) zu verwenden und die auf Glassfish gehosteten EJBs über IIOP aufzurufen und so zu skalieren.
Wenn Sie vollständige Kontrolle über das Design Ihrer Seiten haben möchten (vielleicht beabsichtigen Sie, einen Webdesigner zu beschäftigen, um das Aussehen und Verhalten zu erhalten), würde ich eine Template-Engine wie Velocity wählen, die gut mit Spring MVC integriert ist und ist Designer freundlich mit den meisten Werkzeugen wie Dreamweaver.
Schließlich kann JQuery einige vorgefertigte Javascript-Widgets wie Kalendersteuerelemente, Popups, Benutzermeldungen und Übergänge verwenden.
Tags und Links java model-view-controller stack frameworks