HTML5-Tutorium: Canvas: Hello World 01: Unterschied zwischen den Versionen

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Keine Bearbeitungszusammenfassung
Zeile 2: Zeile 2:
'''Musterlösung''': [http://glossar.hs-augsburg.de/beispiel/tutorium/html5_canvas/hello_world/html5_canvas_hello_world_01/WebContent/hallo.html <code>hallo.html</code>]
'''Musterlösung''': [http://glossar.hs-augsburg.de/beispiel/tutorium/html5_canvas/hello_world/html5_canvas_hello_world_01/WebContent/hallo.html <code>hallo.html</code>]
([http://glossar.hs-augsburg.de/beispiel/tutorium/html5_canvas/hello_world/html5_canvas_hello_world_01 SVN-Repository])
([http://glossar.hs-augsburg.de/beispiel/tutorium/html5_canvas/hello_world/html5_canvas_hello_world_01 SVN-Repository])
=Ziel: Ausgabe von „Hallo Welt!“ auf einem HTML5-Canvas=
==Ziel: Ausgabe von „Hallo Welt!“ auf einem HTML5-Canvas==


Es soll eine einfache HTML5/JavaScript-Anwendung erstellt werden, die „Hallo Welt!“ auf einer HTML5-Bühne (Canvas) als Pixelgrafik ausgibt.
Es soll eine einfache HTML5/JavaScript-Anwendung erstellt werden, die „Hallo Welt!“ auf einer HTML5-Bühne (Canvas) als Pixelgrafik ausgibt.


=Eclipse vorbereiten=
==Eclipse vorbereiten==


Zur Erstellung der Anwendung wird [[Installation von Eclipse (Windows)|Eclipse]] eingesetzt.
Zur Erstellung der Anwendung wird [[Installation von Eclipse (Windows)|Eclipse]] eingesetzt.
Zeile 32: Zeile 32:
* <code>OK</code>
* <code>OK</code>


=Musterlösung herunterladen=
==Musterlösung herunterladen==


Laden Sie die [http://glossar.hs-augsburg.de/beispiel/tutorium/html5_canvas/hello_world/html5_canvas_hello_world_01/ Musterlösung]
Laden Sie die [http://glossar.hs-augsburg.de/beispiel/tutorium/html5_canvas/hello_world/html5_canvas_hello_world_01/ Musterlösung]
Zeile 46: Zeile 46:
* <code>Fertigstellen</code>
* <code>Fertigstellen</code>


==Anmerkung==
===Anmerkung===


Auf dieselbe Weise können Sie auch Ihre eigenen Projekte aus Ihrem eigenen Repository auf beliebige Rechner laden.
Auf dieselbe Weise können Sie auch Ihre eigenen Projekte aus Ihrem eigenen Repository auf beliebige Rechner laden.
Zeile 61: Zeile 61:
*Im Projektexplorer: Rechtsklick auf das aktuelle Projekt → Klick auf <code>Team</code> → Click auf <code>Update to HEAD</code>
*Im Projektexplorer: Rechtsklick auf das aktuelle Projekt → Klick auf <code>Team</code> → Click auf <code>Update to HEAD</code>


=Anwendung „<code>HelloWorldCanvas01</code>“=
==Anwendung „<code>HelloWorldCanvas01</code>“==
==Neues Projekt anlegen==
===Neues Projekt anlegen===


* <code>Datei</code> → <code>Neu</code> → <code>Statisches Web-Projekt</code>
* <code>Datei</code> → <code>Neu</code> → <code>Statisches Web-Projekt</code>
Zeile 79: Zeile 79:
* Öffnen der Perspektive bestätigen: Häckchen bei <code>Entscheidung merken</code> → '''<code>Nein</code>''' (Nicht <code>Ja</code>!!!!)
* Öffnen der Perspektive bestätigen: Häckchen bei <code>Entscheidung merken</code> → '''<code>Nein</code>''' (Nicht <code>Ja</code>!!!!)


==Projekt im Repository sichern==
===Projekt im Repository sichern===


Das neu angelegte Projekt wird gleich mal im Repository gesichert:
Das neu angelegte Projekt wird gleich mal im Repository gesichert:
Zeile 87: Zeile 87:
* <code>OK</code>
* <code>OK</code>


==Neue HTML-Datei anlegen==
===Neue HTML-Datei anlegen===


* Im Projektexplorer (linkes Fenster): <code>HelloWorldCanvas01</code> aufklappen
* Im Projektexplorer (linkes Fenster): <code>HelloWorldCanvas01</code> aufklappen
Zeile 93: Zeile 93:
* Dateiname: <code>hallo.html</code> → <code>Weiter</code> → Templates: <code>New HTML File (5)</code> → <code>Fertigstellen</code>
* Dateiname: <code>hallo.html</code> → <code>Weiter</code> → Templates: <code>New HTML File (5)</code> → <code>Fertigstellen</code>


==HTML-Datei bearbeiten==
===HTML-Datei bearbeiten===


Erfassen Sie nun folgenden Code in der HTML-Seite:
Erfassen Sie nun folgenden Code in der HTML-Seite:
Zeile 140: Zeile 140:
</source>
</source>


====Anmerkung 1====
=====Anmerkung 1=====
Auf das Canvas-Element wird ausschließlich von [[JavaScript]] aus zugegriffen.
Auf das Canvas-Element wird ausschließlich von [[JavaScript]] aus zugegriffen.
Sollte ein Browser dieses Element nicht unterstützen, so wird der alternative
Sollte ein Browser dieses Element nicht unterstützen, so wird der alternative
Zeile 146: Zeile 146:
könnte beispielsweise eine [[Flash]]-Anwendung ausgeführt werden.
könnte beispielsweise eine [[Flash]]-Anwendung ausgeführt werden.


====Anmerkung 2====
=====Anmerkung 2=====
Die Meta-Anweisung
Die Meta-Anweisung
<source lang="html4strict">
<source lang="html4strict">
Zeile 153: Zeile 153:
dient dazu, dass der Inhalt der Seite auf einem Smartphone in der richtigen Größe angezeigt wird.
dient dazu, dass der Inhalt der Seite auf einem Smartphone in der richtigen Größe angezeigt wird.


====Anmerkung 3====
=====Anmerkung 3=====
Es gibt auch einen WYSIWYG-Editor, den Sie folgendermaßen öffnen können:
Es gibt auch einen WYSIWYG-Editor, den Sie folgendermaßen öffnen können:
* Rechtklick in das Editor-Fenster oder auf den Dateinamen im Projektexplorer → <code>Öffnen mit</code> → <code>Web Page Editor</code>
* Rechtklick in das Editor-Fenster oder auf den Dateinamen im Projektexplorer → <code>Öffnen mit</code> → <code>Web Page Editor</code>
Zeile 159: Zeile 159:
Allerdings unterstützt dieser WYSIWYG-Editor die HTML5-Zeichenbühne [[Canvas]] nicht und ist daher für dieses Tutorium nicht sonderlich nützlich.
Allerdings unterstützt dieser WYSIWYG-Editor die HTML5-Zeichenbühne [[Canvas]] nicht und ist daher für dieses Tutorium nicht sonderlich nützlich.


==HTML-Seite testen==
===HTML-Seite testen===
* <code>hallo.html</code> speichern: <code>Strg-s</code>
* <code>hallo.html</code> speichern: <code>Strg-s</code>
* Wichtig: '''Im <code>Projektexplorer</code> jeweils vor dem Server-Aufruf <code>hallo.html</code> selektieren''', sonst erhalten Sie eine Fehlermeldung.
* Wichtig: '''Im <code>Projektexplorer</code> jeweils vor dem Server-Aufruf <code>hallo.html</code> selektieren''', sonst erhalten Sie eine Fehlermeldung.
Zeile 165: Zeile 165:
* <code>OK</code>  
* <code>OK</code>  


===Anmerkungen zum Firefox auf den Rechnern des MM-Labors===
====Anmerkungen zum Firefox auf den Rechnern des MM-Labors====


Defaultmäßig kann der Firefox im MM-Labor nicht auf lokale Webserver (wie z.B. den Aptana-Server) zugreifen.  
Defaultmäßig kann der Firefox im MM-Labor nicht auf lokale Webserver (wie z.B. den Aptana-Server) zugreifen.  
Zeile 177: Zeile 177:
* Haken von <code>Proxy-Einstellungen des Systems verwenden</code> auf <code>Manuelle Proxy-Konfiguration</code> setzen und als Ausnahme <code>localhost und 127.0.0.1</code> einstellen.  
* Haken von <code>Proxy-Einstellungen des Systems verwenden</code> auf <code>Manuelle Proxy-Konfiguration</code> setzen und als Ausnahme <code>localhost und 127.0.0.1</code> einstellen.  


===Anmerkungen zum Test-Sever===
====Anmerkungen zum Test-Sever====


'''Solange Sie nur HTML-Seiten, die JavaScript-Code enthalten, testen wollen, ist das Serverziel <code>JavaScript Web Application</code> die beste Wahl.'''
'''Solange Sie nur HTML-Seiten, die JavaScript-Code enthalten, testen wollen, ist das Serverziel <code>JavaScript Web Application</code> die beste Wahl.'''
Zeile 211: Zeile 211:
* Klick auf Icon „grüner Kreis mit weißem Dreieck“ (Server starten)
* Klick auf Icon „grüner Kreis mit weißem Dreieck“ (Server starten)


==Projekt im Repository sichern==
===Projekt im Repository sichern===


Jedes funktionierende Zwischenergebnis eines Projektes sollte im Repository gespeichert werden:
Jedes funktionierende Zwischenergebnis eines Projektes sollte im Repository gespeichert werden:
Zeile 219: Zeile 219:
* <code>OK</code>
* <code>OK</code>


==JavaScript-Code auslagern==
===JavaScript-Code auslagern===


Man sollte i. Allg. vermeiden, Javascript-Code direkt in eine HTML-Seite einzufügen.
Man sollte i. Allg. vermeiden, Javascript-Code direkt in eine HTML-Seite einzufügen.
Zeile 232: Zeile 232:
* Rechtsklick auf Ordner <code>js</code> → <code>Neu</code> → <code>Datei</code> → Dateiname: <code>main.js</code> → <code>Fertigstellen</code>
* Rechtsklick auf Ordner <code>js</code> → <code>Neu</code> → <code>Datei</code> → Dateiname: <code>main.js</code> → <code>Fertigstellen</code>


===Inhalt der Datei <code>main.js</code>===
====Inhalt der Datei <code>main.js</code>====


Wie bei HTML-Dateien können Sie auch für JavaScript eine alternativen Editor verwenden:
Wie bei HTML-Dateien können Sie auch für JavaScript eine alternativen Editor verwenden:
Zeile 255: Zeile 255:
</source>
</source>


===Geänderter Inhalt der Datei <code>hallo.html</code>===
====Geänderter Inhalt der Datei <code>hallo.html</code>====
<source lang="html4strict">
<source lang="html4strict">
<!DOCTYPE html>
<!DOCTYPE html>
Zeile 286: Zeile 286:
</source>
</source>


====Tipp====
=====Tipp=====
Benutzen Sie am Besten die Code-Vervollständigung (<code>Strg-Leerzeichen</code> bzw. <code>Ctrl-Space</code>).
Benutzen Sie am Besten die Code-Vervollständigung (<code>Strg-Leerzeichen</code> bzw. <code>Ctrl-Space</code>).
Dazu müssen Sie aber zunächst einen geeigneten JavaScript-Editor wählen:
Dazu müssen Sie aber zunächst einen geeigneten JavaScript-Editor wählen:
Zeile 305: Zeile 305:
* <code>OK</code>
* <code>OK</code>


==Projekt testen==
===Projekt testen===


Testen Sie Ihr Projekt wieder, indem Sie im Firefox  neu laden (Reload oder F5).
Testen Sie Ihr Projekt wieder, indem Sie im Firefox  neu laden (Reload oder F5).
Zeile 335: Zeile 335:
für freigegebene HTML-Seiten ein absolutes No-Go.
für freigegebene HTML-Seiten ein absolutes No-Go.


==Projekt im Repository sichern==
===Projekt im Repository sichern===


Auch das Endergebnis des Projektes sollte im Repository gespeichert werden:
Auch das Endergebnis des Projektes sollte im Repository gespeichert werden:
Zeile 343: Zeile 343:
* <code>OK</code>
* <code>OK</code>


==Repostitory begutachten==
===Repostitory begutachten===


Nun können Sie den Inhalt in Ihrem Repository betrachten.
Nun können Sie den Inhalt in Ihrem Repository betrachten.
Zeile 377: Zeile 377:
damit Sie künftig schneller in diese Perspektive wechseln können.
damit Sie künftig schneller in diese Perspektive wechseln können.


=Quellen=
==Quellen==
* {{Quelle|Kowarschick, W.: Multimedia-Programmierung}}
* {{Quelle|Kowarschick, W.: Multimedia-Programmierung}}
* [http://blog.webagesolutions.com/archives/419 Coding HTML5 Pages Using Eclipse]
* [http://blog.webagesolutions.com/archives/419 Coding HTML5 Pages Using Eclipse]
* [http://www.html5canvastutorials.com/tutorials/html5-canvas-text/ HTML5 Canvas Text Tutorial]
* [http://www.html5canvastutorials.com/tutorials/html5-canvas-text/ HTML5 Canvas Text Tutorial]


=Siehe auch=
==Siehe auch==
* {{SieheAuch|Pilgrim (2011)}}
* {{SieheAuch|Pilgrim (2011)}}
* [http://www.w3schools.com/html/html5_intro.asp w3schools.com: HTML5]
* [http://www.w3schools.com/html/html5_intro.asp w3schools.com: HTML5]
* [http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html HTML Living Standard — The canvas element]
* [http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html HTML Living Standard — The canvas element]


=Fortsetzung des Tutoriums=
==Fortsetzung des Tutoriums==


Sie sollten nun [[HTML5-Tutorium: Canvas: Hello World 02|Teil 2 des Tutoriums]] bearbeiten.
Sie sollten nun [[HTML5-Tutorium: Canvas: Hello World 02|Teil 2 des Tutoriums]] bearbeiten.
[[Kategorie: HTML5-Tutorium: Canvas: Hello World]][[Kategorie: HTML5-Beispiel]][[Kategorie:Kapitel:Multimedia-Programmierung:Beispiele]]
[[Kategorie: HTML5-Tutorium: Canvas: Hello World]][[Kategorie: HTML5-Beispiel]][[Kategorie:Kapitel:Multimedia-Programmierung:Beispiele]]

Version vom 8. September 2016, 17:14 Uhr

Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen:

Korrektheit: 4
(großteils überprüft)
Umfang: 4
(unwichtige Fakten fehlen)
Quellenangaben: 5
(vollständig vorhanden)
Quellenarten: 5
(ausgezeichnet)
Konformität: 4
(sehr gut)

HTML-Tutorium Hello World: JavaScript | Canvas | SVG

Inhalt | Teil 1 | Teil 2

Musterlösung: hallo.html (SVN-Repository)

Ziel: Ausgabe von „Hallo Welt!“ auf einem HTML5-Canvas

Es soll eine einfache HTML5/JavaScript-Anwendung erstellt werden, die „Hallo Welt!“ auf einer HTML5-Bühne (Canvas) als Pixelgrafik ausgibt.

Eclipse vorbereiten

Zur Erstellung der Anwendung wird Eclipse eingesetzt.

Beim ersten Start von Eclipse werden Sie nach einem Workspace gefragt. Wählen Sie einen geeigneten Ordner aus:

  • Privater Rechner: z.B. C:\web\mmprog
  • HSA-Rechner: z.B. Z:\mmprog\workspace (Wichtig ist, dass Sie das Laufwerk Z, das ist Ihr persönliches Benutzerverzeichnis, benutzen.)

Zum Testen wird der Browser Firefox mit dem Firebug-Plugin verendet.

Unter Eclipse kann der Testbrowser folgendermaßen festgelegt werden:

  • FensterBenutzervorgabenAllgemein aufklappen → Webbrowser selektieren → Verwende externen Web-Browser selektieren → Häckchen vor FirefoxOK

Zunächst sollte man die „richtige“ Oberfläche auswählen:

  • FensterPerspektive öffnenWeb (evtl. unter dem Punkt Andere... zu finden;

Beachten Sie, es gibt zwei Web-Perspektiven. Wählen Sie diejenige, die die Weltkugel mit Stift als Icon hat.

Außerdem muss der Character Code korrekt eingestellt werden:

  • FensterBenutzervorgabenAllgemein aufklappen → Arbeitsbereich selektieren
  • Sonstige selektieren → UTF-8 im Drop-Down-Menü selektieren
  • OK

Musterlösung herunterladen

Laden Sie die Musterlösung in Eclipse:

  • Klick auf Reiter DateiImportieren
  • SVN aufklappen → Klick auf Checkout Projects from SVNWeiter
  • Entweder
  • Weiter
  • Nachden der Dateibaum aufgegangen ist: html5_canvas aufklappen → hello_world aufklappen → html5_canvas_hello_world_01 selektieren
  • Fertigstellen

Anmerkung

Auf dieselbe Weise können Sie auch Ihre eigenen Projekte aus Ihrem eigenen Repository auf beliebige Rechner laden.

Wenn Sie mit der Bearbeitung Ihres Projektes auf einem Rechner aufhören, sollten Sie stets den aktuellen Stand in Ihrem Repository sichern:

  • Im Projektexplorer: Rechtsklick auf das aktuelle Projekt → Klick auf Team → Click auf Commit

Wenn Sie danach auf einem anderen Rechner an diesem Projekt weiterarbeiten wollen, müssen sie beim ersten MAl das Projekt in der oben beschriebenen Weise aus dem Repository auf Ihren Rechner laden. Wenn Sie dies einmal gemacht haben, reicht es wen Sie künftig die lokale Version auf dem Rechner aktualisieren, bevor Sie mit der Arbeit beginnen:

  • Im Projektexplorer: Rechtsklick auf das aktuelle Projekt → Klick auf Team → Click auf Update to HEAD

Anwendung „HelloWorldCanvas01

Neues Projekt anlegen

  • DateiNeuStatisches Web-Projekt
  • Project name: HelloWorldCanvas01Fertigstellen
  • Eventuell: Web-Perspektive wählen

Speichern Sie nun Ihr Projekt in Ihrem Repository:

  • Projektexplorer: Rechtsklick auf HelloWorldCanvas01TeamProjekt gemeinsam nutzen
  • SVNWeiter
  • Create a new repository location selektieren
  • URL: https://praktikum.multimedia.hs-augsburg.de/svn/ACCOUNT (ACCOUNT durch eigenen RZ-Account ersetzen) → Weiter
  • Use specified folder name: mmprog/tutorium/HelloWorldCanvas01Fertigstellen
  • Beim ersten Mal: Klick auf Accept permanently
  • Beim ersten Mal: Passwort eingeben → Häckchen bei Passwort merken (sonst muss man künftig für jede hozuladende Datei das Passwort eingeben) → OK
  • Öffnen der Perspektive bestätigen: Häckchen bei Entscheidung merkenNein (Nicht Ja!!!!)

Projekt im Repository sichern

Das neu angelegte Projekt wird gleich mal im Repository gesichert:

  • Im Projektexplorer: Rechtsklick auf HelloWorldCanvas01TeamCommit
  • Enter a comment for the commit operation: Neues Projekt angelegt.
  • OK

Neue HTML-Datei anlegen

  • Im Projektexplorer (linkes Fenster): HelloWorldCanvas01 aufklappen
  • Rechtsklick auf Ordner WebContentNeuHTML file
  • Dateiname: hallo.htmlWeiter → Templates: New HTML File (5)Fertigstellen

HTML-Datei bearbeiten

Erfassen Sie nun folgenden Code in der HTML-Seite:

<!DOCTYPE html>
<html>
  <head>

    <!-- Titel der HTML-Seite; wird i. Allg. im Browser im Reiter angezeigt -->
    <title>HTML5-Tutorium: Canvas: Hello World 01</title>

    <!-- Als HTML-Encoding sollte man stets UTF-8 verwenden. -->
    <meta charset="UTF-8">

    <!-- Korrektes Skalieren der Seite auf einem mobilen Endgerät -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
 
    <!-- Zeichnen von "Hallo Welt!" auf der Bühne
         (nachdem die Seite geladen wurde). -->
    <script type="text/javascript">
      function init()
      { var l_canvas = document.getElementById("d_canvas");
 
        l_canvas.width  = 300;
        l_canvas.height =  27;
 
        var l_context = l_canvas.getContext("2d");
        
        l_context.font = "bold 20px 'Times New Roman', Times, serif";
        l_context.fillText("Hallo Welt!", 5, 20);
      }
    </script>

  </head>

  <body onload="init()">

    <!-- Die Bühne (Canvas) -->
    <canvas id="d_canvas">
      Ihr Browser unterstützt HTML5 leider nicht!
    </canvas>

  </body>
</html>
Anmerkung 1

Auf das Canvas-Element wird ausschließlich von JavaScript aus zugegriffen. Sollte ein Browser dieses Element nicht unterstützen, so wird der alternative HTML-Code innerhalb des Canvas-Element gerendert und ausgegeben. Hier könnte beispielsweise eine Flash-Anwendung ausgeführt werden.

Anmerkung 2

Die Meta-Anweisung

<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">

dient dazu, dass der Inhalt der Seite auf einem Smartphone in der richtigen Größe angezeigt wird.

Anmerkung 3

Es gibt auch einen WYSIWYG-Editor, den Sie folgendermaßen öffnen können:

  • Rechtklick in das Editor-Fenster oder auf den Dateinamen im Projektexplorer → Öffnen mitWeb Page Editor

Allerdings unterstützt dieser WYSIWYG-Editor die HTML5-Zeichenbühne Canvas nicht und ist daher für dieses Tutorium nicht sonderlich nützlich.

HTML-Seite testen

  • hallo.html speichern: Strg-s
  • Wichtig: Im Projektexplorer jeweils vor dem Server-Aufruf hallo.html selektieren, sonst erhalten Sie eine Fehlermeldung.
  • In der Icon-Zeile: Klick auf Icon „grüner Kreis mit weißen Dreieck“ → Serverziel auswählen: JavaScript Web Application
  • OK

Anmerkungen zum Firefox auf den Rechnern des MM-Labors

Defaultmäßig kann der Firefox im MM-Labor nicht auf lokale Webserver (wie z.B. den Aptana-Server) zugreifen.

Grund: In diesem Firefox ist eine unpassende Proxy-Konfiguration voreingestellt. Diese Einstellung verhindert den Zugriff auf localhost.

Lösung des Problems:

  • Firefox starten
  • Einstellungen → Erweitert → Netzwerk → Einstellungen
  • Haken von Proxy-Einstellungen des Systems verwenden auf Manuelle Proxy-Konfiguration setzen und als Ausnahme localhost und 127.0.0.1 einstellen.

Anmerkungen zum Test-Sever

Solange Sie nur HTML-Seiten, die JavaScript-Code enthalten, testen wollen, ist das Serverziel JavaScript Web Application die beste Wahl.

Sie können allerdings auch andere Web-Server verwenden:

  • Den HTTP-Preview-Server, der in Eclipse integriert ist (probieren Sie diesen ruhig einmal an Stelle des JavaScript-Web-Application-Servers aus)
  • Tomcat (hier muss Tomcat installiert und mit Eclipse verknüpft werden)
  • Apache (hier muss Apache installiert und mit Eclipse verknüpft werden; siehe Teil 2 des Tutoriums)
  • etc.

In allen diesen Fällen müssten Sie Run on Server an Stelle von JavaScript Web Application auswählen:

  • In der Icon-Zeile: Klick auf Icon „grüner Kreis mit weißen Dreieck“ → Serverziel auswählen: Run on Server
  • OK

Den HTTP-Preview-Server wählen Sie folgendermaßen:

  • HTTP PreviewFertigstellen

Beachten Sie, dass beim HTTP-Preview-Server mit jedem Klick des Debug-Icons (grüner Kreis mit weißen Dreieck) ein neues Browserfenster in Eclipse bzw. im Firefox geöffnet wird. Daher ist es sinnvoller, im bestehenden Browserfenster das Reload-Icon (zwei kreisförmig angeordnete Pfeile) anzuklicken, um Änderungen an einer der Web-Dateien sichtbar zu machen.

Für komplexere Web-Seiten mit PHP-Code, JSP-Code etc. muss man einen echten Server (wie Apache oder Tomcat) installieren und mit Eclipse verknüpfen.

Wenn der von Ihnen gewählte Test-Web-Server Probleme hat, die neuen HTML-Seiten darzustellen, kann es notwendig sein, den Server neu zu starten:

  • Reiter Server im unteren Fenster selektieren
  • Klick auf Icon „rotes Recheck“ (Server stoppen)
  • Klick auf Icon „grüner Kreis mit weißem Dreieck“ (Server starten)

Projekt im Repository sichern

Jedes funktionierende Zwischenergebnis eines Projektes sollte im Repository gespeichert werden:

  • Im Projektexplorer: Rechtsklick auf HelloWorldCanvas01TeamCommit
  • Enter a comment for the commit operation: hallo.html, ein HTML5-JavaScript-Moloch wurde erstellt.
  • OK

JavaScript-Code auslagern

Man sollte i. Allg. vermeiden, Javascript-Code direkt in eine HTML-Seite einzufügen. Diese Verknüpfung von View und Control bringt nur Nachteile mit sich:

  • Der Code wird unübersichtlicher, da zwei unterschiedliche Sprachen gemischt werden (Impedance Mismatch).
  • Der JavaScript-Code kann nicht in mehreren HTML-Dateien eingesetzt werden (Don't Repeat Yourself).
  • Die Ladezeiten der einzelnen Seiten werden länger, wenn derselbe JavaScript-Code in unterschiedlichen Seinten eingebaut ist und für jede dieser Seiten erneut geladen werden muss.

Aus diesen Gründen sollte man den JavaScript-Code in eigene Dateien auslagern:

  • Rechtsklick auf Ordner WebContentNeuOrdner → Ordnername: jsFertigstellen
  • Rechtsklick auf Ordner jsNeuDatei → Dateiname: main.jsFertigstellen

Inhalt der Datei main.js

Wie bei HTML-Dateien können Sie auch für JavaScript eine alternativen Editor verwenden: JavaScript Source Editor

"use strict"; /* Warne vor unsauberem JavaScript-Code! */

function init()
{ // Erzeugung und Initialisierung der Bühne (Canvas)
  var l_canvas = document.getElementById("d_canvas"); 

  l_canvas.width  = 300;
  l_canvas.height =  27;

  // Textausgabe (auf der Bühne)
  var l_context = l_canvas.getContext("2d");

  l_context.font = "bold 20px 'Times New Roman', Times, serif";
  l_context.fillText("Hallo Welt!", 5, 20);
}

Geänderter Inhalt der Datei hallo.html

<!DOCTYPE html>
<html>
  <head>

    <!-- Titel der HTML-Seite; wird i. Allg. im Browser im Reiter angezeigt -->
    <title>HTML5-Tutorium: Canvas: Hello World 01</title>

    <!-- Als HTML-Encoding sollte man stets UTF-8 verwenden. -->
    <meta charset="UTF-8">

    <!-- Korrektes Skalieren der Seite auf einem mobilen Endgerät -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">

    <!-- Laden aller JavaScript-Dateien -->
    <script type="text/javascript" src="js/main.js"></script>

  </head>

  <body onload="init()">

    <!-- Die Bühne (Canvas) -->
    <canvas id="d_canvas">
      Ihr Browser unterstützt HTML5 leider nicht!
    </canvas>

  </body>
</html>
Tipp

Benutzen Sie am Besten die Code-Vervollständigung (Strg-Leerzeichen bzw. Ctrl-Space). Dazu müssen Sie aber zunächst einen geeigneten JavaScript-Editor wählen:

  • Klick mit der rechten Maustaste im Editor der Datei main.js oder im Projektexplorer auf den Dateinamen main.jsÖffnen mitJavaScript Source Editor

Beispiel:

  • Klicken Sie testweise im Editor-Fenster der Datei main.js in die leere Zeile 7 der Funktion init.
  • Tippen Sie l_, drücken Sie gegebenenfalls gegebenenfalls Strg-Leertaste und wählen Sie z.B. l_canvas.
  • Geben Sie einen Punkt (.) ein und wählen Sie irgendeine Property aus dem erscheinenden Menü.
  • Löschen Sie den eben erfassten Inhalt wieder. (Ihre Datei main.js sollte ja schon fertiggestellt gewesen sein.)

Bevorzugten Editor als Standardeditor definieren:

  • FensterBenutzervorgabenAllgemein aufklappen → Editoren aufklappen → Dateizuordnungen selektieren
  • Dateitypen: Gewünschte Dateiart wählen (z.B.: .js)
  • Zugeordnete Editoren: Gewünschten Editor wählen (z.B.: JavaScript Source Editor)
  • Standardwert
  • OK

Projekt testen

Testen Sie Ihr Projekt wieder, indem Sie im Firefox neu laden (Reload oder F5).

Häufig ist der JavaScript-Code bei den ersten Tests fehlerhaft. In diesen Fällen hilft einem die JavaScript-Konsole, die z.B. über das Firefox-Plugin Firebug zugänglich ist, häufig weiter.

Fügen Sie folgenden Code am Ende des Rumpfes der init-Funktion ein:

  console.log( "Canvas wurde erstellt: ", 
               l_canvas.width + "*" + l_canvas.height + " Pixel."
             );

Wenn Sie nun die Anwendung erneut im Firefox ausführen, sehen Sie zunächst keine Veränderung.

Überprüfen Sie, ob Firebug im Firefox aktiviert wurde (Drop-Down-Menü beim Icon mit dem Bug (= Käfer) in der rechten oberen Ecke von Firefox).

Öffnen Sie nun das Firebug-Fenster (Icon mit dem Bug) und laden Sie die JavaScript-Anwendung erneut (Reload im Firefox).

Nun sollten Sie im Konsolen-Fenster von Firebug einen Kommentar lesen können.

Wenn alle Tests erfolgreich verlaufen sind, ist es sinnvoll, die Konsolenausgaben mittels // oder /* ... */ auszukommentieren.

Anmerkung: In älteren Internet-Explorer-Browsern laufen JavsScript-Programme mit Konsolen-Ausgaben nur ab, wenn die Konsole geöffnet ist. Daher sind Konsolen-Ausgaben für freigegebene HTML-Seiten ein absolutes No-Go.

Projekt im Repository sichern

Auch das Endergebnis des Projektes sollte im Repository gespeichert werden:

  • Im Projektexplorer: Rechtsklick auf HelloWorldCanvas01TeamCommit
  • Enter a comment for the commit operation: main.js wurde erstellt, zur Auslagerung des JS-Codes aus hallo.html.
  • OK

Repostitory begutachten

Nun können Sie den Inhalt in Ihrem Repository betrachten.

Hier sehen Sie zunächst den Inhalt des von Ihnen gespeicherten Projektes. Das Repository kann aber noch mehr. Sie können sich alle gespeicherten Versionen Ihres Projektes ansehen:

  • Rechtsklick auf HelloWorldCanvas01 aufklappen → Show History

Nun sehen Sie im Protokoll-Fester die verschiedenen Versionen des Projektes, mit Revisionsnummer, Author (ein Repository kann von mehreren Autoren gleichzeitig benutzt werden) sowie die von Ihnen eingegebenen Kommentare.

Als Letztes sollten Sie sich die Entwicklung der Datei hallo.html einmal näher ansehen:

  • Im Dateibaum WebContent aufklappen → Rechtsklick auf hallo.htmlShow Revision Graph

Hier sehen Sie, dass es von dieser Datei zwei Versionen gibt. Diese können wir auch miteinander vergleichen:

  • Im Dateibaum Rechtsklick auf hallo.htmlCompareOK

In Vergleich der beiden Versionen erkennt mann, dass der JavaScript-Code durch einen Zugriff auf die Datei js/main.js ersetzt wurde.

Kehren Sie nun in die normale Arbeitsumgebung zurück:

  • In der Icon-Leiste oben rechts auf das Icon der Arbeitsumgebung (Perspektive) Web klicken.

Neben den Icon Web finden Sie jetzt auch ein Icon für die Arbeitsumgebung SVN Repository Exploring, damit Sie künftig schneller in diese Perspektive wechseln können.

Quellen

Siehe auch

Fortsetzung des Tutoriums

Sie sollten nun Teil 2 des Tutoriums bearbeiten.