Java-Tipps: Unterschied zwischen den Versionen

Aus CodicaTipps
Zur Navigation springen Zur Suche springen
Zeile 72: Zeile 72:
 
* [https://developer.ibm.com/dwblog/2017/what-is-vaadin-java-web-applications/ Überblick über Vaadin auf developer.ibm.com mit Nachweisen zu IDEs (Netbeans und Eclipse)]
 
* [https://developer.ibm.com/dwblog/2017/what-is-vaadin-java-web-applications/ Überblick über Vaadin auf developer.ibm.com mit Nachweisen zu IDEs (Netbeans und Eclipse)]
 
* [https://dzone.com/refcardz/getting-started-vaadin Getting Started auf dzone], geschrieben von Vaadin-Mitarbeitern
 
* [https://dzone.com/refcardz/getting-started-vaadin Getting Started auf dzone], geschrieben von Vaadin-Mitarbeitern
 +
 +
==== sparkjava ====
 +
 +
[https://sparkjava.com Sparkjava] ist ein Micro-Framework, um ähnlich einer funktionalen Herangehensweise wie in [[Node.js]] Anfragen von Web-Clients zu bedienen.
 +
 +
Siehe
 +
* https://sparktutorials.github.io/2016/06/10/spark-basic-structure.html
 +
* https://zeroturnaround.com/rebellabs/sparkjava-is-an-amazing-java-web-framework-do-you-really-need-it/
  
 
=== Dateiverwaltung ===
 
=== Dateiverwaltung ===

Version vom 20. September 2018, 09:10 Uhr

Siehe oldCt:Java-Tipps

Java 2 Standard Edition

Installation

auf einem Raspberry Pi

Zur Installation von Oracle Java 8 JDK auf einem Raspberry Pi siehe

aus dem webupd8team-Repository

 sudo add-apt-repository ppa:webupd8team/java
 sudo aptitude update && sudo aptitude install oracle-java8-installer

Siehe

Java-Sprachkonstrukte

Lambdas

Siehe

Java-Anwendungen

  • Umfangreiches Verzeichnis freier Javaapplikationen findet sich bei Java-Apps.org.


Dokumentation zu J2SE

Entwicklungsumgebung


JUnit-Tests


Kommandozeilenparser

  • JewelCLI ist ein OptionsParser, der auf Annotationen setzt.
  • CLI ist eine Apache-Komponente, die die Verarbeitung von Kommandozeilenparametern erleichtert.
  • JOpt Simple

Webanwendungen

Vaadin

Auf dem Google Web Toolkit basiert auch das serverseitige Webapplikationsframework Vaadin. Auch hier wird serverseitig Java geschrieben, jedoch auf dem Browser als Javascript ausgeführt.

Siehe

sparkjava

Sparkjava ist ein Micro-Framework, um ähnlich einer funktionalen Herangehensweise wie in Node.js Anfragen von Web-Clients zu bedienen.

Siehe

Dateiverwaltung

Das Erstellen von Windows-Verknüpfungen ist nicht mit Bord-Mitteln von Java zu lösen. Aber es gibt schon fertigen Code im Web. "JShortCut" soll auch helfen.

Java WebStart

Web Services

Datenformate

JSON

MS-Excel

Dateien im Excel-Format können mit Hilfe der Open Source-APIs

gelesen und geschrieben werden.

OpenDocument Format (ODF)

Für das Open Document Format, das v.a. durch OpenOffice/LibreOffice bekannt ist, existiert die Simple API des ODFToolkits.

Http Push Technology / Long Polling

Siehe

Java Bericht Generator

Allgemeines

Für die Erstellung von Berichten (Reports aus Datenbanken) gibt es unterschiedliche Open Source-Produkte:


JasperReports

JasperReports ist wohl der Platzhirsch unter den Open Source - Berichtsgeneratoren für Java.

Siehe auch

Inversion of Control/Dependency Injection

Theorie und Anleitungen

  • Inversion of Control ist ein Name für das Konzept von Container-Frameworks, die Software-Komponenten verbinden, ohne dass ein Eingriff in deren Sourcecode vorgenommen werden muss. Dies ist eine Methode, Plugins zu schaffen.
  • Die Theorie von Inversion of Control (englisch) von Martin Fowler bietet einen Vergleich von Inversion of Control mit dem Service Locator Pattern.
  • Eine weitere Anleitung zu Inversion of Control erstellt einen einfachen IoC-Container "BeanFactory".

Einzelne IoC-Container-Frameworks

  • PicoContainer und seine Weiterentwicklung NanoContainer beherrschen Constructor Injection und Setter Injection. Außerdem bieten Sie Konfiguration durch Annotations.
  • Spring beherrscht Setter Injection. Beim Spring Framework ist Inversion of Control nur einer von vielen Features.
  • Die Nachfolger von Avalon bieten Interface Injection.
    • Excalibur ist ein Nachfolgeprojekt Avalons unter dem Dach von Apache.
    • DPML Metro ging aus Avalon hervor.
  • HiveMind befindet sich derzeit im Übergang auf Version 2 (noch alpha-Version).
  • Eine Liste von OpenSource IoC-Containern findet sich bei java-source.net.

FTP Client API

Statistik

Synchronisation

Siehe auch Synchronisation unter Linux


SyncML

vCard/vCalendar/iCal


Bluetooth

Siehe Bluetooth-Tipps.


Java als HTTP-Client

  • Eine ganz andere Lösung ist das Selenium - Framework zur Steuerung eines Browsers.

Aufruf des Standard-Browsers

Mit java.awt.Desktop kann der Standardbrowser des Betriebssystems aufgerufen werden.[2] Unter Windows können für bestimmte URLs auch eigene Anwendungen registriert werden (siehe Windows#Aufruf von Programmen mit URLs). Dann können mit der java.awt.Desktop-Methode auch andere Programme als der Browser gestartet werden.

Databases

JDBC

SQL


Java Persistence API

XML

  • XStream (ein XML-Persistence-Library]

PDF

Mit der Open Source-Bibliothek itext lassen sich PDF nicht nur erstellen, sondern auch z.B. als reiner Text lesen.

Geometrie

  • Flächenberechnung von Polygonen:

Java Swing

Die GUI-Bibliothek Swing wird wohl nicht mehr weiterentwickelt.

JLayeredPane

Für die Nutzung von JLayeredPane hilft wohl ein spezialisierter LayoutManager.

Java 3D

  • Eine kleine Anleitung mit Kurzbeispielen zu Java 3D findet sich hier.
  • Einen Überblick über Java 3D verschafft [1].

Hardware-I/O

Für den Universal Serial Bus (USB) ist die Unterstützung durch Java nur für Linux vollständig:

  • Javax.USB als Standardimplementation des JSR80.

Neuronale Netze

Scripting

Java 2 Mobile Edition

Siehe J2ME

Java Servlets

Java Servlets benötigen eine Ausführungsumgebung wie Apache Tomcat.


Java-Einstieg

  • Installation von
    • JRE / JDK
    • Netbeans
  • Hello-World-Programm auf Konsole
    • Ausgabe einer for-Schleife
    • if-Anweisung
    • Debuggen: Schritt-für-Schritt-Ablauf plus Variablen-Überwachung
    • Ausgabe in eine Text-Datei / CSV-Datei
      • Variante: Schreiben über Funktionen
      • Variante: Schreiben über Klassenobjekte
  • Swing
    • Hello-World-Programm auf GUI
    • Addition bei Drücken eines Knopfes


Siehe auch Softwareentwicklung