HTML5-Tutorium: Canvas: Hello World 01: Unterschied zwischen den Versionen
Kowa (Diskussion | Beiträge) |
Kowa (Diskussion | Beiträge) |
||
| Zeile 161: | Zeile 161: | ||
</html> | </html> | ||
</source> | </source> | ||
=Daten im Repository sichern= | |||
*Im Projektexplorer: Rechtsklick auf <code>HelloWorldCanvas01</code> → <code>Team</code> → <code>Commit</code> | |||
=Quellen= | =Quellen= | ||
Version vom 19. September 2012, 16:49 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
Ergebnis: hello.html
(SVN-Repository)
HTML5: Hello-Word-Anwendung mit Canvas
Zur Erstellung der Anwendung wird Eclipse eingesetzt. Alle Eclipse-Versionen ab Helios eignen sich zur Erstellung von HTML5-Web-Anwendungen.
Eclipse vorbereiten
(Dieser Punkt kann übersprungen werden, wenn man den Workspace http://glossar.hs-augsburg.de/svn/eclipse/workspace-mmprog heruntergeladen hat und in Eclipse als akutellen Workspace verwendet.)
Zunächst sollte man die „richtige“ Oberfläche auswählen:
Fenster→Perspektive öffnen→Web(evtl. unter dem PunktAndere...zu finden; Beachten Sie, es gibt zwei Web-Perspektiven; Wählen Sie diejenige, die die Weltkugel mit Stift als Icon hat)
Bei Eclipse-Versionen vor Juno muss außerdem der Character Code korrekt eingestellt werden:
Fenster→Benutzervorgaben→Webaufklappen ->HTML-Filesselektieren- Codierung:
ISO Latin-1durchISO 10646/Unicode(UTF-8)ersetzen OK
Musterlösung herunterladen
(Dieser Punkt kann übersprungen werden, wenn man den Workspace http://glossar.hs-augsburg.de/svn/eclipse/workspace-mmprog heruntergeladen hat und in Eclipse als akutellen Workspace verwendet.)
- Klick auf Reiter
Datei→Importieren SVNaufklappen → Klick aufCheckout Projects from SVN→Weiter- Entweder
Use existing repository location:undhttp://glossar.hs-augsburg.de/svn/tutoriumselektieren (falls vorhanden)Create a new repsotiory locationwählen →Weiter→ Url:http://glossar.hs-augsburg.de/svn/tutorium
Weiter- Nachden der Dateibaum aufgegangen ist:
html5_canvasaufklappen →hello_worldaufklappen →html5_canvas_hello_worl_01selektieren Fertigstellen
Neues Projekt anlegen
Datei→Neu→Statisches Web-Projekt- Project name:
HelloWorldCanvas01→Fertigstellen Projektexplorer: Rechtsklick aufHelloWorldCanvas01→Team→Projekt gemeinsam nutzenSVN→Weiter→- Url:
https://praktikum.multimedia.hs-augsburg.de/svn/ACCOUNT(ACCOUNTdurch eigenen RZ-Account ersetzen; es kann auch jedes andere SVN-Repository verwendet werden) →Weiter - Use specified folder name:
mmprog/tutorium→Fertigstellen - Hackchen bei
Entscheidung merken→Nein(NichtJa!!!!)
Neue HTML-Datei anlegen
- Im Projektexplorer (linkes Fenster):
HelloWorldCanvas01aufklappen - Rechtsklick auf Ordner
WebContent→Neu→HTML file - Dateiname:
hello.html→Weiter→ Templates:New HTML File (5)→Fertigstellen
HTML-Datei bearbeiten
Benutzen Sie am Besten immer die Code-Vervollständigung (Strg-Leerzeichen bzw. Crtl-Space).
Beispiel:
- Klicken Sie im Editor-Fenster (mit der Überschrift
hello.html) in die Leerzeile nach<body> - Drücken Sie
Strg-Leerzeichenund wählen Sie<> canvas
Es gibt auch einen WYSIWYG-Editor, den Sie folgendermaßen öffnen können:
- Rechtklick in das Editor-Fenster →
Öffnen mit→Web Page Editor
Erfassen Sie folgenden Code in der HTML-Seite:
<!DOCTYPE html>
<html>
<head>
<title>HTML5-Tutorium: Canvas: Hello World 01</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<script type="text/javascript">
function init()
{
var l_canvas = document.getElementById("d_canvas");
var l_context = l_canvas.getContext("2d");
l_canvas.width = 300;
l_canvas.height = 27;
l_context.font = "bold 20px 'Times New Roman', Times, serif";
l_context.fillText("Hello, world!", 5, 20);
}
</script>
</head>
<body onload="init()">
<canvas id="d_canvas">
Ihr Browser unterstützt Canvas nicht.
</canvas>
</body>
</html>
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.
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.
HTML-Seite testen
hello.htmlspeichern:Strg-s- In der Icon-Zeile: Klick auf Icon „grüner Kreis mit weißen Dreieck“ → Serverziel auswählen:
JavaScript Web Application OK
Beim zweiten Debugging-Aufruf kann man den gewünschten Server direkt aus einer Liste auswählen und diesen auch als Projektstandard festlegen, damit man nicht bei jedem Debugging-Vorgang erneut einen Server wählen muss:
- Haken vor
Server als Projektstandardeinstellung (nicht wieder fragen)→Fertigstellen
Allerdings wird mit jedem Klick des Debug-Icons (grüner Keris mit weißen Dreieck) ein neues Browserfenster in Eclipse geöffnet. Sinnvoller ist es daher, im bestehenden Browserfenster das Reload-Icon (zwei kreiförmig angeordnete Pfeile) anzuklicken, um Änderungen an einer der Web-Dateien sichtbar zu machen.
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
WebContent→Neu→Ordner→ Ordnername:js→Fertigstellen - Rechtsklick auf Ordner
js→Neu→Datei→ Dateiname:main.js→Fertigstellen
Inhalt der Datei main.js
function init()
{
var l_canvas = document.getElementById("d_canvas");
var l_context = l_canvas.getContext("2d");
l_canvas.width = 300;
l_canvas.height = 27;
l_context.font = "bold 20px 'Times New Roman', Times, serif";
l_context.fillText("Hello, world!", 5, 20);
}
Geänderter Inhalt der Datei hello.html
<!DOCTYPE html>
<html>
<head>
<title>HTML5-Tutorium: Canvas: Hello World 01</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<script type="text/javascript" src="js/main.js"></script>
</head>
<body onload="init()">
<canvas id="d_canvas">
Ihr Browser unterstützt Canvas nicht.
</canvas>
</body>
</html>
Daten im Repository sichern
- Im Projektexplorer: Rechtsklick auf
HelloWorldCanvas01→Team→Commit
Quellen
- Kowarschick (MMProg): Wolfgang Kowarschick; Vorlesung „Multimedia-Programmierung“; Hochschule: Hochschule Augsburg; Adresse: Augsburg; Web-Link; 2018; Quellengüte: 3 (Vorlesung)
- Coding HTML5 Pages Using Eclipse
- HTML5 Canvas Text Tutorial
- Musterlösung, Musterlösung (SVN)
