01;;images/Aufgabe_Kurzvortrag.jpg;

Vorstellung von JavaScript, kostenfrei, leistungsstark ...

;* 02;aktuelle Generation;images/Generationen_JS.jpg;
  • aktuelle Version ist die Version 2017, im Juni 2017 als "ECMAScript 2017" veröffentlicht
  • der als ECMAScript (ECMA 262) standardisierte Sprachkern von JavaScript beschreibt eine dynamisch typisierte, objektorientierte, aber klassenlose Skriptsprache
  • wird allen objektorientierten Programmierparadigmen gerecht, deren Deklaration ab ECMAScript 6 mit einer Syntax ermöglicht wird, wie sie ähnlich auch bei klassenbasierten Programmiersprachen üblich ist
  • es sollen jährliche Updates folgen
  • nach dem Ende der Firma Netscape übernahm die Mozilla Foundation (Firefox) die Weiterentwicklung der Skriptsprache
  • ;* 03;Sprachtyp;images/Ueberblick_JS.jpg;
  • vollwertige Programmiersprache im Gegensatz zur Auszeichnungssprache HTML, flexible einsetzbar
  • Skriptsprachen sind Programmiersprachen, die vor allem für kleine Programme gedacht sind und meist über einen Interpreter ausgeführt werden. Sie verzichten oft auf Sprachelemente, deren Nutzen erst bei der Bearbeitung komplexerer Aufgaben zum Tragen kommt.
  • kann im Browser (clientseitig) und auf den Webserver (serverseitig) eingesetzt werden
  • DHTML, dynamisches HTML oder auch DOM-Scripting bezeichnen bestimmte Webdesign-Methoden, bei denen während der Anzeige einer Webseite diese selbst, ausgelöst durch Benutzereingaben, verändert wird
  • in JavaScript lässt sich je nach Bedarf objektorientiert, prozedural oder funktional programmieren, objektbasierend heißt es dazu im Lehrbuch S. 16
  • Programmierparadigmen unterscheiden sich durch ihre Konzepte für die Repräsentation von statischen (wie Objekte, Methoden, Variablen, Konstanten) und dynamischen (wie Zuweisungen, Kontrollfluss, Datenfluss) Programmelementen. Es können "viele Programmiersprachen mehrere Paradigmen gleichzeitig unterstützen" wie in JavaScript
  • ;* 04;Entwicklung;images/Entwicklung_JS.jpg;
  • JavaScript (kurz JS) ist eine Skriptsprache, die ursprünglich 1995 von Netscape für dynamisches HTML in Webbrowsern entwickelt wurde, um Benutzerinteraktionen auszuwerten, Inhalte zu verändern, nachzuladen oder zu generieren und so die Möglichkeiten von HTML und CSS zu erweitern .
  • heutiger Name der ursprünglich LiveScript genannten Sprache entstand 1996 aus einer Kooperation von Netscape mit Sun Microsystems. Deren Java-Applets, erstellt mit der gleichfalls 1995 veröffentlichten Programmiersprache Java, wurden mithilfe von LiveScript in den Netscape Navigator integriert. .
  • Um die Popularität von Java zu nutzen, wurde LiveScript in JavaScript umbenannt, obwohl die beiden Sprachen nur wenige Gemeinsamkeiten aufweisen.
  • ;* 05;Typische Anwendungsgebiete von JavaScript;images/Ueberblick_JS.jpg;
  • JavaScript heute auch außerhalb von Browsern angewendet, so auch auf Servern und in Microcontrollern
  • als Skriptsprache für Spiele und Anwendungsprogramme eingesetzt, da der Sprachkern nur wenige Objekte enthält und dadurch der zur Ausführung von in JavaScript formulierten Skripten erforderliche Interpreter relativ klein gehalten werden kann
  • wird als Verkehrssprache in der Datenbank MongoDB eingesetzt
  • dynamische Manipulation von Webseiten über das Document Object Model
  • Plausibilitätsprüfung (Datenvalidierung) von Formulareingaben noch vor der Übertragung zum Server
  • Anzeige von Dialogfenstern
  • Senden und Empfangen von Daten, ohne dass der Browser die Seite neu laden muss (Ajax)
  • Vorschlagen von Suchbegriffen während der Eingabe
  • Werbebanner oder Laufschriften
  • Verschleierung von E-Mail-Adressen zur Bekämpfung von Spam
  • mehrere Frames auf einmal wechseln oder die Seite aus dem Frameset lösen
  • Schreib- und Lesezugriff auf Cookies und den Web Storage innerhalb des Browsers
  • ;* 06;Vorzüge;images/AJAX_Prinzip.jpg;
  • auf den Deklarationszwang von Variablen wird meist verzichtet, vorteilhaft zur schnellen Erstellung von kleinen Programmen, wie Taschenrechner, Währungsumrechner, Kalender…
  • Plausibilitätsprüfung (Datenvalidierung) von Formulareingaben z.B. die Postleitzahl besteht nur aus 5 Zahle bei deutschen Anschriften, das entlastet den Webserver
  • Darstellung von dynamischen Inhalten ohne Webserver oder spezielle Browsererweiterungen, wie die Ausgabe von Messdaten in Diagrammen
  • Skripte werden fast ausschließlich in Form von Quelltextdateienausgeliefert, um so ein einfaches Bearbeiten und Anpassen des Programms zu ermöglichen
  • Speicherung von Daten auf dem Client wie Cookies
  • Anpassung der Seiten und Inhalte an die Nutzergegebenheiten
  • Sandbox-Prinzip - Webanwendung innerhalb des Browsers isoliert ausgeführt
  • ;* 07;Nachteile;images/Missbrauch_JS.jpg;
  • Darstellung ist noch immer noch leicht unterschiedlich in den verschiedenen Browsern
  • Verschleiern von Internetadressen, auf die ein Link verweist
  • Deaktivieren des Kontextmenüs, um zu erschweren, dass Bilder oder die gesamte Seite abgespeichert werden können
  • Deaktivieren der Kopierfunktion, um zu erschweren, dass Texte oder Bilder kopiert werden können
  • Unaufgeforderte (Werbe-)Pop-ups oder Pop-unders oder aufeinanderfolgende Dialogfenster, die den Benutzer behindern
  • Ungewolltes Schließen des Browserfensters
  • Ungewollte Größenänderung des Browserfensters
  • barrierearme Webseiten zeichnen sich dadurch aus, dass sie auch bei abgeschaltetem JavaScript möglichst uneingeschränkt nutzbar bleiben. Teilweise schränkt das deaktivierte JavaScript die Benutzbarkeit einer Webseite ein.
  • Maßnahmen, die an den Sicherheitseinstellungen des Browsers vorbei ein Wiedererkennen eines Benutzers bei einem späteren Besuch einer Website erlauben (siehe Anonymität im Internet)
  • JavaScript kann auch von Dritten missbraucht werden, etwa per XSS (Codeeinschleusung)
  • ;* 08;;images/Abschluss_Danke.jpg;

    Vielen Dank für Ihre Aufmerksamkeit!