Welche(s) Framework(s) wären geeignet?

UnkiDunki

Bekanntes Mitglied
Hi,

mir ist bewusst, dass es schon sehr viele Threads zu diesem Thema gibt, die ich mir auch fleissig durchgelesen habe, allerdings ist ne persönliche Beratung doch irgendwie immer hilfreicher und aufschlussgebender und daher stelle auch ich diese Frage:

Welche(s) Framework(s) wären geeignet?

Ich programmiere jetzt schon einige Jahre in Java und fühle mich immer auf der Stelle tretend, obwohl ich zugeben muss, dass es im Vergleich zu meinen Anfängen doch schon ein Quantensprung zu heute ist. Trotzdem habe ich immer noch das Gefühl nie wirklich "guten" Code zu fabrizieren...
Bis heute habe ich mich vor Frameworks gesträubt. Nicht nur in Java, sondern auch in anderen Programmiersprachen und habe so immer das ein oder andere Rad neu erfinden müssen und tue es natürlich immer noch... mit zumeist unmotiverenden und sehr "zweifelhaften" Ergebnissen :)
Kann zwar sagen, dass ich jede Codezeile im Endeffekt selber geschrieben habe, aber sehe das jetzt im Nachhinein irgendwie als Zeitverlust an.

Daher möchte ich mich ENDLICH MAL mit Frameworks beschäftigen, wobei eigentlich der Wunsch schon häufiger aufkam, ich aber immer wieder abgeschreckt wurde, wenn sich die Erfolgserlebnisse nicht recht schnell gezeigt haben...

Mein aktuelles Projekt ist ein Warenwirtschaftssystem bzw, soll eines werden. Irgendwie trete ich, wie schon gesagt, immer auf der Stelle... ab einem gewissen Punkt gefällt mir mein Code nicht mehr und ich verbessere ihn, wodurch ich natürlich schon einiges gelernt habe, aber man halt nicht wirklich voran kommt. Zuletzt habe ich auf MVC umgestellt. Dieses Konzept macht mir wirklich Spass und ist sehr sinnvoll. Vorallem im Vergleich zu meinem vorher frabrizierten Code :) Läuft auch immer besser...

Jedenfalls suche ich vorallem a) ein Framework für die GUI-Erstellung (benutze seit jeher Swing) und b) ein Framework für die Datenbankschicht, also OR-Mapping etc.

Für letzteres könnte ich mir Hibernate gut vorschlagen, aber vielleicht gibt es auch ein gutes Framework, was vorallem diese beiden Geschichten vereint...
Gibt es ein Framework, wozu es gute Tuts gibt und auch mehr oder weniger anfängerfreundlich, will sagen einsteigerfreundlich ist?

Umsteigen auf SWT und dann mit JFace arbeiten? Eclipse RCP wurde mir schon in mehreren Threads nahegelegt... Ja...

Ich weiss, dass es DAS Framework wohl nicht gibt und dass das mehr oder weniger immer eine persönliche Entscheidung ist, da es immer Pros und Contras gibt, aber genau deswegen habe ich diesen Thread erstellt.

Würde mich über Anregungen freuen und stehe für weitere Fragen gerne bereit, die eine Entscheidung meinerseits vielleicht in eine gewisse Richtung lenken könnten :)

Danke im Voraus
 

kay73

Bekanntes Mitglied
Was genau sind denn die Ziele? Geschaeftsanwendung mit Fontend, DB-Layer und Business-Logik?

Wir machen Spring und nutzen sehr viel von den Templates und Hilfsklassen die die zur Verfuegung stellen.

- Alle Komponenten vollstaendig per IoC-Container konfiguriert.
- DB-Layer auf Basis Oracle, ORM mit Hibernate, Transaktionskontrolle a la Spring (AOP), Caching mit EHcache, alles unter Zuhilfenahme der Spring Unterstuetzung.
- Lose Kopplung von Komponenten gern u. a. mit Spring HTTPInvokern.
- Viel eigene AOP, wobei wir unsere Advices direkt von den Spring Basisklassen ableiten. (Keine <aop:proxy auto>-Zeugs)
- Frontend webbasiert mit Spring Webflow2 + JSF, Facelets (allerdings kein Spring WebMVC)
- Sicherung mit Spring Security.
 

UnkiDunki

Bekanntes Mitglied
Hi,

tja... was sind meine Ziele? Da dieses Projekt zu "Übungszwecken" gedacht ist, habe ich eigentlich keinerlei Auflagen außer vielleicht, dass es keine Webanwendung, sondern eine Desktopapplikation werden soll und ich gerne H2 als DBMS einsetzen möchte.
Ich wäre da also relativ flexibel. Selbst Multiuserfähigkeit müsste vielleicht anfangs garnicht mal realisiert werden, sondern könnte erstmal einem Einzelplatzrechner mit embedded DB weichen... Anforderungen sind also recht gering.
 

mvitz

Top Contributor
Ich denke, dass man am Anfangs sich zwischen den folgenden Frameworks entscheiden sollte, wenn man nicht speziellere Anforderungen hat, die dort ein spezielles erfordern.

1) Logging Framework: Logging benötigt man eigentlich in jeder Applikation und ist einfach eine Basic Sache, die man kennen sollte. Ich persönlich bevorzuge hier SLF4J und dahinter idr. Logback als eigentliches Logging-Framework. Lernt man Log4J macht man aber sicher auch keinen Fehler.

2) IoC Framework: Man hat durch IoC einfach viele Vorteile, was sein Design betrifft. Die Platzhirsche sind hier wohl Spring oder Google Guice. Bei Spring muss man eigentlich direkt noch Kleinigkeiten mit lernen und es wirkt anfangs sehr groß und unübersichtlich. Guice dagegen ist wesentlich kleiner, schlanker und meiner Meinung nach schneller gelernt.

3) ORM Framework: Hier sollte man auf jedenfall soweit es geht auf den JPA (2.0) Standard setzten. Welche eigentlichen Provider man dann im Hintergrund einsetzt ist wohl egal. EclipseLink hat hier glaube ich weniger Abhängigkeiten und ist somit für einen Anfänger vermutlich einfacher einzubinden als Hibernate mit seinen vielen Abhängigkeiten.

Ansonsten lohnt sich immer ein Blick auf kleinere Bibliotheken, die einem das leben in speziellen Situationen erleichtern, z.B. JUnit, google-collections, Mock-Framework, ...

Einige Beispiele (kleinere Lauffähige Snippets) findet du z.B. auf meiner google-code Projektseite: java-library-examples - Project Hosting on Google Code
 

JanHH

Top Contributor
Du hast nach Jahren des Programmierens JETZT "endlich" Rekursionen verstanden!?

Ich würde bei den Frameworks ansonsten auf die java-Standards setzen.. JPA für ORM, und wenns zur "Übung" ist halte ich eine Webanwendung für besser, da immer mehr dahin geht, alles mögliche als Webanwendung zu implementieren, und diese kann man ja auch lokal laufen lassen (mit einem lokal installierten Application Server, die Anwendung läuft dann halt im Browser mit localhost als URL). Dafür würde ich Dir seam sehr nahe legen. Das integriert JSF, JPA und einiges andere und ist als "Meta-Framework" ausserordentlich elegant und effizient.
 

UnkiDunki

Bekanntes Mitglied
Du hast nach Jahren des Programmierens JETZT "endlich" Rekursionen verstanden!?

Ich hätte lieber den betreffenden Eintrag http://javathreads.de/2010/04/begri...sion-anschaulich-durch-buch-glossar-erklaert/ statt des Blogs verlinken sollen, dann hätte mein Satz vielleicht den richtigen Unterton bekommen :)

Seam werde ich mir mal anschauen. Das bin ich bis jetzt immer übergangen, da ich auf reine Desktopapplikationen "versteift" war...

NACHTAG @JanHH: Ich muss schon sagen, dass mir, je länger ich nachdenke, der Gedanke komplett auf Webanwendung setzen irgendwie immer mehr gefällt, wobei wir dann dabei wären: Weches Webframework wäre geeignet? Gibt ja auch schon zufällig ne passende Umfrage dazu :) http://www.java-forum.org/allgemeines-ee/101019-umfrage-webframeworks.html. Seam also dein Favorit :)
 
Zuletzt bearbeitet:

JanHH

Top Contributor
Bei dem Thema sticht man in ein Wespennest.. ich arbeite mit seam, einerseits weil ich das bei einem Projekt einfach muss (der Projektleiter hats vorgegeben), andererseits bei anderen Projekten auch, weil ichs halt will (weil ichs offenbar gut finde).

Die Argumentation des besagten Projektleiters ist, dass er es vorzieht, auf Dinge zu setzen, die dem java-EE-Standard entsprechen, da hier die grösste Akzeptanz und Zukunftssicherheit zu erwarten ist. Er kennt allerdings auch andere Sachen (Spring, Struts, etc.) und ich denke, er kann das dann auch beurteilen.

Zumindest beim ORM ist die Welt noch relativ überschaubar, an JPA und Hibernate/Toplink führt eigentlich kaum ein Weg dran vorbei (wobei JPA da wieder der offizielle java-Standard ist). Für die Applikationsschicht ein Dependency-Injection-Framework ist auch klar, wobei seam da sehr leistungsfähig ist. Fürs Frontend ist JSF halt der offizielle Standard, aber heiss umstritten, es gibt hier jede Menge Gegner.. aber ich kenne kein anderes und ich finds eigentlich ok. Die markanten Nachteile von JSF 1.2 werden von seam behoben.

Viele Sachen, die von seam kommen, haben auch Einzug in JEE 6 gefunden, z.B. quasi alle JSF-Verbesserungen (jsf1.2 + seam = jsf 2.0, grob gesagt), sowie der "kontextuelle Komponenten-Container" mit den diversen Scopes und DI usw.

Ich denke, man liegt damit zumindest nicht völlig falsch.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
StrikeTom Welche Dateitypen unterstützt JMF (Java Media Framework)? Java Basics - Anfänger-Themen 6
C Java Array Struktur, welche ist wann besser? Java Basics - Anfänger-Themen 12
N Welche Objekte kann man zu einem Set hinzufügen Java Basics - Anfänger-Themen 4
berserkerdq2 Habe eine Klasse, welche public ist, diese hat eine public Methode, die nicht static ist. Wenn ich nun versuche aufzurufen Probleme? Java Basics - Anfänger-Themen 8
berserkerdq2 Habe zwei exceptions, welche ist ein Kommunikationsfehler und welche ein Ausgabefehler? Java Basics - Anfänger-Themen 4
G Welche Attribute kommen in den Konstruktor? Java Basics - Anfänger-Themen 5
Jambolo Methode, welche die 3 letzten Parameter Werte speichert Java Basics - Anfänger-Themen 20
Q SMS basierte Applikationen, welche Programmiersprache? Java Basics - Anfänger-Themen 8
Igig1 Welche Werte sind als default Werte in einem Array, der als Datentyp eine Klasse hat? Java Basics - Anfänger-Themen 1
D Welche GUI Library für eine Client Server Chat App Java Basics - Anfänger-Themen 14
H Welche Werte bei Objekterzeugung eingeben? Java Basics - Anfänger-Themen 2
Arita welche Fehler gibt es noch? wie kann ich es noch vervollständigen Java Basics - Anfänger-Themen 15
tony241188 Implementieren Sie die Klasse Hersteller, welche die folgenden Elektrogeräte produziert Java Basics - Anfänger-Themen 3
FelixN Teilsummenproblem / welche Datenstruktur Java Basics - Anfänger-Themen 2
P Welche Zeile in Tadople gibt einen compiler error? Java Basics - Anfänger-Themen 5
W Welche Komponente ist geeignet? Java Basics - Anfänger-Themen 1
A Welche Operation ist das? Java Basics - Anfänger-Themen 2
J Welche Java-Version installieren Java Basics - Anfänger-Themen 9
M Implementieren einer Datenstruktur, welche nur 5 Objekte speichert Java Basics - Anfänger-Themen 3
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
K GUI Entwicklung - Welche Richtung passt für euch zum mobilen Zeitalter? Java Basics - Anfänger-Themen 4
T Datenbank | Welche am Sinnvollsten? Java Basics - Anfänger-Themen 5
S Welche Verteilung? Java Basics - Anfänger-Themen 1
L Welche Methode? Java Basics - Anfänger-Themen 7
O Methoden welche ich implementier Java Basics - Anfänger-Themen 11
A Wie erkennt die JVM welche class verwendet werden muss? Java Basics - Anfänger-Themen 3
M JDK installieren Welche Software bei XP? Java Basics - Anfänger-Themen 5
H Welche IDE zum Buch "Programmieren mit Java" von Reinhard Schiedermeier des Verlags Pearson Studium Java Basics - Anfänger-Themen 19
U Best Practice Fehleranalyse, welche Fehler macht Ihr beim Lernen bzw. auch später Java Basics - Anfänger-Themen 12
E jProgressbar, 6 Versuche, welche value angeben ? Java Basics - Anfänger-Themen 3
M Welche Entwicklungsumgebung? Java Basics - Anfänger-Themen 32
I Welche Schleife/Bedingung nehme ich her Java Basics - Anfänger-Themen 5
C Methoden Welche JSoup Methoden Und Parameter für diese HTML Tags Java Basics - Anfänger-Themen 4
K Erste Schritte Java lernen - Welche Bücher? Java Basics - Anfänger-Themen 1
P welche Komponente ist im Layout? Java Basics - Anfänger-Themen 2
TheMenox Methoden Bestimmung an welche Methode eine andere Methode ihren Wert weitergeben soll Java Basics - Anfänger-Themen 35
K Methoden mit den Namen accept. Welche Funktion haben diese? Java Basics - Anfänger-Themen 2
G Lambda Ausdruck: Welche Methode ist die Richtige? Java Basics - Anfänger-Themen 1
J Welche Methoden laufen im neuen thread ?? Java Basics - Anfänger-Themen 9
S Welche Datenstruktur ist die optimalste um Funktionen fuer bestimmte Wertebereiche abzurufen..? Java Basics - Anfänger-Themen 5
G Welche Java-Version auf meinem Rechner? Java Basics - Anfänger-Themen 2
Z Methoden Zugriff mit Klasse 3 auf Methode von Klasse 2 welche in Klasse 1 erzeugt wird Java Basics - Anfänger-Themen 6
A Klassen welche Klassen importiert Eclipse automatisch Java Basics - Anfänger-Themen 2
V welche Methode am besten sich für JPG einfügung in Java anzugewöhnen ? Java Basics - Anfänger-Themen 4
M Welche externen Bibliotheken sind in Java sehr zu empfehlen? Java Basics - Anfänger-Themen 4
I Grafische Benutzeroberflächen - welche Komponente nehme ich am besten? Java Basics - Anfänger-Themen 13
G Welche JAVA IDE? Java Basics - Anfänger-Themen 3
S Klassen Zugriff auf Attribute einer zweiten Klasse, welche durch dritte gesettet wurden? Java Basics - Anfänger-Themen 2
E wann welche Konstanten verwenden? Java Basics - Anfänger-Themen 7
K Welche Java Version ist die richtige Java Basics - Anfänger-Themen 3
V Welche Exceptions müssen importiert werden? Java Basics - Anfänger-Themen 3
A Design Pattern - Welche? Java Basics - Anfänger-Themen 33
C Datenbank - Welche Java Basics - Anfänger-Themen 5
S Welche Art von Liste? Java Basics - Anfänger-Themen 3
S Eigene Exception Schreiben und Welche Auslösen wie ? Java Basics - Anfänger-Themen 7
A Wenn genau welche Liste verwenden? Java Basics - Anfänger-Themen 6
T Welche Schleife? Java Basics - Anfänger-Themen 6
P Java Stream, wann welche Stream verwenden? Java Basics - Anfänger-Themen 3
S Collections Welche Collection ist am geeignetsten? Java Basics - Anfänger-Themen 3
S Input/Output Welche Möglichkeiten Eingabe von User abfragen Java Basics - Anfänger-Themen 5
P Swing - Welche Klasse für ausgeben von Ergebnissen? Java Basics - Anfänger-Themen 3
R Welche Datenstruktor für diese Liste? Java Basics - Anfänger-Themen 6
B Erste Schritte Welche Kenntnisse brauche ich für diese Programmidee? Java Basics - Anfänger-Themen 4
P Vererbung herausfinden welche Klasse was erbt Java Basics - Anfänger-Themen 3
K welche art von Liste für TableModell Java Basics - Anfänger-Themen 2
D Welche API für komplexe XML-Struktur? Java Basics - Anfänger-Themen 25
S welche Programmstruktur? Java Basics - Anfänger-Themen 8
M Welche Datenbank? Java Basics - Anfänger-Themen 5
B Welche Themengebiete benötige ich? Java Basics - Anfänger-Themen 7
StupidAttack Gson, welche Datenstruktur? Java Basics - Anfänger-Themen 4
S Welche Collection kann sich selber sortieren? Java Basics - Anfänger-Themen 8
H Welche Art der Ein/Ausgabe Java Basics - Anfänger-Themen 2
D Welche Datenstruktur für welche Problemstellung? Java Basics - Anfänger-Themen 10
S Welche Collection? Java Basics - Anfänger-Themen 5
A Welche UML Software benutzt ihr / ist empfehlenswert? Java Basics - Anfänger-Themen 2
N Welche Datenstukturen und Methoden Java Basics - Anfänger-Themen 3
L Auswahl auf welche Art gespeichert werden soll Java Basics - Anfänger-Themen 6
B Welche Java-Installation ist aktiv? Java Basics - Anfänger-Themen 2
B Finden gemeinsamer Kanten: welche Datenstruktur ? Java Basics - Anfänger-Themen 9
S Welche möglichkeiten gibt es eine Zahl zu spiegeln? Java Basics - Anfänger-Themen 17
U Welche Seite für Anfänger Java Basics - Anfänger-Themen 11
K Welche Entwicklungsumgebung für Einsteiger? Java Basics - Anfänger-Themen 16
S Webapplikation welche alternative zu gwt? Java Basics - Anfänger-Themen 2
cowabunga1984 Unit-Testing - Welche Testfälle sind relevant? Java Basics - Anfänger-Themen 4
S Welche Methode in JFrame überschreiben? Java Basics - Anfänger-Themen 12
H Designfrage: Welche Liste? Java Basics - Anfänger-Themen 3
Z Welche IO-Klasse verwenden? Java Basics - Anfänger-Themen 2
G Welche Datenstruktur ( Sets / Maps)? Java Basics - Anfänger-Themen 10
M Der Java Schlüsselwort null; ?Welche Anweisung und Sinn? Java Basics - Anfänger-Themen 12
G Herausfinden, welche Componente als LETZTES focus hatte Java Basics - Anfänger-Themen 2
H Welche PDF Biblothek? Java Basics - Anfänger-Themen 6
G Variable welche in anderer Klasse liegt, verändern. Java Basics - Anfänger-Themen 2
G Frage:Welche Methodne kann man eine Zahl bzw. ein String Java Basics - Anfänger-Themen 3
U Welche Datenstruktur soll ich nehmen? Java Basics - Anfänger-Themen 11
K Welche Exception? Java Basics - Anfänger-Themen 6
G Welche Datenstruktur ist hier die sinnvolste Java Basics - Anfänger-Themen 6
G welche Teile der api sind wichtig? Java Basics - Anfänger-Themen 3
K Welche methoden gibt es in Java um Zahlen von der Java Basics - Anfänger-Themen 11
G welche Java-Technologie für JDBC geeignet Java Basics - Anfänger-Themen 6
G Welche Programmiersprache für ein Betriebssystem? Java Basics - Anfänger-Themen 12

Ähnliche Java Themen

Neue Themen


Oben