Open-Source Mainstream unterstrichen
Aspekt | Norm/Produkt | Zweck + Wertung |
---|---|---|
Oberfläche | Java Server Faces/MyFaces, /IceFaces | Komponentenorientierte HTML-Oberfläche (View+Controller): Teil von Java Enterprise |
/Vaadin, GWT | View-Komponenten in Java+HTML programmieren, werden als JavaScript+HTML im Browser ausgeführt | |
/Play! | Web-Framework mit Rapid Prototyping, asynchron für hohen Durchsatz, für Benutzung in Java und Scala | |
Swing, JavaFX/ | Oberfläche für Applikationen, Applets und Java-Webstart | |
Android, iOS, .NET-Frameworks | Je Plattform mindestens ein natives Framework | |
Haxe | ActionScript-Klon mit Zielsprachen Flash, JavaScript, Java, C#, PHP, C++, Python und CrossPlatform-Libraries für mobile und Desktop-Portabilität | |
Persistenz | JPA/Hibernate | Object Relational Mapping: Empfehlung. JPA ist Teil von Java Enterprise. |
/db4o | OO-Datenbank: bei komplexen Datenstrukturen | |
(NoSQL)/ |
Z.B. MongoDB oder CouchDB: Für wenig strukturierte Datenmassen ohne Transaktionssicherheit |
|
Verteilung | http/Browser | WebApp-Ansatz: Server liefert HTML+JavaScript, dieses fragt ihn. Überall verfügbar, Deploy once. Nativer Zugriff eingeschränkt. |
SOAP-WebServices/ | Nutzt XML-Botschaften über http-Protokoll, eher inhouse verwendet | |
/REST-WebServices | Schlanker als SOAP Web Services; nutzt GET,PUT,POST,DELETE-Operationen des http-Protokolls. Populär für öffentliche Services. | |
GraphQL/ über http | Flexible, verkehrsminimierende Client→Server-Datenabfragesprache von Facebook (2015) | |
Qualität | /MulTEx | Ausnahmen-Verkettung, Parametrierung, Meldungstext-Internationalisierung |
/JUnit | Java-Regressionstest-Framework | |
/Selenium | JUnit-Erweiterungen für Regressionstests von Web-Applikationen | |
/PMD | Richtlinienprüfer für Quelltext | |
/FindBugs | Suchen fehlerträchtiger Stellen im Bytecode | |
SonarQube | Umfangreiche Sammlung von Qualitätsmanagementwerkzeugen, enthält viele andere wie PMD und Cobertura. | |
Entwicklungs- umgebung | /git | Verteilte Versionsverwaltung. Push und Pull zu mehreren Repositories |
/Maven | Build-Tool (Empfehlung) Vorbereitete übliche Ziele, u.a. Doc-Website. Auto-Import benötigter Jars und von deren Quellen | |
/Eclipse | IDE, schnell wegen nativer GUI, Refactoring, viele Plugins (git, Maven, PMD, UML, ...) | |
/Netbeans | IDE, pure Java, nutzt Standard-JDK, daher immer aktuell, Bsp.: Java 8.0 | |
/IntelliJ IDEA | Kommerzielle IDE, jedoch mit einer Community Edition. Größerer voreingebauter Funktionsumfang als Eclipse. Vielsprachig. | |
X2Go | Entfernte Desktops cross-platform. |