Die Programmiersprache Java ist plattformunabhängig, das heißt sie funktioniert auf Unix, Windows und Mac gleichermaßen. Wer sich damit noch nicht beschäftigt hat sollte bitte zuerst die folgenden Hinweise lesen, damit meine Applikationen funktionieren:
Einige grundlegende Bemerkungen:
Java-Programme oder Applikationen sind richtige Computerprogramme wie zum Beispiel das allseits bekannte Word oder Excel von Microsoft. Allerdings wurden Word und Excel, wie übrigens das gesamte Windows-System in der Programmiersprache C++ implementiert (oder programmiert) - wer also Windows programmieren will, sollte dies am besten mit C++ tun. Leider gibt es immer wieder Probleme mit Software-Lizenzen, die heutzutage eine Veröffentlichung eigener Software sehr erschweren, weil die Kosten zum Erwerb einfach für Privatanwender überdimensional sind. Das Computerspiel 3D-Bruno wurde übrigens mit der Lizenz einer Studenten-Version von Visual Studio.net geschaffen, für die ich damals 120,-DM investiert habe. Viel besser ist es, sich auf sogenannte OpenSource-Software zu beschränken, wenn man als Amateur immer auf der rechtlich sicheren Seite sein möchte und vor allem "up to date" arbeiten will.
Eine kurze Liste der von mir bevorzugten und verwendeten OpenSource-Software:
- Betriebssystem: Ubuntu-Linux, Apache-Server, MySQLi-Datenbank
- Programmierumgebung: NetBeans, GNU C++, Java 1.7
- Internet-Browser: Mozilla Firefox (32 bit), Mozilla Nightly (64 bit)
- Webdesign: Joomla, Typo3, WordPress
- Office-Anwendungen: Libre-Office
Wenn ein Java-Programm (eine "App") ausgeführt wird, holt sich der Computer mit dem man die Applikation öffnet sozusagen das Programm auf den eigenen Rechner und führt es dann dort aus. Während des Kopiervorgangs sieht man mit einer langsamen Internet-Verbindung ziemlich lange die Tee-Tasse mit dem Download-Balken. Das Programm ist dann dauerhaft auf dem eigenen Rechner installiert und kann auch offline jederzeit neu gestartet werden, solange es sich im Java-Cache (im temporären Zwischenspeicher) befindet. Ob man das Programm innerhalb eines Browsers (Internet-Explorer, Mozilla oder Chrome) ausführt oder als sogenannte "Webstart-Anwendung" ist dem Java-Programm nach erfolgreicher Installation dann egal.
Linux-Anwender können einfach in der Kommandozeile folgendes eingeben, um zu sehen was sich derzeit im Java-Cache befindet: javaws -viewer
Zum Löschen des Java-Cache schreibt man unter Linux: javaws -Xclearcache
Windows-Anwender müssen die Befehlskonsole öffnen: Ausführen -> command bzw. Ausführen -> cmd
In der Befehlskonsole kann dann ebenfalls der Java-Assistent geöffnet werden mit: javaws -viewer
Das Löschen des Java-Cache erfolgt unter Windows innerhalb des Java-Viewers per Knopfdruck.
Die richtige Laufzeitumgebung (Run Time Environment oder RTE) unter Windows installieren:
Die von mir programmierten Applikationen verwenden Java 1.7 bzw umgangssprachlich Java 7. Besonders bei Windows-Rechnern wird durch ständige Updates immer wieder auch die Java-Umgebung aktualisiert, was im schlimmsten Fall dazu führt, dass Programme die immer funktioniert haben plötzlich nicht mehr laufen. Falls Sie übrigens Online-Banking betreiben, verwenden Sie dazu höchstwahrscheinlich eine Java-Applikation. Java 7 kann nicht auf allen Windows-Rechnern erfolgreich installiert werden, wenn zum Beispiel das Betriebssystem gnadenlos veraltet ist (z.B. Windows XP). Vergewissern Sie sich unbedingt, dass Sie die richtige Java-Umgebung installiert haben und vor allem die Richtige für ein 32-bit-System (x86) bzw. ein 64-bit-System (amd64 bzw. x64).
Wer keine Lust hat, sich durch die Download-Seiten zu hangeln, kann sich hier eine garantiert lauffähige Java-Laufzeitumgebung herunterladen (erfolgreich getestet auf Windows 7 mit 32-bit und 64-bit-Browser):
Es ist ist nun die Aufgabe des Java-Entwicklers, seine Applikationen so zu schreiben, dass sie automatisch erkennen welches Betriebssystem sich auf dem Rechner befindet, der die App gerade herunterlädt. Es muß für jedes System (Unix, Windows, Mac) und jede bit-Variante (32-bit und 64-bit) sozusagen eine maßgeschneiderte Variante angeboten werden. Besonders bei der Verwendung von OpenGL-Anwendungen (die kostenlose Konkurrenz von Windows Direct3D) ist das eine ziemliche Herausforderung, weil man nun bereits sechs Programmvarianten anbieten und die entsprechenden verwendeten Bibliotheken beim Download richtig übergeben muß.
Moderne Smartphones und superdünne Notebooks:
Aufgrund der "Schmalheit" der modernen Geräte verfügen diese in der Regel heute nicht mehr über einen richtigen Grafik-Prozessor (GPU), der hardwaremäßige 3D-Beschleunigung unterstützt. Ich habe den Eindruck, dass man quasi nur noch eine Fernbedienung in der Hand hält, die eben auch nur noch in der Lage ist, vom Hersteller angebotene Programme zu verwenden. Dabei werden Programme auf Servern in der "Cloud" ausgeführt und nur noch die Ergebnisse auf dem "tragbaren Display" angezeigt. Eine richtige Java-Applikation wird leider niemals auf einem solchen Gerät laufen - dazu benötigt man einen leistungsfähigen PC oder Mac, der tatsächlich noch selber die Programme verarbeitet. Ich persönlich halte diese Entwicklung für sehr fragwürdig, da sie die Kreativität des Anwenders extrem begrenzt und eigene Software-Produktionen im Keim erstickt.
Neuerungen ab Jahresbeginn 2014:
Hersteller von Java-Applikationen und Applets werden als "Unbekannt" bezeichnet, wenn sie nicht ein entsprechendes Zertifikat zur digitalen Signatur ihrer Software erwerben. Derzeit funktioniert die Ausführung der Anwendungen noch und es wird lediglich ein Warn-Hinweis angezeigt. Über kurz oder lang wird dann jedoch beim nächsten Java-Update die Ausführung nicht mehr erlaubt sein - das "Aus" für jeden Hobby-Java-Programmierer:
Von einer polnischen Firma wird freundlicherweise momentan ein kostenloses Zertifikat angeboten - jedoch ist das für mich eher abschreckend und zeigt die Fragwürdigkeit der ganzen digitalen Signatur auf:
Ein Mindestmaß an Sicherheit für meine Applikationen:
Die von mir erstellten Java-Archive (*.jar) und die zum Aufruf der Applikationen bzw. Applets verwendeten "Java Network Launching Protocols" (*.jnlp) wurden natürlich digital signiert. Wegen eines kostenlosen "code signing certificate" bin ich derzeit noch mit verschiedenen Universitäten und OpenSource-Entwicklern in Kontakt. Leider sind die Zertifikate sehr teuer und die Signatur einer Java-Applikation ist jeweils auf ein halbes Jahr zeitlich begrenzt und muß dann erneuert werden. Dieser Sachverhalt ist hier nachzulesen:
Einbindung des Wetterdatenanalysators in Ihre Internetseite:
Es ist ausdrücklich von mir erwünscht, dass der "KL_2000-Viewer" von Leuten benutzt wird, die wie ich an der Analyse historischer Wetterdaten interessiert sind. Wenn Sie das Programm in Ihre Internetseite oder Ihren Blog einbinden wollen, verwenden Sie bitte den folgenden HTML-Code:
Für die Ausführung als "Applikation" mit dem sogenannten "Webstart":
<p><a href="http://win-falk.bplaced.de/joomlabase/includes/Javaapp/KLViewerWeb/KLViewerWebStart.jnlp"><img src="http://win-falk.bplaced.de/joomlabase/images/stories/KL_Viewer/KL_Viewer_01.png" border="0" alt="" /></a></p>
Ohne Bild:
<p><a href="http://win-falk.bplaced.de/joomlabase/includes/Javaapp/KLViewerWeb/KLViewerWebStart.jnlp">Wetterdatenanalysator Applikation - das Programm wird mit Javaws ausgeführt</a></p>
Das Programm wird von mir gepflegt und eventuelle Verbesserungen und Erweiterungen werden somit direkt für den Anwender zugänglich. Bei Fragen können Sie gerne auf diese Internetseite hier verweisen.