# App-Vorlage Eine nur aus HTML, CSS und Javascript bestehende Bedienoberfläche für Apps, die ohne Anpassung am Code auf verschiedenen Geräten funktioniert. ## Eigenschaften Die App-Vorlage gruppiert Menü, Kopf- und Fußzeile sowie eine Seitenleiste um einen zentralen Bereich, dessen Inhalt nach unten aus dem sichtbaren Teil der Anzeige herausläuft, wenn der Platz auf der Anzeige nicht ausreicht. Beim Rollen des Inhalts bleiben die umliegenden Elemente und damit die wesentlichen Bedienelemente sichtbar. Der Inhalt des Menüs kann über Beschreibungsdateien an unterschiedliche Belange angepasst und über eine Schaltfläche ein- und ausgeblendet werden. Die Menübeschreibungen müssen in der Javascript Object Notation (JSON) verfasst sein und können beliebig in eine hierarchische Struktur von Untermenüs verschachtelt werden. ## Demo Aussehen und Funktionsweise der App-Vorlage kann mit der [Demo](/data/ulrich/test/app-vorlage/) angesehen und ausprobiert werden. ## Verwendung Zur Verwendung der App-Vorlage wird der Inhalt dieses Repositorys zunächst [heruntergeladen](/gitblit/zip/?r=web/app-vorlage.git&format=zip). Der Inhalt des so beschafften ZIP-Archivs kann so, wie er ist entpackt auf einem HTTP-Server wie z.B. [Tomcat](https://de.wikipedia.org/wiki/Apache_Tomcat) oder [lighttpd](https://de.wikipedia.org/wiki/Lighttpd) hinterlegt werden. Anschließend kann die App-Vorlage mit dem Uniform Resource Locator (URL), der sich aus ihrem Ablageort auf dem Server ergibt, im Webbrowser aufgerufen und ausgeführt werden. #### Add to Home Screen Die App-Vorlage schafft die Grundlage für Apps, die sich neben der universellen Ausführbarkeit in einem Webbrowser auch in einem Schritt auf einem Schlaufon oder Tafelrechner installieren und ausführen lassen, wie es gewöhnlich nur Apps aus dem App Store des Geräteherstellers erlauben. Wird die App-Vorlage beispielsweise mit Safari auf einem iPhone oder iPad aufgerufen, kann die Funktion "zum Home-Bildschirm hinzufügen" verwendet werden. Anschließend ist die App durch einfaches Antippen ihres Piktogrammes direkt vom Startbildschirm ausführbar wie eine App aus dem App Store. Diese Vorgehensweise funktioniert in vergleichbarer Weise mit Chrome auf Android-Geräten. ## Abhängigkeiten Die App-Vorlage verwendet [Mustache](https://mustache.github.io/) um Seitenvorlagen clientseitig zu HTML zu rendern. Damit der Code der App-Vorlage einfach geladen und so wie er ist ausprobiert werden kann ist Mustache aus dem Content Delivery Network [CDNJS](https://cdnjs.com/) eingebunden. Ferner ist der Zeichensatz [Roboto Condensed](https://fonts.google.com/specimen/Roboto+Condensed) aus [Google Fonts](https://fonts.google.com/) eingebaut. Diese Abhängigkeiten sollten von den angegebenen Quellen heruntergeladen und für einen produktiven Einsatz auf dem Server hinterlegt werden, von dem aus die App-Vorlage ausgeliefert wird. Von dort eingebunden führt die Verwendung dieser Zusätze nicht zu einem Ausbrechen aus dem eigenen Server.