HTML5-Tutorium: JavaScript: Hello World 02

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Version vom 10. September 2016, 19:53 Uhr von Kowa (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „{{In Bearbeitung}} {{HTML5-Tutorium:JavaScript:HelloWorld:Menü}} {{TBD|Dieser Teil des Tutoriums ist bislang nur durhc Cop &am; Paste erstellt, aber noch nic…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Dieser Artikel wird derzeit von einem Autor gründlich bearbeitet. Die Inhalte sind daher evtl. noch inkonsistent.

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

Korrektheit: 3
(zu größeren Teilen überprüft)
Umfang: 4
(unwichtige Fakten fehlen)
Quellenangaben: 3
(wichtige Quellen vorhanden)
Quellenarten: 5
(ausgezeichnet)
Konformität: 3
(gut)

Vorlesung WebProg

Inhalt | Teil 1 | Teil 2 | Teil 3 | Teil 4 | Teil 5 | Teil 6 | Vue 1 | Vue 2 | Vue 3 | Vue 4 | Vue 5 | Vue 6

TO BE DONE

Dieser Teil des Tutoriums ist bislang nur durhc Cop &am; Paste erstellt, aber noch nicht bearbeitet worden

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

Ziel

Im ersten Teil dieses Tutoriums wird zunächst mit Hilfe der IDE (integrated development environment, Integrierte Entwicklungsumgebung) WebStorm eine Web-Anwendung bestehend aus einem HTML-Dokument samt zugegörigem CSS-Dokument erstellt.

Das HTML-Dokument enthält als einzigen Inhalt eine Begrüßung der gesamten Welt.

WebStorm vorbereiten

Zur Erstellung der Anwendung wird WebStorm eingesetzt. Zunächst müssen Sie diese IDE installieren und konfigurieren. Es handelt sich um eine kommerzielle Software, aber als Student erhalten Sie eine kostenlose Lizenz.

WebStorm starten

Nach dem Starten der IDE sehen Sie ein Menü mit drei Alternativen, ein Projekt zu bearbeiten: Sie können eine neues Projekt erstellen, ein bestehendes Projekt öffnen oder ein bestehendes Projekt aus einem Versionsverwaltungstool laden (check out) und öffnen.

Sie werden zunächst die dritte Möglichkeit nutzen, um die Musterlösung zu dieser Tutoriumsaufgabe herunterzuladen. Anschließend erstellen Sie ein neues Projekt, das dieselbe Aufgabe erfüllt, wie die Musterlösung.

Die Musterlösung herunterladen

Starten Sie WebStorm und klicken Sie auf Check out from Version Control. Es öffnet sich ein Drop-Down-Menü mit diversen Versionsverwaltungssystemen (GitHub, CVS, Git, Mercurial und Subversion) . Sie wählen Subversion aus.

Anmerkung: Ich weiß, dass Git viel „cooler“ und „mächtiger“ ist als Subversion. Wenn Sie kein Teilnehmer der an der Lehrveranstaltung [[1]] sind, können Sie an Stelle von Subversion gerne GitHub oder ein anderes Versionsverwaltungssystem verwenden, um Ihre Projekte zu verwalten. (Sie können sogar ganz darauf verzichten und Ihre Tutoriumslösungen nicht in einem Versionsverwaltungssystem sichern. Davon rate ich aber ab.) Im Praktikum zur Lehrveranstaltung wird jedoch Subversion verwendet, da die Administration von Dutzenden von Subversion-Accounts für den Dozenten wesentlich einfacher ist.

TO BE DONE

Ein neues Projekt erstellen

Starten Sie WebStorm und klicken Sie auf Create New Project. Wählen Sie im linken Frame der Seite, die sich geöffnet hat, Empty Project, wählen Sie im Feld Location einen sinnvollen Pfad aus, wo auf Ihrem Rechner Sie das Projekt speichern wollen (z. B. .../mmprog/HelloWorld/HelloWorld01) und klicken Sie anschließend auf Create.

Links sehen Sie nun ein senkrechtes Menü mit zwei Menüpunkten Structure und Project. Klicken Sie auf Project. Es erscheint ein Dateibaum, der alle Dateien Ihres Projektes enthält. Bislang gibt es nur das Wurzelverzeichnis mit dem Projektnamen (HelloWorld01) sowie eine Systemdatei External Libraries, die uns derzeit nicht weiter interessiert.

Klicken Sie mit der rechten Maus auf das Wurzelverzeichnis des Baumes und anschließend auf New. Es öffnet sich ein Drop-Down-Menü mit einer Auswahl an Dateien, die Sie erstellen können.

Erstellen Sie eine HTML-Datei index.html vom Typ HTML 5 file. In die HTML-Datei wurde von WebStrom folgender Code automatisch eingefügt:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>

</body>
</html>

Die erste Zeile legt den Typ der Datei fest. Diese Information benötigen dies Browser, damit sie den nach-volgenden HTML-Code richtig interpretieren und rendern können. Mit <!DOCTYPE html> wird festgelegt, dass es sich um eine HTML5-Datei handelt. Eine HTML-4.01-Datei, die die sich an die strengen HTML-4-Vorgaben hält (strict) würde eine wesentlich komplexere Doctype-Angabe erfordern:

<!DOCTYPE HTML PUBLIC
          "-//W3C//DTD HTML 4.01//EN"
          "http://www.w3.org/TR/html4/strict.dtd"
>

Es gibt noch diverse weitere HTML-Varianten. Wir werden uns allerdings auf HTML5 konzentrieren.

Die zweite und die letzte Zeile des Dokuments ( und ) begrenzen den eigentlichen HTML-Code. Das Attribut lang zeigt dem Browser an, in welcher Sprache das Dokument verfasst ist. Wenn ein deutsches HTML-Dokument erstellt werden soll, müssen Sie den Wert en (Englisch) in de (Deutsch) ändern. Da es sich bei „Hello World“ jedoch um einen englischen Text handelt, ändern wir den Attributwert nicht.

Innerhalb des öffnenden und des schließenden HTML-Tags müssen die beiden wesentlichen Bereiche eines HTML-Dokuments mit Inhalt gefüllt werden.

Im body-Bereich stehen die eigentlichen Inhalte, die dem Leser im Contentbereich des Browsers angezeigt werden sollen. Da WebStrom keine Ahnung hat, was für Inhalte präsentiert werden sollen, ist dieser Bereich noch leer.

Im head-Bereich stehen dagegen Informationen, die für den Browser zwar interessat sind, die aber nicht gerendert und im Content-Bereich des Browsers dargestellt werden müssen. Typische Vertreter sind der Titel des Dokuments, der im Browsertab angezeigt wird, sowie die Zeichenkodierung (UTF-8, ISO-8859-1, ASCII, ...). In HTML5 werden Zeichen standardmäßig in UTF-8 kodiert. In HTML 4 war noch ISO 8859-1 Standard. In ISO 8859-1 (ISO Latin 1) gibt es maximal 256 Zeichen. Davon sind 191 spezifiziert.[1] Mit UTF-8 können dagegen theoretisch über 4 Billionen Zeichen kodiert werden, praktisch werden aber (derzeit) nur etwas mehr als eine Million Kodierungen als korrekt angesehen.[2].

Die HTML-Datei mit Inhalten füllen

Im nächsten Schritt wird die von WebStorm erzeugte HTML-Datei mit Inhalten gefüllt. Es wird ein Titel in head-Bereich eingetragen sowie eine Hauptüberschrift (heading, <h1>...</h1>) sowie anschließend ein Absatz (paragraph, <p>...</p>) mit sinnvollem Text.

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>HelloWorld01</title>
</head>
<body>
  <h1>Hello, World!</h1>
  <p>Welcome to Multimedia Programming!</p>
</body>
</html>

Gewöhnen Sie sich an, ineinander verschachtelte Elemente der HTML-Datei ganz akribisch einzurücken. Ein schließendes Tag steht entweder in derselben Zeile wie das öffnende Tag oder beide sind exakt gleich weit eingerückt. Tag-Blöcke, die innerhalb von anderen Tags plaziert werden, werden um zwei Leerzeichen weiter eingerückt, als ihre Elterntags. Vier Leerzeichen, wie oft von der IDE vorgegeben, sind für größere, tief verschachtelte Dateien zuviel. (Eventuell ist aber auch die Datei zu groß und zu tief verschachtelt.) Eine Datei mit Programmcode sollte in der Regel nicht mehr als 80 Zeichen breit sein. Sonst leidet die Lesbarkeit zu sehr.

Verwenden Sie im Programmcode niemals Tabulatorzeichen, sondern immer Leerzeichen. Für wieviele Leerzeichen ein Tabulatorzeichen steht, ist nicht genormt. Das heißt, wenn eine Programmcode-Datei mit Tabulatorzeichen in einem Text-Editor korrekt strukturiert wird, kann die Struktur derselben Datei in einem anderen Editor oder im Browser (z. B. bei einem Web-Zugriff auf ein Repository eines Versionverwaltungssystems) fehlerhaft sein.

Fügen Sie nicht willkürlich Leerzeilen in den Code ein. Leerzeilen dienen ebenso wie Leerzeichen der Strukturierung und können – geschickt eingesetzt – die Lesbarkeit des Codes verbessern oder – unstrukturiert eingestreut – verschlechtern.

Alle drei der obigen Tipps sind für den Compiler oder den Interpreter eines Programmcodes vollkommen unerheblich. Diese Werkzeuge kommen mit jedem syntaktisch korrektem Code zurecht. Die Tipps sind ausschließlich für Personen wichtig, die den Code lesen müssen (Programmierer, Mitarbeiter der Qualitätssicherung, Studenten, Prüfer etc.). Menschen können schlecht strukturierten Code viel schlechter lesen, als gut strukturierten Code.

Folgende Variante des obigen Codes ist ebenfalls syntaktisch korrekt und wird vom Browser in derselben Weise interpretiert und dargestellt. Aber lesbar ist diese Variante nur noch sehr eingeschränkt.

<!DOCTYPE html>  <html lang
                         ="en">
<head

>
<meta

  charset=                               "UTF-8"><title
>HelloWorld01</title>
</head

           ><body>


<h1   >Hello,


  World!</h1>   <p>Welcome to Multimedia Programming!
</p>
  </body>
                                                  </html>

BTW (By the way): Auch die Einrückungen des HTML5-Templates von WebStorm sind nicht ganz korrekt. Eigentlich sollte der Code folgendermaßen aussehen:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <title>HelloWorld01</title>
  </head>
  <body>
    <h1>Hello, World!</h1>
    <p>Welcome to Multimedia Programming!</p>
  </body>
</html>

Allerdings ist es durchaus sinnvoll, nicht nur das html-Tag, sondern auch das head-Tag und das body-Tag am Zeilenanfang beginnen zu lassen, da diese Elemente in jeder HTML-Datei mit Sicherheit jeweils genau einmal und jedesmal auch an derselben Stellen (am Datei-Anfang, am Datei-Ende sowie einmal in der Datei-„Mitte“) vorkommen. Dadurch wird die Datei um zwei Zeichen schmäler, was ebenfalls der Lesbarkeit zugute kommt.

Fazit: Keine Regel ohne Ausnahme, aber Ausnahmen sollten begründet sein.

Start der Web-Anwendung

Um die zuvor erzeugte HTML-Datei in einem Browser ansehen zu können, muss sie in das Dokument-Verzeichnis eines Web-Servers gelegt werden. Dies ist normalerweise etwas umständlich, wenn der Web-Server nicht auf dem Entwicklungsrechner läuft. Eine Möglichkeit wäre nun, auf dem Entwicklungsrechner, also auf Ihrem Laptop oder PC, einen Server wie Apache oder Tomcat zu installieren. Das ist aber für einfache HTML-Seiten, die keinen Python-, PHP-, Java- oder sonstigen Code enthalten, der ausgeführt werden muss, bevor die Seite an den Client (Browser) ausgeliefert wird, nicht notwendig.

In diesem werden Tutorium nur HTML-Seiten erstellt, die höchstens JavaScript-Code enthalten. Der JavaScript-Code soll nicht vom Server sondern vom Client ausgeführt werden, nachdem die HTML-Seite (samt JavaScript-Code) an den Client übermittel wurde. Daher reicht uns ein ganz einfacher Server, der nichts weiter macht, als HTML-Seiten auszuliefern. Ein derartiger Server ist in WebStorm bereits enthalten. Daher ist das Testen der Web-Anwendunge ganz einfach.

Klicken Sie im Dateibaum von WebStorm mit der rechten Maustaste auch index.html und klicken Sie dann auf Run 'index.html'. Wenn man diesen Befehl erstmals ausgeführt hat, erscheint in der Hauptmenüleiste von Web-Storm ein Drop-Down-Menü mit ausführbaren Dateien sowie rechts daneben ein grünes Dreieck als Icon, mit dem die im Menü selektierte Datei dierekt gestartet werden kann.

Der Startbefehl hat zur Folge, dass ein lokaler Web-Server gestartet und die selektierte HTML-Datei in einem Browser geöffnet wird. Welcher Browser dies ist, kann in WebStorm folgendermaßen festgelegt werden.

  1. Im Dateibaum index.html selektieren.
  2. RunEdit Configurations... → Klick auf „...“ hinter dem Label „Browser“ → Defaultbrowser festlegen
  3. Menü mit Klick auf „OK“ verlassen.

Wenn man anschließend in WebStorm Änderungen an der im Browser geöffneten Datei vornimmt, muss man nicht jedesmal die Datei neu starten. Es reicht, im Browser den Reloadbutton zu drücken.

Der von WebStorm gestartete Web-Server bedient diverse Brwoser, die sich auf dem Entwicklungsrechner befinden. Wenn man dieselbe HTML-Datei in einem anderen Browser testen will, muss man dazu die URI im ersten Browser kopieren und in die URI-Leiste des zweiten Browsers einfügen. WebStorm bemerkt, dass die URI in einem anderen Browser geöffnet werden soll und stellt dazu eine Sicherheitsanfrage:

Copy authorization URL to clipboard

Wenn man dies bestätigt enthält das Clipboard anschließend eine URL, die man mit Strg-v als Ersatz für die zuerst eingefügte URL in den neuen Browser kopieren kann. Diese URL wird dann angezeigt und kann ebenfalls per Reload aktualisiert werden.

Man könnte die Seite sogar von einem anderen Device, wie z. B. einen Smartphone aus aufrufen. Dies ist jedoch im WebStorm-Server standardmäßig aus Sicherheitsgründen unterbunden.

Überprüfen der Web-Anwendung

Die populären Browser bieten alle die Möglichkeit, HTML-, CSS- und JavaScript-Dateien mit Hilfr von im Browser integrierten Entwicklerwerkzeugen zu analysieren und zu debuggen.


TO BE DONE

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

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

Fortsetzung des Tutoriums

Sie sollten nun Teil 2 des Tutoriums bearbeiten.

Quellen

  1. ISO/IEC 8859-1:1998
  2. [https://tools.ietf.org/html/rfc3629 Request for Comments 3629, UTF-8, a transformation format of ISO 10646]