= Einführung = == Gegenstand der Veranstaltung == In der Veranstaltung Fortgeschrittene Programmierung werden die Konzepte der Entwicklung verteilter Informationssysteme auf der Basis von Webtechnologien vermittelt. Im Wesentlichen handelt es sich dabei um den Technologiestack aus * '''HTML''': Hypertext Markup Language, Beschreibungssprache für Dokumente zur Darstellung im Browser. In HTML-Dokumenten werden die Struktur der Benutzeroberfläche und die Inhalte gespeichert. * '''CSS''': Cascading Style Sheets, Beschreibungssprache für das Aussehen der Benutzeroberfläche. Style Sheets werden an Oberflächenelemente des HTML-Dokuments gekoppelt und bestimmen deren Darstellung. * '''!JavaScript''': Interpretierte Programmiersprache zur Implementierung von Oberflächendynamik und Funktionalität der Anwendung == Entwicklungsumgebung == === Editor === Als Entwicklungsumgebung wird in der Veranstaltung die [[http://www.eclipse.org/downloads/packages/eclipse-ide-javascript-and-web-developers/neon3|Eclipse IDE for JavaScript and Web Developers]] mit den Plugins * Subclipse Plugin * Nodeclipse * Tern Plugin verwendet. Das Nodeclipse Plugin unterstützt die Entwicklung von Node.js-Programmen und ermöglicht Content Assist. Die Plugins können in Eclipse über den Marketplace (Help -> Eclipse Marketplace...) installiert werden. Sie können auch einen anderen Editor nach freier Wahl verwenden. Falls die Prüfung in elektronischer Form durchgeführt wird, kommt allerdings auf jeden Fall Eclipse zum Einsatz. === Browser === Ein weiterer wesentlicher Bestandteil der Entwicklungsumgebung ist der Webbrowser [[https://www.google.de/chrome/browser/desktop/|Chrome]]. Er enthält umfangreiche Entwicklertools inkl. !JavaScript Debugger. Die Entwicklertools können über das Menü -> Weitere Tools -> Entwicklertools (unter Windows Ctrl-Shift-I) geöffnet werden. === REST Client === Als Client zum Testen von REST Interfaces verwenden wir [[https://www.getpostman.com/|Postman]].