Hallo,
ich komme aus der ".NET"-Welt und muss mich nun in die JAVA-Welt einführen. Ich finde das ein sehr spannendes Thema.
In der .NET-Welt gab es sehr viele nützliche Frameworks, was das Erstellen von Desktop-Anwendungen angeht. So hatte ich als letztes "Entity Framework" als OR-Mapper, MVVM als Architektur, WPF für die Erstellung von Oberflächen benutzt.
Viele dieser Tools haben eigene Wizards die autm. Code erzeugten und somit "Schreibfehler" vermieden.
Wie sieht das in der Java Welt aus? Sicherlich gibt es da auch sehr viele Tools und Frameworks - aber was ist für mich als Einstig am besten und zukunftssicher?
Vielleicht mal etwas genauer, was ich für eine Anwendung schreiben möchte:
Ich habe eine .NET Anwendung, die schon sehr in die Jahre gekommen ist. Diese hat als Datenbank eine MSSQL 2012 Express. Die Anwendung benutzt als Reporting-Enginge Crystal Reports. Warum grade dieses, dazu später mehr.
Die Anwendung als solches ist nichts "aufregendes". Sie sammelt monatlich die Kennzahlen unserer Produktionsabteilung. Die Kennzahlen werden manuel von mir eingegeben und dann in einer monatlichen Übersicht ausgewertet. Die Auswertung übernimmt CR beim Drucken der Monatsübersicht.
Ich brauche also eine einfache Mitarbeiterverwaltung mit der Möglichkeit für jeden dieser Mitarbeiter auch monatliche Kennzahlen zu hinterlegen.
Für CR hatte ich mich deshalb entschieden, weil es in der Lage ist, eigene Abfragelogiken zu implementieren. So kann ich einen Report einfach öffnen und ich werde dann von CR nach den benötigten Paramtern gefragt. Diese können auch kaskadierbar sein. Und bei Id´s werden die Klartexte angezeigt und nicht die reinen Werte. Die Anwendung brauchte also nicht die verändert werden, wenn die Berichte neue Felder hinzu bekamen (sofern diese Felder schon in der Datenbank existiterten und verwaltet wurden). Auch brauchte die Anwendung sich nicht um das Bereitstellen der zu druckenden Informatione kümmern, das erledigte CR. Die Anwendung veränderte beim öffnen des Berichts nur die Datenquelle - alles andere ist im Bericht hinterlegt.
Wie schon erwähnt: Visual Studio und .NET haben für als diese Aufgaben sehr viele Frameworks (sehr viele auch als Freeware oder Open Source). Besonders geschätzt habe ich das für die Erstellung des UI und dem positionieren der Controls.
Was soll die Java-Anwendung können?
Eigentlich das gleiche wie die .NET Anwendung. Nur sollten noch Unit-Tests, Logging und einfache Wartbarkeit und Erweiterbarkeit hinzukommen. Eine Client-Server Architektur sollte für die Zukunftssicherheit sorgen. Auch eine Trennung der Schichten (bei .NET habe ich MVVM als sehr sinnvoll angesehen).
Ich wäre also sehr dankbar für ein paar Tipps und Anregungen in der Richtung, was für Komponenten und Bestandteile ich da verwenden kann.
Gruß
Michael
ich komme aus der ".NET"-Welt und muss mich nun in die JAVA-Welt einführen. Ich finde das ein sehr spannendes Thema.
In der .NET-Welt gab es sehr viele nützliche Frameworks, was das Erstellen von Desktop-Anwendungen angeht. So hatte ich als letztes "Entity Framework" als OR-Mapper, MVVM als Architektur, WPF für die Erstellung von Oberflächen benutzt.
Viele dieser Tools haben eigene Wizards die autm. Code erzeugten und somit "Schreibfehler" vermieden.
Wie sieht das in der Java Welt aus? Sicherlich gibt es da auch sehr viele Tools und Frameworks - aber was ist für mich als Einstig am besten und zukunftssicher?
Vielleicht mal etwas genauer, was ich für eine Anwendung schreiben möchte:
Ich habe eine .NET Anwendung, die schon sehr in die Jahre gekommen ist. Diese hat als Datenbank eine MSSQL 2012 Express. Die Anwendung benutzt als Reporting-Enginge Crystal Reports. Warum grade dieses, dazu später mehr.
Die Anwendung als solches ist nichts "aufregendes". Sie sammelt monatlich die Kennzahlen unserer Produktionsabteilung. Die Kennzahlen werden manuel von mir eingegeben und dann in einer monatlichen Übersicht ausgewertet. Die Auswertung übernimmt CR beim Drucken der Monatsübersicht.
Ich brauche also eine einfache Mitarbeiterverwaltung mit der Möglichkeit für jeden dieser Mitarbeiter auch monatliche Kennzahlen zu hinterlegen.
Für CR hatte ich mich deshalb entschieden, weil es in der Lage ist, eigene Abfragelogiken zu implementieren. So kann ich einen Report einfach öffnen und ich werde dann von CR nach den benötigten Paramtern gefragt. Diese können auch kaskadierbar sein. Und bei Id´s werden die Klartexte angezeigt und nicht die reinen Werte. Die Anwendung brauchte also nicht die verändert werden, wenn die Berichte neue Felder hinzu bekamen (sofern diese Felder schon in der Datenbank existiterten und verwaltet wurden). Auch brauchte die Anwendung sich nicht um das Bereitstellen der zu druckenden Informatione kümmern, das erledigte CR. Die Anwendung veränderte beim öffnen des Berichts nur die Datenquelle - alles andere ist im Bericht hinterlegt.
Wie schon erwähnt: Visual Studio und .NET haben für als diese Aufgaben sehr viele Frameworks (sehr viele auch als Freeware oder Open Source). Besonders geschätzt habe ich das für die Erstellung des UI und dem positionieren der Controls.
Was soll die Java-Anwendung können?
Eigentlich das gleiche wie die .NET Anwendung. Nur sollten noch Unit-Tests, Logging und einfache Wartbarkeit und Erweiterbarkeit hinzukommen. Eine Client-Server Architektur sollte für die Zukunftssicherheit sorgen. Auch eine Trennung der Schichten (bei .NET habe ich MVVM als sehr sinnvoll angesehen).
Ich wäre also sehr dankbar für ein paar Tipps und Anregungen in der Richtung, was für Komponenten und Bestandteile ich da verwenden kann.
Gruß
Michael