Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

 <<   zurück
JavaScript und AJAX von Christian Wenz
Das umfassende Handbuch
Buch: JavaScript und AJAX

JavaScript und AJAX
839 S., mit DVD, 39,90 Euro
Rheinwerk Computing
ISBN 3-89842-859-1
gp Kapitel 24 Java
  gp 24.1 Allgemeines
    gp 24.1.1 Wie funktioniert Java?
    gp 24.1.2 Kurzeinführung in Java
  gp 24.2 Java und das WWW
    gp 24.2.1 Ein Beispiel-Applet
    gp 24.2.2 HTML-Integration
  gp 24.3 Java ohne Applet
    gp 24.3.1 Exemplarische Java-Objekte
    gp 24.3.2 Blackjack
    gp 24.3.3 Karten initialisieren
    gp 24.3.4 Karten mischen

Hab ich doch, Freunde, immer mit Recht den Caffé gehasst. – Johann Wolfgang von Goethe

Kapitel 24 Java

Wenn Sie sich so weit durch das Buch hindurchgekämpft haben, werden Sie festgestellt haben, dass man mit JavaScript tolle Effekte realisieren kann. Wozu braucht man überhaupt noch Java? Nun, Java besitzt wesentlich umfangreichere Fähigkeiten: angefangen bei der Möglichkeit des Dateizugriffs über Datenbankoperationen bis hin zu den grafischen Darstellungsmöglichkeiten. Java hat also durchaus seine Existenzberechtigung im World Wide Web. Aus diesem Grund findet Java auch in diesem Buch Erwähnung. Man kann nämlich mit JavaScript die Java-Programme in einem HTML-Dokument in gewisser Hinsicht ansteuern. So können sich Java und JavaScript gut ergänzen.


Rheinwerk Computing

24.1 Allgemeines  downtop

Eines gleich vorweg: Dieses Buch soll keine Java-Einführung sein, es geht hier lediglich um JavaScript. Um dieses Kapitel voll verständlich zu machen, benötigt man einige Zeilen Java-Code, das lässt sich nicht vermeiden. Ich habe aber versucht, diesen Teil so kurz und so einfach wie möglich zu halten. Da sich die Syntax von Java und JavaScript zum Teil ziemlich ähnelt, können Sie auch ohne Java-Erfahrung – aber mit inzwischen tiefschürfenden JavaScript-Kenntnissen – die vorgestellten Beispiele nachvollziehen. Auch wenn Sie vielleicht nicht jeden einzelnen Befehl verstehen, sollte wenigstens die prinzipielle Vorgehensweise klar werden. Um ein paar einführende Worte kommt man eben nicht herum.


Rheinwerk Computing

24.1.1 Wie funktioniert Java?  downtop

Java ist eine plattformunabhängige Programmiersprache, deren Syntax sich an die Programmiersprache C++ anlehnt. Java-Programme werden in einen so genannten Byte-Code kompiliert. Die meisten Internet-Browser haben eine Java Virtual Machine (Java VM oder auch JVM), die diesen Byte-Code auf der jeweiligen Plattform interpretiert und die Befehle ausführt. Der besondere Vorteil besteht darin, dass der Byte-Code auf jeder Plattform identisch ist. Daher rührt die Bezeichnung »plattformunabhängige Sprache«. Einzig und allein die Virtual Machines unterscheiden sich. Das Konzept von Java heißt auch »written once, runs everywhere« – einmal programmiert, funktioniert es überall. Insbesondere müssen Sie sich nicht um die Portierung Ihres Codes auf die verschiedensten Plattformen kümmern, das haben die Hersteller der Virtual Machine schon erledigt.

Der Nachteil von Java liegt auf der Hand: Da das Programm nicht betriebssystemspezifisch kompiliert worden ist, muss der Byte-Code von der VM interpretiert werden, und das dauert recht lange. Aus diesem Grund sind kompilierte Programme immer noch etwas schneller. Der Vorsprung schwindet allerdings, da die Entwicklung der Virtual Machines fortschreitet und so genannte JIT-Compiler (Just-In-Time-Compiler) in der Lage sind, Java-Code nicht anfangs am Stück zu interpretieren, sondern immer dann, wenn das entsprechende Programmsegment zur Ausführung kommt. Die wahren technischen Zusammenhänge sind weitaus komplizierter, aber Sie wollen sicherlich so schnell wie möglich zum Thema JavaScript zurückkommen – also weiter im Text.

Kompilierte Java-Programme haben die Endung .class. Ein für den nicht-kommerziellen Einsatz kostenloser Compiler ist auf der Website des Java-Erfinders Sun unter http://java.sun.com/ zu finden – halten Sie nach dem Java Development Kit, kurz JDK, Ausschau. Auf der Buch-DVD finden Sie ebenfalls eine Ausgabe der Software.

Bei Java ist die neueste Version zwar meistens die beste, nicht jedoch automatisch für den Web-Einsatz. Bei älteren Versionen des Internet Explorers und Netscape (Version 4!) wird nur eine Anno-Tobak-Version 1.1 mitgeliefert; andere (modernere) Browser werden meist komplett ohne Java ausgeliefert. Zwar ist es problemlos möglich, alle Browser (also auch IEs und Netscapes) durch einen Download von http://java-.sun.com/ mit einer neueren Java-Version zu versorgen, aber das machen nur die wenigsten Nutzer. Mögliches Zwischenfazit: Kompilieren Sie Ihre Java-Applets, wenn möglich, mit Java 1.1, dann können die meisten Benutzer Ihre Programme ohne Extra-Download ausführen.

Es gibt leider noch ein weiteres Problem: Als Konsequenz aus einem Gerichtsverfahren liefert Microsoft seit einiger Zeit mit dem Internet Explorer kein Java mehr mit. Sprich, ohne Zusatz-Download geht eh nichts. Wenn Sie sich auf diesen Standpunkt stellen, können Sie Ihre Applets auch mit einer recht aktuellen Java-Version kompilieren.

Die Wahrheit liegt wie immer irgendwo in der Mitte: Natürlich benötigen Ihre Benutzer eine Java-Version, aber nicht alle aktualisieren immer auf die neueste Ausgabe. Versuchen Sie deswegen, immer eine möglichst niedrige Version einzusetzen; 1.1 muss es aber nicht unbedingt sein. Die Beispiele auf der Buch-DVD sind übrigens alle mit JDK 1.1. kompiliert worden, aber auch einfach gehalten.

Java-Programme werden mit dem <applet>-Tag in die HTML-Seite eingebunden. Im Parameter code wird der vollständige Name der .class-Datei angegeben, und in den Parametern width und height werden – wie beim <img>-Tag auch – die Ausmaße des Applets auf dem Bildschirm angegeben. Wichtig ist wie immer das name-Attribut. Formular-Experten wissen, warum:

<applet code="applet.class" name="Applet" width="300" height="200">
   Ihr Browser unterstützt kein Java, oder Sie haben es
   ausgeschaltet!
</applet>

Der Text zwischen <applet> und </applet> wird genau dann angezeigt, wenn der Browser des Benutzers kein Java unterstützt oder Java nicht installiert worden ist. Auch, wenn Java deaktiviert ist, erscheint der Hinweistext im Browser.


Rheinwerk Computing

24.1.2 Kurzeinführung in Java  toptop

In den folgenden Absätzen werde ich das Grundkonzept von Java grob erklären. Vor allem die Java-Kenner mögen über Auslassungen, Ungenauigkeiten und Vereinfachungen hinwegsehen. Das Thema dieses Buches ist und bleibt JavaScript, und Java wird nur so weit erläutert, wie es für das Verständnis dieses Kapitels nötig ist.

In Java sind alle Daten in Objekten organisiert, so ähnlich wie in JavaScript ja auch – so weit, so gut. Statt Objekt nennt man eine Ansammlung von Methoden und Eigenschaften innerhalb von Java Klasse. Ein Grundgerüst einer Klasse sieht folgendermaßen aus:

class klassenname{
// irgendwelche Kommandos
}

Jede Klasse kann Methoden und Eigenschaften enthalten. Die Besonderheit ist, dass der Typ des Rückgabewerts jeder Methode im Methodenkopf direkt angegeben wird, was ein großer Unterschied im Vergleich zu JavaScript ist, das sich im Hinblick auf Variablentypen sehr flexibel verhält. Beispiele für solche Typen sind int für Zahlenwerte, boolean für Wahrheitswerte – und void, wenn nichts zurückgegeben wird. Auch bei Parametern für die Methoden muss der Typ angegeben werden.

public class klassenname{
   private int quadrat(int i){
      return i*i;
   }
   public pythagoras(int kathete1, int kathete2){
      int summe = quadrat(kathete1) + quadrat(kathete2);
      return Math.sqrt(summe);
   }
}

Eine weitere Eigenheit von Java besteht darin, dass nicht alle Methoden und Eigenschaften von überall her abgefragt werden können. Im obigen Beispiel kann die Funktion quadrat(), die mit dem Schlüsselwort private gekennzeichnet ist, nur innerhalb dieser Klasse aufgerufen werden, also nicht von anderen Klassen aus. Die Funktion pythagoras(), die übrigens die Länge der Hypotenuse in einem rechtwinkligen Dreieck berechnet – also die Länge derjenigen Seite, die dem rechten Winkel gegenüber liegt – und dabei quadrat() benutzt, ist durch das Schlüsselwort public gekennzeichnet. Dieses gibt an, dass diese Methode von überall her aufgerufen werden darf – auch von JavaScript aus!

Die wohl größte Fehlerquelle am Anfang ist die Tatsache, dass jeder Befehl mit einem Semikolon beendet werden muss! Da wünscht man sich manchmal das nicht so strenge JavaScript herbei.

 <<   zurück
  
  Zum Katalog
Zum Katalog: JavaScript und AJAX
JavaScript und AJAX
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: JavaScript






 JavaScript


Zum Katalog: jQuery






 jQuery


Zum Katalog: Einstieg in JavaScript






 Einstieg in JavaScript


Zum Katalog: Responsive Webdesign






 Responsive Webdesign


Zum Katalog: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Rheinwerk Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de