HTML5-Tutorium: JavaScript: Hello World 02: Unterschied zwischen den Versionen

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
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…“
 
Kowa (Diskussion | Beiträge)
 
(88 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{In Bearbeitung}}
{{HTML5-Tutorium:JavaScript:HelloWorld:Menü}}
{{HTML5-Tutorium:JavaScript:HelloWorld:Menü}}
{{TBD|Dieser Teil des Tutoriums ist bislang nur durhc Cop &am; Paste erstellt, aber  noch nicht bearbeitet worden}}
'''Musterlösung''': [https://glossar.hs-augsburg.de/beispiel/tutorium/es5/hello_world/html5_javascript_hello_world_02/index.html <code>index.html</code>]
([https://glossar.hs-augsburg.de/beispiel/tutorium/es5/hello_world/html5_javascript_hello_world_02/ 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.
'''Musterlösung''': [https://glossar.hs-augsburg.de/beispiel/tutorium/2024/wk_hello_world/wk_hello_world_02/web/index.html <code>index.html</code>]
([{{Git-Server}}/kowa/wk_hello_world_02.git Git-Repository], [https://validator.nu/?doc=https%3A%2F%2Fglossar.hs-augsburg.de%2Fbeispiel%2Ftutorium%2F2024%2Fwk_hello_world%2Fwk_hello_world_02%2Fweb%2Findex.html HTML validate], [https://css-validator.org/validator?uri=https%3A%2F%2Fglossar.hs-augsburg.de%2Fbeispiel%2Ftutorium%2F2024%2Fwk_hello_world%2Fwk_hello_world_02%2Fweb%2Findex.html&profile=css21&usermedium=all&warning=1&lang=de CSS validate])
==Anwendungsfälle (Use Cases)==
Die Anwendungsfälle ändern sich gegenüber dem ersten Teil des Tutoriums nicht:
Der einzige Anwendungsfall der Anwendung ist weiterhin die Begrüßung der ganzen Welt, sobald die Anwendung
ausgeführt wird.


==WebStorm vorbereiten==
Allerdings soll die Begrüßung gefälliger gestaltet werden, indem das Layout der Begrüßungsseite
verbessert wird. Zeichensatz, Schriftgröße, Zeilenabstand etc. werden geändert.


Zur Erstellung der Anwendung wird [[Installation von WebStorm|WebStorm]] eingesetzt.
==Erstellen eines neuen Projekts==
Zunächst müssen Sie diese IDE  [[Installation von WebStorm|installieren und konfigurieren]]. Es handelt sich um eine kommerzielle
Software, aber als Student erhalten Sie eine kostenlose Lizenz.


==WebStorm starten==
Erstellen Sie im selben Ordner, in dem sich das Projekt <code>hello_world_01</code> befindet, das Projekt <code>hello_world_02</code> als (eigenständigen) [[wikipedia:Abspaltung (Softwareentwicklung)|Fork]] des Projekts <code>hello_world_01</code>:
<!--
<source lang="bash">
cd ..                                    # Eltern-Ordner von hello_world_01
mkdir hello_world_02                    # Einen neuen Ordner erstellen.
cp -r ./hello_world_01/* hello_world_02  # Die Dateien von hello_world_01 kopieren
                                        # (mit Ausnahme von .git)
ls -al hello_world_02
</source>
 
Diese Befehle hätten Sie natürlich auch mit einem File-Browser ausführen können.


Nach dem Starten der IDE sehen Sie ein Menü mit drei Alternativen, ein Projekt zu bearbeiten: Sie können
Sie können ein neues (leeres) Git-Repository anlegen, wenn Sie wollen. 
eine neues Projekt erstellen, ein bestehendes Projekt öffnen oder ein bestehendes Projekt aus einem
Notwendig ist dies aber nicht und meist auch nicht sonderlich sinnvoll.
Versionsverwaltungstool laden (check out) und öffnen.  


Sie werden zunächst die dritte Möglichkeit nutzen, um die Musterlösung zu dieser Tutoriumsaufgabe herunterzuladen.
<source lang="bash">
Anschließend erstellen Sie ein neues Projekt, das dieselbe Aufgabe erfüllt, wie die Musterlösung.
cd hello_world_02
rm -rf .git  # altes Repository löschen
git init    # git initialisieren
git add -A  # alle Dateien hinzufügen (sofern nicht in .gitignore enthalten)
git commit  # alle Dateien im Repository speichern
</source>
-->


==Die Musterlösung herunterladen==
<source lang="bash">
cd ..                                # Eltern-Ordner von hello_world_01
git clone https://gitlab.multimedia.hs-augsburg.de/ACCOUNT/hello_world_01 hello_world_02
                                    # Altes Projekt klonen


Starten Sie WebStorm und klicken Sie auf <code>Check out from Version Control</code>.
## Änderungen zur Projektidentifikation vornehmen (z.B. Titel anpassen)
Es öffnet sich ein Drop-Down-Menü mit diversen Versionsverwaltungssystemen ([[GitHub]], [[CVS]], [[Git]], [[Mercurial]] und [[Subversion]]) .
git commit -m "hello_world_01 fork created"
Sie wählen <code>Subversion</code> aus.


'''Anmerkung''': <i>Ich weiß, dass [[Git]] viel „cooler“ und „mächtiger“ ist als [[Subversion]]. Wenn Sie kein
# Neues Repository in Gitlab anlegen:
Teilnehmer der an der Lehrveranstaltung [[https://glossar.hs-augsburg.de/Lehrveranstaltung:IAM_2006:Multimedia-Anwendungen/Programmierung|Multimedia-Programmierung]]
git remote -v
sind, können Sie an Stelle von Subversion gerne [https://github.com/ GitHub] oder ein anderes Versionsverwaltungssystem verwenden,
git remote remove origin
um Ihre Projekte zu verwalten. (Sie können sogar ganz darauf verzichten und Ihre Tutoriumslösungen nicht in einem
git remote add origin https://gitlab.multimedia.hs-augsburg.de/ACCOUNT/hello_world_02
Versionsverwaltungssystem sichern. Davon rate ich aber ab.)
git remote -v
Im Praktikum zur Lehrveranstaltung wird jedoch Subversion verwendet, da die Administration von Dutzenden
git push --set-upstream origin master
von Subversion-Accounts für den Dozenten wesentlich einfacher ist.</i>
</source>


{{TBD}}
Überprüfen Sie, ob die Anwendung korrekt gestartet werden kann.


==Ein neues Projekt erstellen==
Sobald Sie im Folgenden Änderungen vorgenommen haben, in in einem inneren Zusammenhang stehen, sollten Sie committen. Zahlreiche sinnvolle
Commits sind vorteilhaft, da Sie bei Bedarf auf älter Versionen zurückgreifen können. Anschließend können Sie
das Projekt mittels eines Git-push-Befehls erneut auf den Gitlab-Server kopieren. Das sollten Sie aber nur dann machen, wenn Sie einen einigermaßen stabilen Zustand Ihres Projektes committet haben.


Starten Sie WebStorm und klicken Sie auf <code>Create New Project</code>.
==Festlegen des Designs der Anwendung==
Wählen Sie im linken Frame der Seite, die sich geöffnet hat, <code>Empty Project</code>,
wählen Sie im Feld <code>Location</code> einen sinnvollen Pfad aus, wo auf Ihrem
Rechner Sie das Projekt speichern wollen ({{zB}} <code>.../mmprog/HelloWorld/HelloWorld01</code>)
und klicken Sie anschließend auf <code>Create</code>.


Links sehen Sie nun ein senkrechtes Menü mit zwei Menüpunkten <code>Structure</code>
Nun wird das Design der Anwendung verbessert. Die Überschrift soll in einem
und <code>Project</code>. Klicken Sie auf <code>Project</code>. Es erscheint ein Dateibaum,
serifenlosen Font dargestellt werden, der Text des nachfolgenden Absatzes
der alle Dateien Ihres Projektes enthält. Bislang gibt es nur das Wurzelverzeichnis mit dem Projektnamen
in einem serifenhaltigen.
(<code>HelloWorld01</code>) sowie eine Systemdatei <code>External Libraries</code>, die uns
 
derzeit nicht weiter interessiert.
Die ist kein [[CSS]]-Tutorium, daher wird nicht darauf eingegangen, wie ein geeigneter Font gewählt werden sollte.
Wir überlassen das einfach dem jeweiligen Browser-Hersteller, indem wir die Pseudofonts
<code>sans-serif</code>“ und „<code>serif</code>“ angeben. Für [[Mac]]-User wird die Überschrift vermutlich in [[Helvetica]]
gesetzt und für [[Windows]]-Benutzer in [[Arial]].


Klicken Sie mit der rechten Maus auf das Wurzelverzeichnis des Baumes und anschließend auf <code>New</code>.
Erstellen Sie eine [[CSS]]-Datei:
Es öffnet sich ein Drop-Down-Menü mit einer Auswahl an Dateien, die Sie erstellen können.


Erstellen Sie eine HTML-Datei <code>index.html</code> vom Typ <code>HTML 5 file</code>.
# Klick auf das Text-Datei-Plus-Icon neben „<code>HELLO_WORD_02</code>“ des Dateibaums
In die HTML-Datei wurde von WebStrom folgender Code automatisch eingefügt:
# Angabe des Namens „<code>main.css</code>


<source lang="html5">
Es wird eine neue leere Datei namens „<code>main.css</code>“ angelegt.
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>


</body>
Fügen Sie in diese Datei folgenden CSS-Code ein:
</html>
</source>


Die erste Zeile legt den Typ der Datei fest. Diese Information benötigen dies Browser, damit
<source lang="css">
sie den nach-volgenden HTML-Code richtig interpretieren und [[Renderer|rendern]] können.
h1
Mit <code><!DOCTYPE html></code> 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 (<code>strict</code>)
  font-family: sans-serif;
würde eine wesentlich komplexere Doctype-Angabe erfordern:
}


<source lang="html4strict">
p
<!DOCTYPE HTML PUBLIC
{
          "-//W3C//DTD HTML 4.01//EN"
  font-family: serif;
          "http://www.w3.org/TR/html4/strict.dtd"
}
>
</source>
</source>


Es gibt noch diverse weitere HTML-Varianten. Wir werden uns allerdings auf HTML5 konzentrieren.
Achten Sie darauf, dass öffnende und zugehörige schließende Klammern stets übereinander oder in derselben Zeile stehen
([https://de.wikipedia.org/wiki/Einr%C3%BCckungsstil Allman- oder BSD-Stil]).


Die zweite und die letzte Zeile des Dokuments (<code><html lang="en"></code> und <code></html></code>)
Wenn Sie andere Tutorien bearbeiten, Fachbücher lesen oder Voreinstellungen von Web-IDEs begutachten,
begrenzen den eigentlichen HTML-Code. Das [[Attribut]] <code>lang</code> zeigt dem Browser an,
werden Sie meist folgende Art der Formatierung entdecken
in welcher Sprache das Dokument verfasst ist. Wenn ein deutsches HTML-Dokument erstellt werden
([https://de.wikipedia.org/wiki/Einr%C3%BCckungsstil„1TBS“, „OTBS“, „One True Brace Style“, „Einzig wahrer Klammerstil“]).
soll, müssen Sie den Wert <code>en</code> (Englisch) in <code>de</code> (Deutsch) ändern.
Dieser Klammerstil ist sehr weit verbreitet, verstößt aber gegen die Regel, dass öffnende und zugehörige schließende Klammern stets übereinander oder in derselben Zeile stehen.
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-[[Tag]]s müssen die beiden wesentlichen Bereiche
<source lang="css">
eines HTML-Dokuments mit Inhalt gefüllt werden.
h1 {
  font-family: sans-serif;
}


Im <code>body</code>-Bereich stehen die eigentlichen Inhalte, die dem Leser im Contentbereich
p {
des Browsers angezeigt werden sollen. Da WebStrom keine Ahnung hat, was für Inhalte
  font-family: serif;
präsentiert werden sollen, ist dieser Bereich noch leer.
}
</source>


Im <code>head</code>-Bereich stehen dagegen Informationen, die für den Browser zwar interessat sind, die
Die Begründung lautet dann oft, dass dieser Code weniger Zeilen habe, als der obige Code.
aber nicht gerendert und im Content-Bereich des Browsers dargestellt werden müssen. Typische
Das stimmt, lässt sich aber auch ohne Verletzung der Regel „Zusammengehörige Klammern befinden sich in derselben Spalte“
Vertreter sind der Titel des Dokuments, der im Browsertab angezeigt wird, sowie die Zeichenkodierung
erreichen ([https://de.wikipedia.org/wiki/Einr%C3%BCckungsstil Horstmann-Stil]):
(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.<ref>[http://www.iso.org/iso/catalogue_detail?csnumber=28245 ISO/IEC 8859-1:1998]</ref>
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.<ref>[https://tools.ietf.org/html/rfc3629 Request for Comments 3629, UTF-8,
a transformation format of ISO 10646]</ref>.


==Die HTML-Datei mit Inhalten füllen==
<source lang="css">
h1
{ font-family: sans-serif;
}


Im nächsten Schritt wird die von WebStorm erzeugte HTML-Datei mit Inhalten gefüllt.
p
Es wird ein Titel in <code>head</code>-Bereich eingetragen sowie eine
{ font-family: serif;
Hauptüberschrift (heading, <code>&lt;h1&gt;</code>...<code>&lt;/h1&gt;</code>)  sowie
}
anschließend ein Absatz (paragraph, <code>&lt;p&gt;</code>...<code>&lt;/p&gt;</code>)
</source>
mit sinnvollem Text.


<source lang="html5">
Anmerkung: Ein schöner Artikel von Cay Horstmann selbst zu diesem Thema: [https://horstmann.com/unblog/2010-06-28/braces.html The Horstmann Brace Style]
<!DOCTYPE html>
 
<html lang="en">
Im Falle von CSS-Code macht es keinen wirklichen Unterschied, welcher Konvention sie folgen.
<head>
'''Im Falle von JavaScript rate ich jedoch davon ab, öffnende und schließende Klammern nicht in derselben Spalte zu notieren.'''
  <meta charset="UTF-8">
Glauben Sie einem erfahrenen [[LISP]]-Programmierer
  <title>HelloWorld01</title>
(LISP ist die Sprache, bei der ''jeder'' nicht-atomare Programmcode durch Klammern umschlossen wird):
</head>
Code ist wesentlich besser zu lesen, wenn öffnende und schließende Klammern übereinander stehen.
<body>
Insbesondere Strukturfehler sind bei dieser Konvention wesentlich einfacher zu finden.
  <h1>Hello, World!</h1>
Ob Sie die öffnende Klammer jeweils in einer eigenen Zeile schreiben oder nicht, ist dabei weniger wichtig.
  <p>Welcome to Multimedia Programming!</p>
</body>
</html>
</source>


'''Gewöhnen Sie sich an, ineinander verschachtelte Elemente der HTML-Datei ganz akribisch einzurücken.'''
<strong>Unabhängig davon, welche Klammernotation Sie bevorzugen,  
Ein schließendes Tag steht entweder in derselben Zeile wie das öffnende Tag oder beide sind exakt gleich weit eingerückt.
einigen Sie sich im Team bitte auf EINE Variante. Halten Sie diese Konvention strikt ein.</strong>
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
Glücklicherweise highlighten die meisten Editoren (wie beispielsweise der VSC-Editor)
Tabulatorzeichen steht, ist nicht genormt. Das heißt, wenn eine Programmcode-Datei mit Tabulatorzeichen in einem
die zugehörige schließende oder öffnende Klammer, wenn man den Cursor auf (bzw. vor oder nach)
Text-Editor korrekt strukturiert wird, kann die Struktur derselben Datei in einem anderen Editor oder im Browser ({{zB}} bei einem Web-Zugriff
eine öffnende oder schließende setzt. So erkennt man Strukturfehler auch dann, wenn man bei der
auf ein Repository eines Versionverwaltungssystems) fehlerhaft sein.
Einrückung Fehler gemacht hat. Derartige Fehler sollte man allerdings möglichst schnell beheben,
wenn man sie einmal entdeckt hat. Sonst entsteht unlesbarer Code.


'''Fügen Sie nicht willkürlich Leerzeilen in den Code ein.''' Leerzeilen dienen ebenso wie Leerzeichen der Strukturierung
Wenn Sie Ihre CSS-Datei fertiggestellt haben und die Anwendung erneut testen
und können – geschickt eingesetzt – die [[Lesbarkeit]] des Codes verbessern oder – unstrukturiert eingestreut – verschlechtern.
({{dh}} die Datei „<code>index.html</code>“ im Browser vom VSC-Server laden), werden Sie feststellen,
dass sich nichts geändert hat (auch wenn Sie den Reload-Button des Browsers drücken).


Alle drei der obigen Tipps sind für den Compiler oder den Interpreter eines Programmcodes vollkommen unerheblich.
Sie können die CSS-Datei direkt im Browser laden (ersetzen sie in dem Browser-URI einfach „<code>index.html</code>“ durch „<code>main.css</code>“
Diese Werkzeuge kommen mit jedem syntaktisch korrektem Code zurecht. Die Tipps sind ausschließlich für Personen
und drücken Sie den Reload-Button), aber das hilft auch nichts. Ihnen wird daraufhin einfach der Inhalt des CSS-Datei vom Browser angezeigt.
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  
Der Grund ist, dass der Browser beim Laden der HTML-Datei nicht weiß, dass er den Inhalt mit Hilfe
in derselben Weise interpretiert und dargestellt. Aber lesbar ist diese Variante nur noch sehr eingeschränkt.
der CSS-Datei layouten soll. Damit er dies weiß, muss folgende Zeile in den  <code>head</code>-Bereich
der HTML-Datei eingefügt werden:


<source lang="html5">
<source lang="html5">
<!DOCTYPE html>  <html lang
<link rel="stylesheet" href="main.css"/>
                        ="en">
</source>
<head
Wenn Sie jetzt noch einmal Ihre Web-Anwendung testen, wird die
Überschrift (evtl. nach einem Klick auf den Reload-Button des Browsers)
tatsächlich in einer serifenlosen Schriftart dargestellt.


>
Sie können jetzt noch weitere Verbesserungen vornehmen: Anpassung der Schriftgröße,
<meta
Anpassung des Abstandes zwischen Überschrift und Absatz, Anpassung der Schriftfarbe,
des Seitenhintergrundes etc. pp.


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


          ><body>
<source lang="css">
html
{ height:  100%;
  width:  100%;
  display: table;
}


body
{ display:          table-cell;
  text-align:      center;
  vertical-align:  middle;
  background-color: #C5EFFC;
  font-size:        3vw !important;
  font-family:      Verdana, Helvetica, sans-serif;
}


<h1  >Hello,
h1
{ padding: 0;
   margin:  0;
  font-size: 305.18%; /* 1.25^5 = 3.0518 */
}


 
p
  World!</h1>  <p>Welcome to Multimedia Programming!
{ font-family: "Times New Roman", Times, serif;
</p>
   font-size:  100%;
   </body>
}
                                                  </html>
</source>
</source>


BTW (By the way): Auch die Einrückungen des HTML5-Templates von WebStorm sind
Spielen Sie mit den CSS-Attributen und testen Sie Ihre Anwendung.  
nicht ganz korrekt. Eigentlich sollte der Code folgendermaßen aussehen:


<source lang="html5">
Tipp: Mit der CSS-Regel
<!DOCTYPE html>
<source lang="css">
<html lang="en">
* { border: solid 1px red; }
  <head>
</source>
    <meta charset="UTF-8">
können Sie sehr einfach den Effekt von Padding-Attribut-Werten überprüfen. Falls Sie Ränder um einige Ihrer
    <title>HelloWorld01</title>
Elemente zeichnen, sollten Sie
  </head>
<source lang="css">
  <body>
* { outline: solid 1px red; }
    <h1>Hello, World!</h1>
    <p>Welcome to Multimedia Programming!</p>
  </body>
</html>
</source>
</source>
verwenden. Wenn Sie mit der Überprüfung fertig sind, sollten Sie diese Befehle allerdings wieder aus
der CSS-Datei entfernen oder sie zumindest auskommentieren (<code>/* .... */</code>).


Allerdings ist es durchaus sinnvoll, nicht nur das <code>html</code>-Tag, sondern auch das <code>head</code>-Tag und das <code>body</code>-Tag
Wenn Sie schließlich mit dem Layout Ihrer Anwendung zufrieden sind, committen Sie sie (Commit Message: „<code>Styling has been added.</code>“) .
am Zeilenanfang beginnen zu lassen, da diese Elemente in jeder HTML-Datei mit Sicherheit jeweils genau einmal und
Sorgen Sie mittels eines Git-push-Befehls dafür, dass die aktuelle Version Ihrer Anwendung vorsorglich auf den Git-Server kopiert wird.
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.
==Optimierung des Designs für mobile Endgeräte==


==Start der Web-Anwendung==
Öffnen Sie die Web-Anwendung mit einem Smartphone. Leider geht das derzeit noch nicht.
Da der Zugriff auf den VSC-Servers auf Ihrem Entwicklungsrechner eingeschränkt ist,
müssen Sie Ihre Anwendung auf eine echten Web-Server legen, um mit einem anderen Device darauf zugreifen zu können.
Als Mitglied der Hochschule Augsburg können Sie dazu Ihre [https://www.hs-augsburg.de/Rechenzentrum/Eigene-Homepage.html HSA-Homepage]
verwenden.


Um die zuvor erzeugte HTML-Datei in einem [[Browser]] ansehen zu können,
Damit nicht alle Projektdaten auf den öffentlichen Web-Server übertragen werden, ist es sinnvoll
muss sie in das Dokument-Verzeichnis eines [[Web-Server]]s gelegt werden.
in VSC einen Ordner <code>web</code> anzulegen und in diesem alle Dateien des Web-Auftritts
Dies ist normalerweise etwas umständlich, wenn der Web-Server nicht auf dem
zu verschieben, die öffentlich zugänglich sein sollen:
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.
* Einen neuen Ordner <code>web</code> anlegen
Der JavaScript-Code soll nicht vom Server sondern vom Client ausgeführt werden,
* <code>index.html</code> und <code>main.css</code> selektieren und in diesen Ordner verschieben.
'''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 <code>index.html</code>
Nun können Sie den Web-Ordner in Ihr HSA-Web-Verzeichnis kopieren
und klicken Sie dann auf <code>Run 'index.html'</code>. Wenn man diesen Befehl erstmals ausgeführt hat,
(Achtung: Im Folgenden müssen Sie jeweils '''ACCOUNT''' durch Ihren RZ-Account ersetzen).
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
* Öffnen Sie das Terminal in VSC.
geöffnet wird. Welcher Browser dies ist, kann in WebStorm folgendermaßen festgelegt werden.
* <code>scp -r web ACCOUNT@login.rz.hs-augsburg.de://www/ACCOUNT/hello_world_02</code> (Der Befehl <code>scp</code> hat dieselbe Aufgabe wie <code>ftp</code>, überträgt die Daten aber verschlüsselt: https://www.computerhope.com/unix/scp.htm)


# Im Dateibaum <code>index.html</code> selektieren.
Mit diesem Befehl haben Sie die Dateien <code>index.html</code> und <code>main.css</code> in den Ordner <code>hello_world_02</code> Ihres Web-Verzeichnisses kopiert.
# <code>Run</code> → <code>Edit Configurations...</code> → Klick auf „<code>...</code>“ hinter dem Label „<code>Browser</code>“ → Defaultbrowser festlegen
#Menü mit Klick auf „<code>OK</code>“ verlassen.


Wenn man anschließend in WebStorm Änderungen an der im Browser geöffneten Datei vornimmt, muss man nicht jedesmal die
Loggen Sie sich auf dem HSA-Server ein, und sehen Sie sich das Ergebnis an:
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.
<source lang="bash">
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
ssh -lACCOUNT login.rz.hs-augsburg.de
des zweiten Browsers einfügen. WebStorm bemerkt, dass die URI in einem anderen Browser geöffnet werden soll und stellt dazu eine Sicherheitsanfrage:
cd /www/ACCOUNT  # Wechseln Sie uns HSA-Web-Rootverzeichnis
ls -al
ls -al *
exit  # Oder CRTL+D
</source>


<div class="formula"><code>Copy authorization URL to clipboard</code></div>
Mit dem ersten Befehl haben Sie sich auf dem Benutzerserver der Hochschule Augsburg eingeloggt.
Ab sofort werden alle Befehle, die Sie ins Terminal tippen, direkt von der Unix-Bash
des Hochschulrechners ausgeführt. Mix dem Befehl <code>exit</code> kehren Sie wieder zu Ihrer
lokalen Konsole zurück.


Wenn man dies bestätigt enthält das Clipboard anschließend eine
Öffnen Sie nun eine der folgenden URLs in einem Browser Ihrer Wahl:
URL, die man mit <code>Strg-v</code> 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 {{zB}} einen Smartphone aus aufrufen.  
*[https://www.hs-augsburg.de/homes/kowa/hello_world_02/ <code>https://www.hs-augsburg.de/homes/ACCOUNT/hello_world_02/</code>]
Dies ist jedoch im WebStorm-Server standardmäßig aus Sicherheitsgründen
*[https://www.hs-augsburg.de/homes/kowa/hello_world_02/index.html <code>https://www.hs-augsburg.de/homes/ACCOUNT/hello_world_02/index.html</code>]
unterbunden.
*[https://www.hs-augsburg.de/~kowa/hello_world_02/ <code>https://www.hs-augsburg.de/~ACCOUNT/hello_world_02/</code>]
*[https://www.hs-augsburg.de/~kowa/hello_world_02/index.html <code>https://www.hs-augsburg.de/~ACCOUNT/hello_world_02/index.html</code>]


==Überprüfen der Web-Anwendung==
Dann sollten Ihnen Ihre zuvor erstelle HTML-Seite präsentiert werden.


Die populären Browser bieten alle die Möglichkeit,
Wenn Sie nun eine dieser URLs im Smartphone öffnen, werden Sie feststellen, dass die Schrift viel zu klein ist und der Begrüßungstext daher
HTML-, CSS- und JavaScript-Dateien mit Hilfr von im Browser integrierten Entwicklerwerkzeugen zu
nur schwer gelesen werden kann. Der Grund ist, dass die mobilen Browser in der Regel genauso rendern wie stationäre Browser. Da der Bildschirm aber viel kleiner
analysieren und zu [[Bug|debuggen]].
ist, erkennt man nicht mehr viel.


Unter [[Responsive Webdesign]] versteht man ein gestalterisches Paradigma, welches zum Ziel hat, eine Web-Site auf jedem möglichen Endgerät möglichst optimal les-
und benutzbar darzustellen. Technische Basis ist hier vor allem [[CSS]], aber natürlich auch [[HTML5]] und [[JavaScript]].


{{TBD}}
In unserem Fall reicht es, ein weiteres Meta-Tag in den HTML-Header einzufügen,
das den Browser anweist, für die Darstellung der HTML-Body-Elemente eine Bühne zu verwenden, die genauso breit ist,
wie das Fenster des Devices (PC, Tablet im Querformat, Smartphone im Hochformat etc.) .


==Musterlösung herunterladen==
<source lang="html5">
<meta name    = "viewport"
      content = "width=device-width, initial-scale=1.0, user-scalable=yes"
>
</source>


Laden Sie die [http://glossar.hs-augsburg.de/beispiel/tutorium/html5_canvas/hello_world/html5_canvas_hello_world_01/ Musterlösung]
Darüber hinaus wird dem Browser mitgeteilt, das der Benutzer die Größe ändern kann (per Touchgeste). Initial
in Eclipse:
beträgt die Größe 100% (= 1,0).


* Klick auf Reiter <code>Datei</code> → <code>Importieren</code>
Testen Sie die Anwendung erneut:
* <code>SVN</code> aufklappen → Klick auf <code>Checkout Projects from SVN</code> → <code>Weiter</code>
* Entweder
** <code>Use existing repository location:</code> und <code>http://glossar.hs-augsburg.de/beispiel/tutorium</code> selektieren (falls vorhanden)
** <code>Create a new repsotiory location</code> wählen → <code>Weiter</code> → URL: <code>http://glossar.hs-augsburg.de/beispiel/tutorium</code>
* <code>Weiter</code>
* Nachden der Dateibaum aufgegangen ist:  <code>html5_canvas</code> aufklappen → <code>hello_world</code> aufklappen → <code>html5_canvas_hello_world_01</code> selektieren
* <code>Fertigstellen</code>


===Anmerkung===
<source lang="bash">
scp -r web/* ACCOUNT@login.rz.hs-augsburg.de://www/ACCOUNT/hello_world_02
</source>


Auf dieselbe Weise können Sie auch Ihre eigenen Projekte aus Ihrem eigenen Repository auf beliebige Rechner laden.
<strong>Achtung</strong>: Da auf dem HSA-Server der Ordner <code>/www/ACCOUNT/hello_world_02</code> bereits existiert,
müssen Sie diesmal (und auch zukünftig) beim SCP-Befehl <code>web/*</code> an Stelle von <code>web</code> schreiben.
Damit kopieren Sie den <strong>Inhalt des Ordners</strong> <code>web</code> in den Ordner
<code>/www/ACCOUNT/hello_world_02</code>. Beim ersten Mal hatten Sie den gesamten Ordner <code>web</code> (samt Inhalt)
auf den HSA-Server kopiert und dort unter dem neuen Namen <code>/www/ACCOUNT/hello_world_02</code> abgelegt. Die Option
<code>-r</code> steht für “recursive”. Das heißt, der Ordner wird rekursiv durchlaufen: Nicht nur <code>web</code>, sondern auch alle seinen Kind-, Enkel-, Urenkel-, ... Dateien und Ordner werden kopiert.  


Wenn Sie mit der Bearbeitung Ihres Projektes auf einem Rechner aufhören, sollten Sie stets den
Wenn alles funktioniert, committen und pushen Sie sie (Commit Message: „<code>Support for mobile devices added.</code>“) .
aktuellen Stand in Ihrem Repository sichern:


* Im Projektexplorer: Rechtsklick auf das aktuelle Projekt → Klick auf <code>Team</code> → Click auf <code>Commit</code>
==Aufräumen des öffentlichen Web-Servers==


Wenn Sie danach auf einem anderen Rechner an diesem Projekt weiterarbeiten wollen, müssen sie beim ersten MAl das Projekt in der
Wenn Sie mit der Optimierung des Designs für mobile Endgeräte fertig sind, sollten Sie die Testdaten auf dem öffentlichen Web-Server löschen
oben beschriebenen Weise aus dem Repository auf Ihren Rechner laden. Wenn Sie dies einmal gemacht haben, reicht es wen Sie künftig die
(Vergessen Sie nicht ACCOUNT jeweils durch Ihren RZ-Account zu ersetzen):
lokale Version auf dem Rechner aktualisieren, bevor Sie mit der Arbeit beginnen:


*Im Projektexplorer: Rechtsklick auf das aktuelle Projekt → Klick auf <code>Team</code> → Click auf <code>Update to HEAD</code>
<source lang="bash">
 
ssh ACCOUNT@login.rz.hs-augsburg.de
===Projekt im Repository sichern===
cd /www/ACCOUNT 
 
ls -al
Jedes funktionierende Zwischenergebnis eines Projektes sollte im Repository gespeichert werden:
rm -rf hello_word_02 
 
exit
* Im Projektexplorer: Rechtsklick auf <code>HelloWorldCanvas01</code> → <code>Team</code> → <code>Commit</code>
</source>
* Enter a comment for the commit operation: <code>hallo.html, ein HTML5-JavaScript-Moloch wurde erstellt.</code>
* <code>OK</code>


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


Sie sollten nun [[HTML5-Tutorium: JavaScript: Hello World 02|Teil 2 des Tutoriums]] bearbeiten.
Sie sollten nun [[HTML5-Tutorium: JavaScript: Hello World 03|Teil 3 des Tutoriums]] bearbeiten.


==Quellen==
==Quellen==
<references/>
<references/>
[[Kategorie: HTML5-Tutorium: JavaScript: Hello World]][[Kategorie: HTML5-Beispiel]][[Kategorie:Kapitel:Multimedia-Programmierung:Beispiele]]
<ol>
<li value="1"> {{Quelle|Kowarschick, W.: Web-Programmierung}}</li>
</ol>
<noinclude>[[Kategorie: HTML5-Tutorium: JavaScript: Hello World]][[Kategorie: HTML5-Beispiel]][[Kategorie:Kapitel:Multimedia-Programmierung:Beispiele]]</noinclude>

Aktuelle Version vom 25. März 2025, 11:51 Uhr

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

Musterlösung: index.html (Git-Repository, HTML validate, CSS validate)

Anwendungsfälle (Use Cases)

Die Anwendungsfälle ändern sich gegenüber dem ersten Teil des Tutoriums nicht: Der einzige Anwendungsfall der Anwendung ist weiterhin die Begrüßung der ganzen Welt, sobald die Anwendung ausgeführt wird.

Allerdings soll die Begrüßung gefälliger gestaltet werden, indem das Layout der Begrüßungsseite verbessert wird. Zeichensatz, Schriftgröße, Zeilenabstand etc. werden geändert.

Erstellen eines neuen Projekts

Erstellen Sie im selben Ordner, in dem sich das Projekt hello_world_01 befindet, das Projekt hello_world_02 als (eigenständigen) Fork des Projekts hello_world_01:

cd ..                                # Eltern-Ordner von hello_world_01
git clone https://gitlab.multimedia.hs-augsburg.de/ACCOUNT/hello_world_01 hello_world_02
                                     # Altes Projekt klonen

## Änderungen zur Projektidentifikation vornehmen (z.B. Titel anpassen)
git commit -m "hello_world_01 fork created"

# Neues Repository in Gitlab anlegen:
git remote -v
git remote remove origin
git remote add origin https://gitlab.multimedia.hs-augsburg.de/ACCOUNT/hello_world_02
git remote -v
git push --set-upstream origin master

Überprüfen Sie, ob die Anwendung korrekt gestartet werden kann.

Sobald Sie im Folgenden Änderungen vorgenommen haben, in in einem inneren Zusammenhang stehen, sollten Sie committen. Zahlreiche sinnvolle Commits sind vorteilhaft, da Sie bei Bedarf auf älter Versionen zurückgreifen können. Anschließend können Sie das Projekt mittels eines Git-push-Befehls erneut auf den Gitlab-Server kopieren. Das sollten Sie aber nur dann machen, wenn Sie einen einigermaßen stabilen Zustand Ihres Projektes committet haben.

Festlegen des Designs der Anwendung

Nun wird das Design der Anwendung verbessert. Die Überschrift soll in einem serifenlosen Font dargestellt werden, der Text des nachfolgenden Absatzes in einem serifenhaltigen.

Die ist kein CSS-Tutorium, daher wird nicht darauf eingegangen, wie ein geeigneter Font gewählt werden sollte. Wir überlassen das einfach dem jeweiligen Browser-Hersteller, indem wir die Pseudofonts „sans-serif“ und „serif“ angeben. Für Mac-User wird die Überschrift vermutlich in Helvetica gesetzt und für Windows-Benutzer in Arial.

Erstellen Sie eine CSS-Datei:

  1. Klick auf das Text-Datei-Plus-Icon neben „HELLO_WORD_02“ des Dateibaums
  2. Angabe des Namens „main.css

Es wird eine neue leere Datei namens „main.css“ angelegt.

Fügen Sie in diese Datei folgenden CSS-Code ein:

h1 
{ 
  font-family: sans-serif;
}

p
{ 
  font-family: serif;
}

Achten Sie darauf, dass öffnende und zugehörige schließende Klammern stets übereinander oder in derselben Zeile stehen (Allman- oder BSD-Stil).

Wenn Sie andere Tutorien bearbeiten, Fachbücher lesen oder Voreinstellungen von Web-IDEs begutachten, werden Sie meist folgende Art der Formatierung entdecken („OTBS“, „One True Brace Style“, „Einzig wahrer Klammerstil“). Dieser Klammerstil ist sehr weit verbreitet, verstößt aber gegen die Regel, dass öffnende und zugehörige schließende Klammern stets übereinander oder in derselben Zeile stehen.

h1 { 
  font-family: sans-serif;
}

p { 
  font-family: serif;
}

Die Begründung lautet dann oft, dass dieser Code weniger Zeilen habe, als der obige Code. Das stimmt, lässt sich aber auch ohne Verletzung der Regel „Zusammengehörige Klammern befinden sich in derselben Spalte“ erreichen (Horstmann-Stil):

h1 
{ font-family: sans-serif;
}

p 
{ font-family: serif;
}

Anmerkung: Ein schöner Artikel von Cay Horstmann selbst zu diesem Thema: The Horstmann Brace Style

Im Falle von CSS-Code macht es keinen wirklichen Unterschied, welcher Konvention sie folgen. Im Falle von JavaScript rate ich jedoch davon ab, öffnende und schließende Klammern nicht in derselben Spalte zu notieren. Glauben Sie einem erfahrenen LISP-Programmierer (LISP ist die Sprache, bei der jeder nicht-atomare Programmcode durch Klammern umschlossen wird): Code ist wesentlich besser zu lesen, wenn öffnende und schließende Klammern übereinander stehen. Insbesondere Strukturfehler sind bei dieser Konvention wesentlich einfacher zu finden. Ob Sie die öffnende Klammer jeweils in einer eigenen Zeile schreiben oder nicht, ist dabei weniger wichtig.

Unabhängig davon, welche Klammernotation Sie bevorzugen, einigen Sie sich im Team bitte auf EINE Variante. Halten Sie diese Konvention strikt ein.

Glücklicherweise highlighten die meisten Editoren (wie beispielsweise der VSC-Editor) die zugehörige schließende oder öffnende Klammer, wenn man den Cursor auf (bzw. vor oder nach) eine öffnende oder schließende setzt. So erkennt man Strukturfehler auch dann, wenn man bei der Einrückung Fehler gemacht hat. Derartige Fehler sollte man allerdings möglichst schnell beheben, wenn man sie einmal entdeckt hat. Sonst entsteht unlesbarer Code.

Wenn Sie Ihre CSS-Datei fertiggestellt haben und die Anwendung erneut testen (d. h. die Datei „index.html“ im Browser vom VSC-Server laden), werden Sie feststellen, dass sich nichts geändert hat (auch wenn Sie den Reload-Button des Browsers drücken).

Sie können die CSS-Datei direkt im Browser laden (ersetzen sie in dem Browser-URI einfach „index.html“ durch „main.css“ und drücken Sie den Reload-Button), aber das hilft auch nichts. Ihnen wird daraufhin einfach der Inhalt des CSS-Datei vom Browser angezeigt.

Der Grund ist, dass der Browser beim Laden der HTML-Datei nicht weiß, dass er den Inhalt mit Hilfe der CSS-Datei layouten soll. Damit er dies weiß, muss folgende Zeile in den head-Bereich der HTML-Datei eingefügt werden:

<link rel="stylesheet" href="main.css"/>

Wenn Sie jetzt noch einmal Ihre Web-Anwendung testen, wird die Überschrift (evtl. nach einem Klick auf den Reload-Button des Browsers) tatsächlich in einer serifenlosen Schriftart dargestellt.

Sie können jetzt noch weitere Verbesserungen vornehmen: Anpassung der Schriftgröße, Anpassung des Abstandes zwischen Überschrift und Absatz, Anpassung der Schriftfarbe, des Seitenhintergrundes etc. pp.

Zum Beispiel:

html
{ height:  100%;
  width:   100%;
  display: table;
}

body
{ display:          table-cell;
  text-align:       center;
  vertical-align:   middle;
  background-color: #C5EFFC;
  font-size:        3vw !important;
  font-family:      Verdana, Helvetica, sans-serif;
}

h1
{ padding: 0;
  margin:  0;
  font-size: 305.18%; /* 1.25^5 = 3.0518 */
}

p
{ font-family: "Times New Roman", Times, serif;
  font-size:   100%;
}

Spielen Sie mit den CSS-Attributen und testen Sie Ihre Anwendung.

Tipp: Mit der CSS-Regel

* { border: solid 1px red; }

können Sie sehr einfach den Effekt von Padding-Attribut-Werten überprüfen. Falls Sie Ränder um einige Ihrer Elemente zeichnen, sollten Sie

* { outline: solid 1px red; }

verwenden. Wenn Sie mit der Überprüfung fertig sind, sollten Sie diese Befehle allerdings wieder aus der CSS-Datei entfernen oder sie zumindest auskommentieren (/* .... */).

Wenn Sie schließlich mit dem Layout Ihrer Anwendung zufrieden sind, committen Sie sie (Commit Message: „Styling has been added.“) . Sorgen Sie mittels eines Git-push-Befehls dafür, dass die aktuelle Version Ihrer Anwendung vorsorglich auf den Git-Server kopiert wird.

Optimierung des Designs für mobile Endgeräte

Öffnen Sie die Web-Anwendung mit einem Smartphone. Leider geht das derzeit noch nicht. Da der Zugriff auf den VSC-Servers auf Ihrem Entwicklungsrechner eingeschränkt ist, müssen Sie Ihre Anwendung auf eine echten Web-Server legen, um mit einem anderen Device darauf zugreifen zu können. Als Mitglied der Hochschule Augsburg können Sie dazu Ihre HSA-Homepage verwenden.

Damit nicht alle Projektdaten auf den öffentlichen Web-Server übertragen werden, ist es sinnvoll in VSC einen Ordner web anzulegen und in diesem alle Dateien des Web-Auftritts zu verschieben, die öffentlich zugänglich sein sollen:

  • Einen neuen Ordner web anlegen
  • index.html und main.css selektieren und in diesen Ordner verschieben.

Nun können Sie den Web-Ordner in Ihr HSA-Web-Verzeichnis kopieren (Achtung: Im Folgenden müssen Sie jeweils ACCOUNT durch Ihren RZ-Account ersetzen).

  • Öffnen Sie das Terminal in VSC.
  • scp -r web ACCOUNT@login.rz.hs-augsburg.de://www/ACCOUNT/hello_world_02 (Der Befehl scp hat dieselbe Aufgabe wie ftp, überträgt die Daten aber verschlüsselt: https://www.computerhope.com/unix/scp.htm)

Mit diesem Befehl haben Sie die Dateien index.html und main.css in den Ordner hello_world_02 Ihres Web-Verzeichnisses kopiert.

Loggen Sie sich auf dem HSA-Server ein, und sehen Sie sich das Ergebnis an:

ssh -lACCOUNT login.rz.hs-augsburg.de
cd /www/ACCOUNT  # Wechseln Sie uns HSA-Web-Rootverzeichnis
ls -al
ls -al *
exit   # Oder CRTL+D

Mit dem ersten Befehl haben Sie sich auf dem Benutzerserver der Hochschule Augsburg eingeloggt. Ab sofort werden alle Befehle, die Sie ins Terminal tippen, direkt von der Unix-Bash des Hochschulrechners ausgeführt. Mix dem Befehl exit kehren Sie wieder zu Ihrer lokalen Konsole zurück.

Öffnen Sie nun eine der folgenden URLs in einem Browser Ihrer Wahl:

Dann sollten Ihnen Ihre zuvor erstelle HTML-Seite präsentiert werden.

Wenn Sie nun eine dieser URLs im Smartphone öffnen, werden Sie feststellen, dass die Schrift viel zu klein ist und der Begrüßungstext daher nur schwer gelesen werden kann. Der Grund ist, dass die mobilen Browser in der Regel genauso rendern wie stationäre Browser. Da der Bildschirm aber viel kleiner ist, erkennt man nicht mehr viel.

Unter Responsive Webdesign versteht man ein gestalterisches Paradigma, welches zum Ziel hat, eine Web-Site auf jedem möglichen Endgerät möglichst optimal les- und benutzbar darzustellen. Technische Basis ist hier vor allem CSS, aber natürlich auch HTML5 und JavaScript.

In unserem Fall reicht es, ein weiteres Meta-Tag in den HTML-Header einzufügen, das den Browser anweist, für die Darstellung der HTML-Body-Elemente eine Bühne zu verwenden, die genauso breit ist, wie das Fenster des Devices (PC, Tablet im Querformat, Smartphone im Hochformat etc.) .

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

Darüber hinaus wird dem Browser mitgeteilt, das der Benutzer die Größe ändern kann (per Touchgeste). Initial beträgt die Größe 100% (= 1,0).

Testen Sie die Anwendung erneut:

scp -r web/* ACCOUNT@login.rz.hs-augsburg.de://www/ACCOUNT/hello_world_02

Achtung: Da auf dem HSA-Server der Ordner /www/ACCOUNT/hello_world_02 bereits existiert, müssen Sie diesmal (und auch zukünftig) beim SCP-Befehl web/* an Stelle von web schreiben. Damit kopieren Sie den Inhalt des Ordners web in den Ordner /www/ACCOUNT/hello_world_02. Beim ersten Mal hatten Sie den gesamten Ordner web (samt Inhalt) auf den HSA-Server kopiert und dort unter dem neuen Namen /www/ACCOUNT/hello_world_02 abgelegt. Die Option -r steht für “recursive”. Das heißt, der Ordner wird rekursiv durchlaufen: Nicht nur web, sondern auch alle seinen Kind-, Enkel-, Urenkel-, ... Dateien und Ordner werden kopiert.

Wenn alles funktioniert, committen und pushen Sie sie (Commit Message: „Support for mobile devices added.“) .

Aufräumen des öffentlichen Web-Servers

Wenn Sie mit der Optimierung des Designs für mobile Endgeräte fertig sind, sollten Sie die Testdaten auf dem öffentlichen Web-Server löschen (Vergessen Sie nicht ACCOUNT jeweils durch Ihren RZ-Account zu ersetzen):

ssh ACCOUNT@login.rz.hs-augsburg.de
cd /www/ACCOUNT   
ls -al
rm -rf hello_word_02   
exit

Fortsetzung des Tutoriums

Sie sollten nun Teil 3 des Tutoriums bearbeiten.

Quellen

  1. Kowarschick (WebProg): Wolfgang Kowarschick; Vorlesung „Web-Programmierung“; Hochschule: Hochschule Augsburg; Adresse: Augsburg; Web-Link; 2024; Quellengüte: 3 (Vorlesung)