= 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 [[https://www.eclipse.org/downloads/packages/eclipse-ide-javascript-and-web-developers/photonm6|Eclipse IDE for JavaScript and Web Developers]] mit den Plugins * Subclipse Plugin * Nodeclipse 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. Eclipse für Webprojekte einrichten: {{{ #!html }}} === 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]].