Javascript

• Javascript ist eine Programmiersprache, die besonders gut mit Webseiten zusammenarbeiten kann.
• Jedes gängige Browser-Programm kann Javascript-Programme am eigenen Arbeits-PC ausführen.

Javascript-Technik


Offener Quelltext

Javascript-Programme sind im Quelltext der jeweiligen Webseite in einem HTML <script>-Element enthalten. Sie sind daher offen zugänglich.

Man kann Javascript-Programme ansehen, am eigenen PC speichern und für eigene Zwecke verwenden. Das lässt sich nur juristisch, nicht jedoch technisch verhindern.
Der Schutz des geistigen Eigentums ist daher mit Javascript nicht möglich. Dieser Aspekt wird jedoch oft überschätzt: Die Programme enthalten meist keine Geheimnisse.

Oft wird auch bemängelt, dass man den Quelltext am eigenen PC ändern kann. Damit kann man sich allerdings nur selbst schaden, ebenso wie durch die Manipulation beliebiger anderer erhaltener Daten.


Client-PC

Javascript-Programme werden am eigenen Arbeits-(Client)-PC ausgeführt.

Der Webserver wird bedeutend entlastet, weil dort keine Programme ausgeführt werden, sondern nur eine (statische) Text-Datei aus HTML+Javascript-Quelltext zu senden ist.
Dieser Vorteil wirkt sich umso stärker aus, je öfter ein Programm (z.B. auf interaktive Anforderung) wiederholt wird.

Wenn es möglich ist, eine Aufgabe vom Server (Java, Perl, PHP, ...-Programme) zum Client (Javascript) zu verlagern, dann kann man damit die Leistung des Gesamt-Systems (Server + alle Clients) meist erheblich steigern.


Sicherheit

Browser - und damit auch Javascript-Programme - laufen in einer streng begrenzten Umgebung ( Sandbox) und haben keinerlei Zugriff auf die Resourcen des eigenen Arbeits-PC (z.B. Dateien).

Davon ausgenommen ist der Upload von Dateien, der jedoch nur auf ausdrückliche Anweisung des Users erfolgen kann.

Ein Browser-Hersteller hat zwar versucht, dieses Prinzip für eigene ( ActiveX)-Programme zu durchbrechen, das hat sich jedoch wegen der gravierenden Sicherheits-Mängel nicht durchgesetzt und wird heute praktisch nicht mehr verwendet.

Manche AnwenderInnen befürchten durch Javascript das Eindringen von Viren, Trojanern und anderem Ungeziefer. Das kann man nicht generell ausschließen, spielt jedoch derzeit keine Rolle.

Die häufigste Ursache von Infektionen ist menschliches (Fehl)-Verhalten, provoziert durch psychologisch immer geschickter gestellte Fallen. Dagegen hilft es nicht, Javascript abzuschalten.

Viele AnwenderInnen befürchten Spionage durch Cookies. Das trifft kaum zu und ist auch nicht an Javascript gebunden.

Zur Spionage sind heute andere, sehr effiziente Möglichkeiten verfügbar, die man als User nur dann unterbinden kann, wenn man weder PC noch Smartphone nutzt. Außerdem werden Autos, Stromzähler, Heizungen und Haushalts-Geräte bald zwangsweise mit 'Intelligenz' ausgerüstet, die man als User weder kontrollieren noch abschalten kann.


Geschwindigkeit

Javascript-Programme werden vor der Ausführung von einem Interpreter-Programm in die 'Maschinensprache' des jeweiligen PC übersetzt. Das braucht allerdings durch Anwendung einiger intelligenter Tricks nur sehr wenig Zeit.

Javascript-Programme arbeiten außerordentlich schnell: Wenn ein Programm nur wenig Quelltext enthält, jedoch viele Anweisungen ausführt (Schleifen), dann erreicht man etwa die gleiche Geschwindigkeit wie die Programmiersprache C/C++, jedoch mit weit geringerem Aufwand.


Moderne Informatik

Die meisten Webseiten werden heute von CMS-Systemen erzeugt, die Javascript nur sparsam verwenden.

Das wird sich ändern, weil sich viele Aufgaben vom Server (Programmiersprache meist → PHP) auf die Clients (Javascript) übertragen lassen: Damit kann man die verfügbare Leistung auch ohne Änderung von Netzwerk oder PC-Hardware bedeutend steigern.

Ein erheblicher Anteil der unzähligen Apps ließe sich auf Webseiten mit Javascript genau gleich verwenden, jedoch einfacher herstellen und verwalten. Javascript bietet auch ohne die aufwändige Kontrolle der App-Stores wesentlich mehr Sicherheit gegen schädliche Programme. Apps-Sammlungen folgen allerdings eher der Mode als rationalen Überlegungen.

Typische Aufgaben von javascript-Programmen:

Entwicklungs-Umgebung


Wer nur wenig IT-Erfahrung hat und dennoch Javascript-Programme verwenden will, beschränkt sich am besten auf den Einbau fertiger Javascript-Lösungen in eigene Webseiten.

Im Internet sind tausende Beispiele verfügbar, allerdings in sehr unterschiedlicher Qualität.

Für dieses Ziel werden hier die Seiten → Javascript-Start und → Meldungs-Fenster angeboten. Einfache Javascript-Programme lassen sich mit diesen Kenntnissen installieren.

Komplexe Javascript-Lösungen erfordern jedoch meist eine Adaptierung und daher mindestens das Verständnis der grundlegenden Funktionen. Ohne fortgeschrittene Kenntnisse sind die Chancen für einen erfolgreichen Import größerer Programme gering.

Javascript Funktionen werden nicht alleinstehend verwendet, sondern als Hilfs-Programme für verschiedene Dokumente - Meist für → HTML-Webseiten, jedoch auch für jedes andere XML-Dokument, z.B. für → SVG Objekt-Grafik.
Daher braucht man die passende Entwicklungs-Umgebung für den jeweiligen Dokument-Typ, meist für HTML (→ Details).

Zusätzlich braucht man eine möglichst rasche und unkomplizierte Methode zum Debuggen der unvermeidlichen Programmier-Fehler.
Dazu bieten alle gängigen Browser eine Option zur Anzeige der (Fehler)-Konsole, z.B. Firefox:
Menü EntwicklerInnen-Werkzeuge / Web-Konsole

Eine Möglichkeit zum raschen (!) und einfachen Debuggen ist unumgänglich - Andernfalls verliert man unverhältnismäßig viel Zeit mit der Suche nach Fehlern.

Ausbildung mit Javascript


Javascript ist besonders gut geeignet, um die Grundbegriffe der Programmierung zu erlernen:

Die Entwicklungs-Umgebung stellt keine Ansprüche: Im einfachsten Fall genügt ein Text-Editor- und ein Browser-Programm. Das bietet jeder PC und jedes Betriebssystem. Lediglich Smartphones sind wegen des winzigen Bildschirms zur Entwicklung wenig geeignet.

Es wird keine Zeit für Installation oder Konfiguration von Software verbraucht.

Zur Arbeit genügt ein PC minimaler Leistung. Man braucht keine zusätzlichen Resourcen wie z.B. einen Server, nicht einmal ein Netzwerk. Daher ist die Ausbildung nicht an besonders ausgerüstete Lehrsäle gebunden. StudentInnen können auch am eigenen PC oder an jedem anderen verfügbaren PC arbeiten.

Die hergestellten Produkte - Webseiten mit Javascript-Programmen - sind ohne weitere Maßnahmen portabel. Man kann sie an jedem PC oder Smartphone verwenden, auf Datenträger (USB) transportieren oder im Internet versenden.

Man kann rasch Erfolge erzielen. Bei kluger Wahl der Aufgaben ist es möglich, ein Beispiel innerhalb einer halben Stunde zu programmieren. Eine Minimal-Webseite bietet das gesamte User-Interface, daher kann man die verfügbare Zeit zur Programmierung der eigentlichen Aufgabe verwenden.

Der Aufwand zur Herstellung eines ansprechenden User-Interface ist gering. Schon wenig fortgeschrittene StudentInnen können ihre Produkte mit Layout, Farbe und Grafik herzeigbar gestalten. Das erhöht die Motivation besser als beispielsweise die wochenlange Ansicht von Konsolen-Programmen...

Die mit Javascript erworbenen Grund-Kenntnisse lassen sich mit geringen Änderungen auf alle modernen Programmiersprachen übertragen. Damit kann man viel Ausbildungs-Zeit sparen.
Erst bei fortgeschrittener Programmierung (z.B. von Klassen) unterscheiden sich andere Programmiersprachen wesentlich von javascript.