Welche Umgebung und Frameworks für mich als Umsteiger

MK2014

Mitglied
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
 

Joose

Top Contributor
Auch die Java Welt bietet viele Frameworks die Arbeit abnehmen und ähnliches.
Ein OR-Mapper der Java Welt wäre zum Beispiel Hibernate (gibt es auch in einer .Net Variante), mit JavaFX wird versucht Oberflächen besser vom Code zu trennen (XML Syntax wie bei WPF).
Eine Alternative für Crystal Reports kann man sicher auch finden ...

.... aber mir stellt sich die Frage warum willst du von .NET auf Java wechseln? (nicht das ich dich davon abbringen will)
Als einzigen Grund hast du genannt das die Anwendung in die Jahre gekommen ist. Doch in .NET hast du für vieles schon die passende Basis und müsstest nur ein gründliches Refactoring durchführen.
Unit Tests und Logging gibt es für .Net ebenfalls, und Wartbarkeit sowie einfach Erweiterbarkeit sollten Grundvoraussetzungen sein ;)
In Java müsstest du dich einerseits mit neuen Frameworks auseinandersetzen, neue Techniken "erlernen" (MVVM gibt es in dieser Form nicht) und die Anwendung von Grund auf neu implementieren.
 

nvidia

Bekanntes Mitglied
[...](MVVM gibt es in dieser Form nicht) [...]

Gibt es auch in Java, MVVM ist IMHO nichts weiter als das MVC + Application Model, das ist auch schon relativ alt die Idee. Ein Beispiel wäre z.B. ein eigenes TableModel von AbstractTableModel, das wäre das Application Model, das dann mit dem Domänen-Modell kommuniziert.

Das was es in Java so nicht gibt ist das Databinding und die Forms-Geschichte.
 
Zuletzt bearbeitet:

MK2014

Mitglied
Vielen Dank für die Antwort. Das gibt mir schon mal eine gewisse Richtung.

.... aber mir stellt sich die Frage warum willst du von .NET auf Java wechseln? (nicht das ich dich davon abbringen will)

Ja, das zu beantworten, habe ich tatsächlich nicht gemacht. Es liegt daran, dass ich von meinem Arbeitgeber nun ein anderes Aufgabengebiet bekommen habe. Dort wird zu 100% mit Java entwickelt. Um mich in die "Sprache" einzuarbeiten benutze ich immer gerne "sinnvolle Projekte" - sprich nicht das "Hello Welt"-Beispiel - und dass Kennzahlenerfassung-Tool wäre ein gutes Übungsobjekt für mich, da es, was die Funktionen betrifft übersichtlich und überschaubar ist.
 

stg

Top Contributor
Dann frag deinen Arbeitgeber doch, was für Frameworks etc dort eingesetzet werden. Was bringt es, wenn du dich jetzt auf z.B. Springs oder Struts stürzt und am Ende wird beides nicht verwendet, aber dafür JSF ... oder weiß der Geier. Du hast im Java Umfeld zig Ansätze, die zum Großteil parallel zueinander existieren. Da jetzt das "Falsche" zu lernen ist genauso sinnvoll, wie jetzt z.B. mit PHP oder Ruby anzufangen.
 

MK2014

Mitglied
Dann frag deinen Arbeitgeber doch, was für Frameworks etc dort eingesetzet werden.

Danke für den Hinweis, stg. Nur ist das in dem speziellen Fall nicht so "einfach", wie man denken mag. Wir setzen einen Warenwirtschaft ein, die quasie ein eigenes Framework darstellt: Fast alle Funktionen werden über parameter eingestellt, die dann wiederum Java-Code erzeugen können. Wir haben aber die Möglichkeit in bestimmten Fällen diesen generierten Code abzuändern und evtl. noch zu erweitern. Dies geschieht eben in Java. Datenzugriff und UI sind von dem Hersteller selbst entwickelte Tools, die ohne die komplette Serverarchitektur der Anwendung nichts nützen.

Für meine Weiterbildung würde ich mir daher gerne das Kennzahlen-Erfassungsprogramm nehmen und es portieren -aber nicht fürs ERP sondern als eigenständige Desktop-Anwendung.
 
Zuletzt bearbeitet:

dzim

Top Contributor
nvidia hat gesagt.:
Das was es in Java so nicht gibt ist das Databinding und die Forms-Geschichte.

MVVM: JavaFX

Databinding: JavaFX Obersvables (Oder Es ginge wahrscheinlich auch ein vergewaltigtes JFace-Databinding, aber wieso, wenn JavaFX es sowieso schon mit bringt).

Forms: Was genau ist damit jetzt gemeint? So ein weites Feld...
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Linux, Java-Version wird nicht erkannt bzw. welche Einstellung fehlt noch? Allgemeine Java-Themen 19
P Feststellen, Welche Classes ich aus einem JAR nutze? Allgemeine Java-Themen 6
H Apache fop -- welche Möglichkeit gibt es um den Fortschritt anzuzeigen (Progressbar) Allgemeine Java-Themen 5
goldmensch Datentypen Welche Methode hat die bessere Performance? Allgemeine Java-Themen 12
S Wenn eine Klasse zwei Interfaces mit derselben Methodensignatur implementiert: welche wird aufgerufen? Allgemeine Java-Themen 15
X Collections Gibt es eine Klasse welche die Vorteile von List und HashMap vereint, aber konstante Laufzeit (O(1)) hat in Java? Allgemeine Java-Themen 4
F Java Web App - welche Technologien? Allgemeine Java-Themen 11
S Welche API? Allgemeine Java-Themen 6
B Klassen Objekt erzeugen und Konstruktor aufrufen - Welche Lösung ist besser? Allgemeine Java-Themen 2
K Welche Zertifizierung passt? Allgemeine Java-Themen 10
A Variable, welche Exeption wirft als "Global" deklarieren Allgemeine Java-Themen 13
J Videokonferenz mittel Java ? Welche Möglichkeiten habe ich ? Allgemeine Java-Themen 2
J Welche Layouts benutzt ihr? Allgemeine Java-Themen 2
G Wiedereinstieg, welche Java Version empfehlt ihr Allgemeine Java-Themen 7
M Welche Exceptionbehandlung ist sinnvoll? Allgemeine Java-Themen 3
H NetBeans geotools 15 oder 16 - welche Abhängingkeiten gibt es? Welche Jars brauche ich? Allgemeine Java-Themen 4
S Welche Java Techologien gibt es fürs Frontend Allgemeine Java-Themen 4
S Welche Nutzen bringen Lamda Expressions? Allgemeine Java-Themen 1
C Welche Styleconvention Allgemeine Java-Themen 0
ruutaiokwu datenstruktur welche sich "im kreis" dreht Allgemeine Java-Themen 26
R LinkedList und Threads - welche Methode ist besser? Allgemeine Java-Themen 2
F Welche Systeme für hoch skalierbare Webanwendung? Allgemeine Java-Themen 7
Landei Welche Klassen fehlen im JDK? Allgemeine Java-Themen 18
P Check, welche Java Version installiert bevor ein Programm ausgeführt wird. Allgemeine Java-Themen 12
G Welche Datenstruktur? Allgemeine Java-Themen 19
I Webseite auslesen (welche mittels Javascript Inhalt einbindet) Allgemeine Java-Themen 4
R Welche waren eure ersten Projekte? Allgemeine Java-Themen 10
G Wie kann man sehen, welche Applikationen mit java arbeiten? Allgemeine Java-Themen 17
L Social Media Webportal -> Welche Technologie (JEE, GWT) Allgemeine Java-Themen 8
J Welche Informationen werden beim Kompilieren gespeichert? Allgemeine Java-Themen 3
S Welche Datenstruktur für verschiedene Sprachen sinnvoll? Allgemeine Java-Themen 2
I Swing Welche Swing Komponente soll ich nehmen? Allgemeine Java-Themen 2
vladimir Welche API für Grafik und Drag&Drop Allgemeine Java-Themen 3
schlingel Plugin-Architektur - Welche nehmen? Allgemeine Java-Themen 6
U Welche 2D-API? Allgemeine Java-Themen 4
S Vererbung: Welche Methode wird verwendet? Allgemeine Java-Themen 9
M Welche Dateiformate kann Java einlesen?? Allgemeine Java-Themen 26
E Neues Projekt - Welche GUI / IDE /Techniken / etc. Allgemeine Java-Themen 14
E Welche Icons für sichtbar /unsichtbar Allgemeine Java-Themen 2
J Welche Lösung für Servlets und JSPs in Eclipse? Allgemeine Java-Themen 5
N Für welche Art von Berechnungen macht JCUDA Sinn? Allgemeine Java-Themen 12
A Welche Exception verwenden? Allgemeine Java-Themen 2
T Welche Art von Hilfe?? Allgemeine Java-Themen 5
N welche run.bat? Allgemeine Java-Themen 3
R Assoziativer Speicher welche Unterschiede? Allgemeine Java-Themen 5
Developer_X Welche Dateien kann Java laden? Allgemeine Java-Themen 9
G Welche Schreibeweise ist richtig Allgemeine Java-Themen 16
ARadauer welche java version wird benutzt Allgemeine Java-Themen 4
E Welche Java-Version kennt isEmpty() ? Allgemeine Java-Themen 2
F Welche dicken Java-Bücher kennt ihr? Allgemeine Java-Themen 31
M Prüfen, welche anderen Programme laufen Allgemeine Java-Themen 5
K [erledigt] JVM welche läuft Allgemeine Java-Themen 9
G synchronized-Sclüsselwort: welche Reihenfolge zum Betreten? Allgemeine Java-Themen 6
E welche standalone Version von Tomcat benutzen? Allgemeine Java-Themen 6
S Welche Speicherung von Daten bei Kalendarfunktion der jtable Allgemeine Java-Themen 7
F welche Datenstruktur? Allgemeine Java-Themen 9
A feststellen, welche Klassen ein Interface implementieren Allgemeine Java-Themen 3
P welche jar enthält was? Allgemeine Java-Themen 5
F Welche Datenstruktur Allgemeine Java-Themen 2
V Welche Oberfläche empfehlt ihr mir? Allgemeine Java-Themen 19
Z Welche Datenstruktur verwende ich h_ier bloss ? Allgemeine Java-Themen 14
S Welche jar's werden wirklich benötigt?` Allgemeine Java-Themen 5
G Dateien löschen welche vor heute erstellt wurden? Allgemeine Java-Themen 7
G Prüfen welche JRE-Version gebraucht wird Allgemeine Java-Themen 19
I Welche Möglichkeiten bietet Java um Records in Dateien zu sp Allgemeine Java-Themen 10
B Drucken - welche Bibliothek favorisiert Ihr? Allgemeine Java-Themen 16
J Welche Daten für Ative-X Funktion? Allgemeine Java-Themen 5
P welche java version für javax.mail? Allgemeine Java-Themen 7
B Erkennen welche Objekte den Heap verbrauchen? Allgemeine Java-Themen 2
B Welche Java-Version? Allgemeine Java-Themen 7
S Welche Javaversion ist in meinem Linux? Allgemeine Java-Themen 2
M 2 Javaversionen welche aktiv? Allgemeine Java-Themen 3
C Datumsfelder auslesen - egal welche Zeitzone Allgemeine Java-Themen 2
F SuppressWarnings("xxx") - welche Möglichkeiten gib Allgemeine Java-Themen 4
R Welche Exception bei write() nehmen Allgemeine Java-Themen 7
reibi JVM fragen welche Apps geladen sind Allgemeine Java-Themen 7
L Welche Collection ist die richtige ? Listen mergen Allgemeine Java-Themen 3
S Welche Datenstruktur passt bei mir? Allgemeine Java-Themen 6
D Welche Datenstruktur? Allgemeine Java-Themen 2
B Grafische Oberfläche - Welche Komponenten? Allgemeine Java-Themen 5
T JMF, welche Codecs gibts, und vor allem, wo? Allgemeine Java-Themen 9
H Welche Scriptsprache verwendet ihr in Java Allgemeine Java-Themen 9
G Welche Referenzsoftware ist in Java geschrieben? Allgemeine Java-Themen 8
P Welche Collection verwenden? Allgemeine Java-Themen 4
R Test Umgebung für Datenbank erstellen, was braucht es? Allgemeine Java-Themen 14
X Registrierung eines Ecore-Models außerhalb der Eclipse-Umgebung Allgemeine Java-Themen 0
B Ordner öffnen mittels Java in Linux-Umgebung Allgemeine Java-Themen 7
H 2D-Simulation in individuell gestalbarer Umgebung Allgemeine Java-Themen 20
M umgebung funktioniert nicht mehr Allgemeine Java-Themen 14
G java umgebung Allgemeine Java-Themen 2
M Programm funktionier nur aus Entw. Umgebung Allgemeine Java-Themen 2
S Runtime.exec und X Umgebung Allgemeine Java-Themen 2
M Networking Frameworks Allgemeine Java-Themen 3
E Frameworks Allgemeine Java-Themen 15
M frameworks Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben