= Java =
Dies ist eine Übersichtsseite über die Programmiersprache __Java__, die sich in der LUG Krefeld einiger Beliebtheit erfreut.
In diesem Wiki sind die folgenden Seiten mit dem Schlagwort __Java__ markiert:\\
[{HasTagOf output='comma' Java}]
LUG Mitglieder mit Java-Know-How sind:\\
[{HasTagOf JavaProgrammierer}]
Hier eine Einführung über Java zu schreiben, wäre wohl der falsche Platz. Ich verweise dazu besser auf [http://de.wikipedia.org/wiki/Java_(Programmiersprache) Wikipedia] und natürlich auf die [Java-Seite von Sun|http://java.sun.com/].
== Tips und Tricks im Wiki der Linux User Group Krefeld ==
Hier eine kurze Liste mit den Highlights hier im Wiki:
* JavaUnterDebian - Besonderheiten unter Debian Linux
* [JUnit] - automatisches Testen von Java-Programmen
* JavaSecurityArchitecture - einiges zum Java Sandbox-Modell und wie man mit ihm programmieren kann
* JavaGrafik - 3D-Grafik in Java
* EclipseIDE - sehr empfehlenswerte Entwicklungsumgebung
* LinuxMit64Bit - Hinweise zum Browser-Plugin auf 64-Bit-Rechnern
* JavaMultithreading - Programmierung von Threads in Java
* JavaPerformance - Überlegungen zu Geschwindigkeit, Speicherverbrauch etc.
=== Web-Programme mit Java ===
* [Tomcat] - Java-Webserver (bzw. Application Container)
* TomcatUnterDebian - Um Webservices in Java anbieten zu können, empfiehlt sich die Installation von Tomcat.
* JavaWebStart kann ganz normale Swing-Applikationen aus dem Web heraus starten
* JavaServerFaces bieten ein MVC Framework für Web-Programme mit Standard-Komponenten
== externe Links ==
=== Java in den Schlagzeilen ===
* JavaNews - Neuigkeiten zur Programmierung aus der Java-Community
=== Sun und IBM liefern Java für Linux ===
* http://java.sun.com/
* http://java.sun.com/linux/
* http://www.ibm.com/java/
* http://www.blackdown.org/
=== Freie Java-VMs ===
* http://www.kaffe.org/
* http://gcc.gnu.org/java/
* http://www.pro-linux.de/berichte/gnu-classpath1.html
=== Java-Tutorials und Online-Bücher ===
* http://www.inventivio.com/help4j.html - Programm, das eine Java-Hilfe anbietet (kostenlos, aber nicht frei)
* http://www.galileocomputing.de/openbook/javainsel4 - Buch "Java ist auch eine Insel" (deutsch)
* http://www.softwareacademy.de/Java/001%20JAVA.htm - Buch "Java 2 Magnum" (deutsch)
* http://www.informit.de/books/java2_komp/data/start.htm - Buch "Java 2 Kompendium" (deutsch)
* [http://java.sun.com/j2se/javadoc/ Javadoc] - Anleitung zum Javadoc-Tool, um automatisch API-Dokumentationen zu erstellen
=== Java-Template-Engines ===
* JavaServerFaces bieten ein MVC Framework für Web-Programme mit Standard-Komponenten
* http://java-source.net/open-source/template-engines - Übersicht über Template-Engines
* [http://jakarta.apache.org/velocity/index.html Velocity] - Das, was alle benutzen. erprobt und stabil, hat aber Grenzen, wenn es an komplexe Probleme geht<br>(Nachtrag von Markus) - Aufnahme von Velocity in Debian-[http://packages.debian.org/unstable/web/velocity Pool] laut [http://www.debian.org/News/weekly/2005/17/ Debian-Weekly-News] Nr. 17/2005
* FreeMarker - Erweiterte Möglichkeiten als Velocity, Doku etwas unübersichtlich. Kann aber auch komplexere Probleme lösen
* [http://www.jamon.org/Features.html Jamon] - scheint sehr gut Komponenten zu unterstützen, inspiriert von
[http://teatrove.sourceforge.net/ Mason]
* [http://teatrove.sourceforge.net/ Tea] - Template-Sprache von Disney. gute Doku, aber letzte Version von 2002
* [http://jasperreports.sourceforge.net/index.html JasperReports] - Reportgenerator (kein echte Template-Engine), macht einen sehr guten Eindruck
* http://java-source.net/open-source/jsp-tag-libraries - Übersicht über JSP Tag Libraries
* http://www.zope.org/Wikis/DevSite/Projects/ZPT/FrontPage - ZOPE Templates sehen sehr interessant aus, zwei Java-Implementierungen:
** http://christophermrossi.com/jpt/
** http://javazpt.sourceforge.net/
=== Web-Frameworks ===
* [http://struts.apache.org Struts] - Das, was alle benutzen: Alt, ausgereift, große Nutzerbasis, etwas angestaubt und wenig innovativ
* [http://tagonist.tigris.org/ Tagonist] ist eine einfach zu vertehende Alternative zu Struts
* [http://jakarta.apache.org/turbine/index.html Turbine] -
Jakarta-Projekt, das behauptet, etwas moderner zu sein als Struts
* [http://jakarta.apache.org/tapestry/index.html Tapestry] - hat
einen interessanten objektorientierten (statt aktionsorientierten)
Ansatz
* [http://springframework.org Spring] - intelligente Idee, um
Objekte lose zu koppeln (aber IMHO seltsam umgesetzt), umfangreiche
Doku, alles in allem etwas aufgebläht
* [http://jodd.sourceforge.net/ Jodd] - Schlanker als Struts, sieht
nützlich aus, aber letzte Version von Oktober 2004, Update: es gibt eine neue Version von Januar 2007
* [http://niggle.sourceforge.net/ Niggle] - Servlets-Framework, das
Freemarker und Velocity unterstützt, nichts Neues seit 2002
* [http://rife.dev.java.net/ Rife] - Soll mit dem berühmten
[http://www.rubyonrails.org/ Ruby on Rails] vergleichbar sein
* [http://grails.org/ GRails] - darf nicht [Groovy] on Rails heißen
;-) und schon die Version 0.1 sieht sehr verheißungsvoll aus
* [Wicket|http://wicket.sourceforge.net/] - Klare Trennung von HTML und Java
* [VRaptor|http://www.vraptor.org/] - Nutzt Java5-Annotations und Velocity oder Framemaker, sieht interessant aus
* Vergleiche von Web-Frameworks
** http://www.dynabean.de/download.html
** http://bdn.borland.com/article/borcon/files/6000/paper/6000.html
** http://www.oreilly.de/catalog/javaebp/chapter/ch03.html
=== Persistenz-Frameworks ===
*[Hibernate|http://hibernate.org] - Persistenz-Framework - deutsche Artikel z.B.
**[bei Thorsten Horn|http://www.torsten-horn.de/techdocs/java-hibernate.htm]
**[Im Javamagazin|http://www.javamagazin.de/itr/online_artikel/psecom,id,596,nodeid,11.html]
*[Mr. Persister|http://www.jenkov.com/mrpersister/introduction.tmpl]
*[J2EE 1.5|http://glassfish.dev.java.net/javaee5/persistence/] enthält eine standardisierte Persistenz API, die
Glassfish-Implementierung steht unter einer Opensource-Lizenz (der [CDDL|http://www.opensource.org/licenses/cddl1.php]). Die API wird auch von Hibernate unterstützt.
**[JPA Implementierung|http://oss.oracle.com/toplink-essentials-jpa.html] von Oracle auf Basis von ~TopLink
**[OpenJPA|http://incubator.apache.org/openjpa/] ist die Persistenz API der Apache Foundation, wird kommerziell z.B. im BEA Weblogic Server verwendet.
** http://www.clientjava.com/blog/2005/12/26/1135631690852.html - Artikel mit einer Liste von Databinding-Frameworks
=== Swing (graphische Oberflächen) ===
* http://www.jgoodies.com/ - freie Swing-Bibliotheken, insbesondere der [LayoutManager Forms|http://www.jgoodies.com/freeware/forms/index.html]
** http://www.ociweb.com/jnb/jnbMar2005.html - Artikel zu JGoodies Forms
* https://sam.dev.java.net/ - Swing Action Manager - "Actions auf Speed"
* https://appframework.dev.java.net - Swing Application Framework, kommt in Java 7
* http://buoy.sourceforge.net/ - Eine vereinfachte API für Swing, ~LayoutManager und Events.
* http://joda.org/ - ich ordne Joda mal hier unter Swing ein, auch wenn es ausser einem Binding von Swing-Eingabefeldern an Bean-Properties nicht damit zu tun hat. Joda liefert interessante Ideen zu den Themen Date/Time, Collections von Basistypen und generische Beans ohne Reflection (über die Java-Proxy-Klasse)
* http://www.javareference.com/jrexamples/viewexample.jsp?id=83 - Anzeigen von Images in Tooltips
* http://www.java.de/article/view/144/1/14 - Artikel über Capture & Replay mit Swing (deutsch)
* http://www.datadosen.se/riverlayout - Der River Layout-Manager scheint sehr intuitiv über Strings konfigurierbar und ideal für Formulare geeignet zu sein
* http://www.leepoint.net/notes-java/GUI/misc/80gui-generator.html - Interessante Übersicht über Alternativen zur Swing-Programmierung
=== Link-Sammlungen zu Java und OpenSource ===
* [http://www.tutego.com/java/java-open-source.htm] - Bekannte OpenSource Java Projekte
* [http://java-source.net] ist eine umfangreiche Sammlung von freien Java Projekten
=== Sonstige Links ===
* http://profiler4j.sourceforge.net - einzeln lauffähiger Profiler (Alternative zu EclipseIDE mit TPTP-Profiler)