===== Grundlagen der Smartform-Erstellung ===== === HTML === HTML steht für **Hyper Text Markup Languge** und ist die Standard-Markup-Sprache zur Erstellung von Webseiten. In Kombination mit weiteren Sprachen wie **Cascading Style Sheets (CSS)** und **JavaScript** bildet HTML die Basis der Web-Entwicklung. Dabei wird HTML eingesetzt, um die Struktur von Webseiten festzulegen. HTML gilt demnach nicht als Programmiersprache sondern als Markup-Sprache und ist folglich leicht zu erlernen. \\ Im Folgenden stellen wir einige für die Smartform-Erstellung nützliche HTML-Elemente vor. Eine ausführliche Dokumentation sowie zahlreiche Tutorials finden Sie unter [[http://www.w3schools.com/ | W3Schools]]. === CSS === CSS oder Cascading Style Sheets werden eingsetzt um das **Design bzw. die Präsentation** mit HTML erstellter Webseiten zu beeinflussen. CSS ist darauf ausgelegt Struktur und Präsentation einer Webseite zu trennen. In der Regel werden die Styles in einer seperaten .css-Datei definiert. \\ Die User Experience einer Smartform wird neben der Funktionalität entscheidend durch ein ansprechendes Design beeinflusst. Die visuelle Bearbeitung mit CSS stellt einen wichtigen Bestandteil des Smartform-Designs dar. \\ Eine ausführliche Dokumentation sowie zahlreiche Tutorials finden Sie unter [[http://www.w3schools.com/ | W3Schools ]]. === JavaScript === Javascript ist eine client-seitige Programmiersprache, die im Browser ausgeführt wird. Während HTML und CSS den statischen Inhalt einer Webseiten darstellen, kann mit JavaScript auf **Benutzerinteraktion** reagiert werden. Des Weiteren Funktionalitäten wie Berechnungen oder Auto-Completes umgesetzt werden. \\ Eine ausführliche Dokumentation sowie zahlreiche Tutorials finden Sie unter [[http://www.w3schools.com/ | W3Schools ]]. ---- ===== Planung ===== Bevor mit der Umsetzung einer Smartform begonnen wird, sollte dessen Struktur, Design und Funktionalitäten sorgfältig geplant werden. Smartforms versorgen einen Prozess mit notwendigen Informationen. Ein guter Ausgangspunkt für die Planung ist, wann welche Informationen im Prozessablauf benötigt werden. Hierbei handelt sich um funktionale Anforderungen an die Smartform. \\ Sind die funktionalen Anforderungen geklärt, müssen diese in einem benutzerfreundlichen Design realisiert werden. Dabei ist zu beachten, welche Benutzer letztendlich mit der Smartform arbeiten müssen. Eine ansprechende Benutzeroberfläche erleichtert die Arbeit mit Smartforms merklich. Allerdings sollte die Funktionalität immer vor ästhetischen Aspekten stehen. \\ Bei der Planung einer Smartform bietet sich die Umsetzung eines Paper-Prototypen oder Mockups an. Entwürfe können in einem iterativen Prozess mit Endnutzern besprochen und bei Bedarf modifiziert werden. Für die Umsetzung von Mockups und Prototypen gibt es einige hilfreiche Tools wie [[https://balsamiq.com/ | Balsamiq Mockup]] oder [[https://www.sketchapp.com/ | Sketch]]. ---- ===== Verwendung von Frameworks ===== {{ :software:tim:bs.png?}} Um die Web-Entwicklung komfortabler zu gestalten, wurden in den letzten Jahren zahlreiche HTML, CSS und JavaScript Frameworks entwickelt. In der Smartform-Entwicklung setzen wir bei TIM regelmäßig [[https://www.getbootstrap.com/ | Bootstrap]] ein. **Boostrap** stellt vorgefertigte CSS-Klassen zur Verfügung, die die Entwicklung eines ansprechenden sowie responsiven Smartform-Design ermöglichen. Wie Bootstrap in ein Formular eingebunden wird, zeigen wir anhand unseres ausführlichen [[smartform-example | Enwicklungsbeispiel]]. Neben **Bootstrap** erfreuen sich Bibliotheken mit Web-Komponenten wie [[ http://www.polymer-project.org | Polymer ]] zunehmender Verwendung. Neben Bootstrap und Polymer ist die JavaScript-Bibliothek [[https://jquery.com/ | jQuery]] wichtiger Bestandteil der Smartform-Entwicklung. Die umfangreichen API stellt zahlreiche Funktionen zur Verfügung, z.B. zum Abfangen von User-Input. \\ Für sehr aufwendige Smartforms mit komplizierten Berechnungen bzw. Anfragen hat sich das von Google entwickelte Framework AngularJS als äußerst nützlich erwiesen. Natürlich können Sie jederzeit eigene Frameworks entweder über den HTML-Code der Smartform oder über die custom.js-Datei (wird im [[smartform-example | Entwicklungsbeispiel]] erläutert) einbinden. {{:software:tim:angularJs.png?150}} ---- ===== Ein geeigneter Editor ===== {{ :software:tim:brackets.jpg?150}} Ein Smartform lässt sich mit einem einfachen Texteditor erstellen. Allerdings bieten speziell für die Programmierung ausgelegte Editoren zahlreiche Vorteile, wie Zeileneinrückung, Code-Highlighting oder Auto-Vervollständigung. \\ Beliebte Editoren sind z.B. [[https://notepad-plus-plus.org/ | Notepad++]], [[http://brackets.io/ | Brackets]] und [[http://www.sublimetext.com/3 | Sublime Text]]. ---- === Formular erstellen === Um ein Formular zu erstellen sind ein öffnendes
- Tag notwendig. Diese beiden Tags kennzeichnen den Beginn und das Ende des Dokuments. Der darzustellende Inhalt befindet sich zwischen diesen beiden Tags.
----
=== Klasse und Name für das Formular ===
Ein Formular muss eine Klasse und einen Namen beinhalten. Diese werden innerhalb des öffnenden