Was ist JavaScript?

JavaScript ist eine Programmiersprache, die Entwickler verwenden, um interaktive Webseiten zu erstellen. Von der Aktualisierung von Social Media Feeds bis hin zur Anzeige von Animationen und interaktiven Karten können JavaScript-Funktionen die Benutzerfreundlichkeit einer Website verbessern. Als clientseitige Skriptsprache ist sie eine der Kerntechnologien des World Wide Web. Wenn Sie zum Beispiel im Internet surfen und ein Bildkarussell, ein Dropdown-Menü zum Anklicken oder dynamisch wechselnde Elementfarben auf einer Webseite sehen, sehen Sie die Auswirkungen von JavaScript.

Wofür wird JavaScript genutzt?

Früher waren Webseiten statisch, vergleichbar mit den Seiten eines Buches. Eine statische Seite zeigte hauptsächlich Informationen in einem festen Layout an und erfüllte nicht alles, was wir heute von einer modernen Website erwarten. JavaScript entstand als browserseitige Technologie, um Webanwendungen dynamischer zu machen. Mittels JavaScript konnten Browser auf Benutzerinteraktionen reagieren und das Layout der Inhalte auf der Webseite ändern.

Mit der Weiterentwicklung der Sprache etablierten JavaScript-Entwickler Bibliotheken, Frameworks und Programmierpraktiken und begannen, sie auch außerhalb von Webbrowsern zu verwenden. Heutzutage können Sie JavaScript sowohl für die clientseitige als auch für die serverseitige Entwicklung verwenden. Wir stellen in den folgenden Unterkapiteln einige gängige Anwendungsfälle vor:

Früher waren Webseiten statisch, vergleichbar mit den Seiten eines Buches. Eine statische Seite zeigte hauptsächlich Informationen in einem festen Layout an und erfüllte nicht alles, was wir heute von einer modernen Website erwarten. JavaScript entstand als browserseitige Technologie, um Webanwendungen dynamischer zu machen. Mittels JavaScript konnten Browser auf Benutzerinteraktionen reagieren und das Layout der Inhalte auf der Webseite ändern.

Mit der Weiterentwicklung der Sprache etablierten JavaScript-Entwickler Bibliotheken, Frameworks und Programmierpraktiken und begannen, sie auch außerhalb von Webbrowsern zu verwenden. Heutzutage können Sie JavaScript sowohl für die clientseitige als auch für die serverseitige Entwicklung verwenden. Wir stellen in den folgenden Unterkapiteln einige gängige Anwendungsfälle vor:

 

Wie funktioniert JavaScript?

Alle Programmiersprachen funktionieren, indem sie die dem englischen Sprachgebrauch ähnliche Syntax in Maschinencode übersetzen, der dann vom Betriebssystem ausgeführt wird. JavaScript wird im Allgemeinen als Skriptsprache oder als interpretierte Sprache eingestuft. JavaScript-Code wird interpretiert, das heißt, er wird von einer JavaScript-Engine direkt in den darunter liegenden Maschinensprachcode übersetzt. Bei anderen Programmiersprachen kompiliert ein Compiler in einem gesonderten Schritt den gesamten Code in Maschinencode. Es sind zwar alle Skriptsprachen Programmiersprachen, aber nicht alle Programmiersprachen sind Skriptsprachen.

JavaScript-Engine

Eine JavaScript-Engine ist ein Computerprogramm, das JavaScript-Code ausführt. Die ersten JavaScript-Engines waren lediglich Interpreter, aber alle modernen Engines verwenden Just-in-Time- oder Laufzeitkompilierung, um die Leistung zu verbessern.

Clientseitiges JavaScript

Clientseitiges JavaScript bezieht sich darauf, wie JavaScript in Ihrem Browser funktioniert. In diesem Fall befindet sich die JavaScript-Engine innerhalb des Browser-Codes. Alle wichtigen Webbrowser verfügen über ihre eigenen integrierten JavaScript-Engines.

Die Entwickler von Webanwendungen schreiben JavaScript-Code mit verschiedenen Funktionen, die mit verschiedenen Ereignissen verbunden sind, wie beispielsweise einem Mausklick oder einer Mausbewegung. Diese Funktionen ändern den HTML-Code und CSS.

Hier ist eine Übersicht darüber, wie clientseitiges JavaScript funktioniert:

1.   Der Browser lädt eine Webseite, wenn Sie sie besuchen.

2.   Während des Ladevorgangs konvertiert der Browser die Seite und alle ihre Elemente, wie Schaltflächen, Beschriftungen und Dropdown-Felder, in eine Datenstruktur, das so genannte Dokument-Objekt-Modell (DOM).

3.   Die JavaScript-Engine des Browsers wandelt den JavaScript-Code in Bytecode um. Dieser Code ist ein Vermittler zwischen der JavaScript-Syntax und der Maschine.

4.   Verschiedene Ereignisse, wie zum Beispiel ein Mausklick auf eine Schaltfläche, lösen die Ausführung des zugehörigen JavaScript-Codeblocks aus. Die Engine interpretiert dann den Bytecode und nimmt Änderungen am DOM vor.

5.   Der Browser zeit den neuen DOM an.

Serverseitiges JavaScript

Serverseitiges JavaScript bezieht sich auf die Verwendung der Programmiersprache in der Backend-Serverlogik. In diesem Fall befindet sich die JavaScript-Engine direkt auf dem Server. Eine serverseitige JavaScript-Funktion kann auf die Datenbank zugreifen, unterschiedliche logische Operationen durchführen und auf verschiedene vom Betriebssystem des Servers ausgelöste Ereignisse reagieren. Der größte Vorteil der serverseitigen Skripterstellung besteht darin, dass Sie die Antwort der Website auf der Basis Ihrer Anforderungen, Ihrer Zugriffsrechte und der von der Website angeforderten Informationen stark anpassen können.

Clientseitig gegenüber serverseitig

Das Wort dynamisch beschreibt sowohl clientseitiges als auch serverseitiges JavaScript. Dynamisches Verhalten bedeutet die Fähigkeit, die Anzeige der Webseite zu aktualisieren, um bei Bedarf neue Inhalte zu generieren. Der Unterschied zwischen clientseitigem und serverseitigem JavaScript liegt in der Art und Weise, wie sie neue Inhalte erzeugen. Serverseitiger Code erzeugt dynamisch neue Inhalte, indem er Anwendungslogik verwendet und Daten aus der Datenbank ändert. Clientseitiges JavaScript dagegen generiert dynamisch neue Inhalte innerhalb des Browsers, indem es die Logik der Benutzeroberfläche nutzt und die bereits auf dem Client befindlichen Webseiteninhalte verändert. Die Bedeutung ist geringfügig unterschiedlich in den beiden Zusammenhängen, ist aber verwandt, und beide Ansätze arbeiten zusammen, um die Benutzererfahrung zu verbessern.

Neben der Implementierung von dynamischen Funktionen besteht ein weiterer Unterschied zwischen den beiden JavaScript-Anwendungen in den Ressourcen, auf die der Code zugreifen kann. Auf der Seite des Clients steuert der Browser die Laufzeitumgebung von JavaScript. Der Code kann nur auf die Ressourcen zugreifen, die der Browser ihm gestattet. So kann er zum Beispiel keine Inhalte auf Ihre Festplatte schreiben, wenn Sie nicht auf eine Download-Schaltfläche klicken. Andererseits können serverseitige Funktionen bei Bedarf auf alle Ressourcen des Servers zugreifen.

Was sind JavaScript-Bibliotheken?

JavaScript-Bibliotheken sind Sammlungen von vorgefertigten Codeschnipseln, die von Webentwicklern zur Ausführung von JavaScript-Standardfunktionen wiederverwendet werden können. Der Code der JavaScript-Bibliothek wird je nach Bedarf in den übrigen Code des Projekts eingefügt. Wenn Sie sich den JavaScript-Anwendungscode als ein Haus vorstellen, sind JavaScript-Bibliotheken wie fertige Möbel, die Entwickler verwenden können, um die Funktionalität des Hauses zu verbessern.

Im Folgenden sind einige übliche Verwendungen von JavaScript-Bibliotheken aufgeführt:

Visualisierung von Daten

Die Visualisierung von Daten ist für die Nutzer von entscheidender Bedeutung, wenn es um die Anzeige von Statistiken geht, beispielsweise in der Verwaltungskonsole, dem Dashboard und den Leistungsmetriken.

Bibliotheken wie beispielsweise Chart.js, ApexCharts und Algolia Places verfügen über integrierte Funktionen, mit denen Sie Webanwendungen erstellen können, die Daten in Diagrammen und Karten darstellen.

DOM-Manipulation

Sie können Bibliotheken wie jQuery und Umbrella JS verwenden, um die Webentwicklung zu vereinfachen, denn sie bieten Code für Standard-Websitefunktionen wie Menüanimationen, Bildergalerien, Schaltflächen, Leuchtkästen und vieles mehr.

Formulare

In allen Bereichen der Webentwicklung werden Formulare verwendet, über die Besucher der Website mit jemandem Kontakt aufnehmen, Produkte bestellen oder sich für Veranstaltungen anmelden können. Manche JavaScript-Bibliotheken, wie zum Beispiel wForms, LiveValidation, Validanguage und qForms, vereinfachen Formularfunktionen, einschließlich Formularvalidierung, Layout, Bedingungen und Transformation.

Rechen- und Textfunktionen

Viele Webanwendungen müssen mathematische Gleichungen lösen und Daten, Zeiten und Texte verarbeiten. Anstatt alle Anfragen an den Server zu senden, ist es effizienter, einige auf der Client-Seite zu bearbeiten. Die Webentwickler verwenden dazu JavaScript-Bibliotheken wie Date.js, Sylvester und JavaScript URL Library

Was sind JavaScript-Frameworks?

Wie JavaScript-Bibliotheken sind JavaScript-Frameworks eine Sammlung von vorgefertigten Code-Snippets, die unterschiedliche Funktionen ausführen und wiederverwendet werden können. Während JavaScript-Bibliotheken jedoch ein spezialisiertes Tool für den On-Demand-Einsatz sind, sind JavaScript-Frameworks ein komplettes Werkzeugpaket, mit dem sich jede Webanwendung gestalten und organisieren lässt. Wenn Sie sich den JavaScript-Anwendungscode als ein Haus vorstellen, ist das JavaScript-Framework der Bauplan für das Haus.

Hier sind einige Anwendungsbeispiele für JavaScript-Frameworks:

Entwicklung von Web- und mobilen Anwendungen

AngularJS ist ein Framework, das die Entwicklung und das Testen von Webanwendungen, wie beispielsweise E-Commerce-Anwendungen, Echtzeitanwendungen und Videoanwendungen, vereinfacht. React Native ist ein weiteres Framework, das die Entwicklung von nativ gerenderten mobilen Anwendungen für iOS und Android unterstützt.

Responsive Web-Entwicklung

Responsive Websites bieten ein einheitliches Nutzererlebnis auf jedem Gerät. Beispielsweise sind die Bildschirme von Handys und Tablets kleiner als die von Desktops und Laptops. Sie möchten, dass die Website die Daten auch auf dem kleineren Bildschirm korrekt anzeigt und darstellt, ohne dass zum Beispiel die Enden der Website abgeschnitten werden. Mit Frameworks wie Bootstrap und Ember.js können Entwickler von responsivem Design profitieren und das Erscheinungsbild einer Website mühelos an verschiedene Plattformen anpassen.

Serverseitige Anwendungsentwicklung

Node.js ist ein serverseitiges, quelloffenes JavaScript-Framework, das JavaScript-Code außerhalb eines Browsers ausführt. Die Entwickler verwenden dieses Framework, um skalierbare, schnelle und zuverlässige, netzwerkbasierte serverseitige Anwendungen zu erstellen. Es kann HTTP-Anfragen und Datenströme verarbeiten, Dateisysteme unterstützen und mehrere Backend-Prozesse gleichzeitig verwalten.

Was ist HTML und CSS?

Hypertext Markup Language (HTML) und Cascading Style Sheets (CSS) sind zwei weitere Programmiersprachen, die von Entwicklern in der Frontend-Entwicklung verwendet werden. HTML ist der Grundbaustein der meisten Webseiten. Alle Absätze, Abschnitte, Bilder, Überschriften und Texte sind in HTML geschrieben. Der Inhalt erscheint auf der Website in der Reihenfolge, in der er in HTML geschrieben ist.

CSS ist eine Sprache mit Stilregeln, die wir verwenden, um unseren HTML-Inhalt zu gestalten. Sie können damit Website-Elemente wie Hintergrundfarben, Schriftarten, Spalten und Rahmen gestalten.

HTML gegenüber CSS gegenüber JavaScript

Alle drei Sprachen arbeiten zusammen, um ein positives Benutzererlebnis auf jeder Website zu schaffen. Während HTML und CSS in erster Linie statische Inhalte manipulieren können, lassen sie sich auch mit clientseitigem JavaScript-Code integrieren, um Inhalte dynamisch zu aktualisieren.

Der Skriptcode-Block auf einer HTML-Seite kann beispielsweise JavaScript enthalten. Der Browser kann dann sowohl HTML als auch den internen JavaScript-Code verarbeiten, wenn die HTML-Seite im Browser geladen wird.
 

Welche Vorteile bietet JavaScript?

Leicht zu erlernen und anzuwenden

Die Syntax von JavaScript wurde von der Programmiersprache Java inspiriert und ist leicht zu erlernen und zu programmieren. Entwickler verwenden JavaScript in fast jeder Website und mobilen Anwendung für das clientseitige Skripting. Node.js hat in den letzten zehn Jahren auch bei der Backend-Codierung stark an Popularität gewonnen. Viele große Streaming- und Videoplattformen wurden in Node.js kodiert.

Gewinnen Sie Plattformunabhängigkeit

Anders als bei anderen Programmiersprachen können Sie JavaScript in jede beliebige Webseite einfügen und mit vielen anderen Webentwicklungs-Frameworks und -sprachen verwenden. Sobald Sie ihn geschrieben haben, können Sie JavaScript-Code auf jedem Rechner ausführen. So macht JavaScript die Anwendungsentwicklung plattformunabhängig.

Reduzieren Sie die Serverlast

Sie können JavaScript nutzen, um die Serverlast und die Netzüberlastung zu verringern, da es logische Operationen ausführen und einen Großteil der Serverarbeit auf dem Client selbst erledigen kann. Denken Sie zum Beispiel an das Ausfüllen eines Anmeldeformulars. JavaScript prüft schnell, ob Sie eine 10-stellige Nummer für das Mobiltelefonfeld eingegeben haben. Würden diese Anfragen an den Server gesendet, würde Ihre Seite bei jedem Fehler neu geladen werden, was den Registrierungsprozess sehr langsam und mühsam machen würde.

Verbessern Sie die Benutzeroberfläche

JavaScript erstellt elegante Websites, die das Auffinden und Verarbeiten komplexer Informationen erleichtern. Die Entwickler setzen JavaScript ein, um die Funktionalität und die Lesbarkeit zu verbessern und die Interaktion mit den Benutzern einer Website effizienter zu gestalten.

Unterstützen Sie Gleichzeitigkeit

JavaScript kann mehrere verschiedene Sätze von Anweisungen parallel ausführen. Auf dem Backend kann Node.js hochskalierte Serverantworten verarbeiten, ohne die gleiche Bandbreite zu verbrauchen.

Welche Einschränkungen gibt es bei JavaScript?

Programmiersprachen verwenden Variablen als Platzhalter für aktuelle Datenwerte. In einem Codeblock kann der Entwickler zum Beispiel x=5 und y=x+1 schreiben. Wenn der Code ausgeführt wird, ändert der Computer automatisch x und y in 5 bzw. 6, um damit Funktionen auszuführen. Daten können von verschiedenen Typen sein, beispielsweise eine Textkette, Zahlen oder ein Datum. Aus diesem Grund ist es in den meisten Programmiersprachen möglich, den Variablentyp zu definieren. Sobald der Variablentyp definiert ist, ändert er sich nicht mehr; Sie können keine Zahlen in String-Variablen speichern.

Wenn Sie dem Programm zum Beispiel sagen, dass x und y Zahlen sind, und dann die Operation x+y ausführen, wird der Computer wissen, dass er zwei Zahlen erwarten und sie addieren muss. Wenn Sie jedoch x und y als Zeichenketten definieren, fügt der Operator + die beiden Zeichenketten aneinander, um ein längeres Wort zu bilden.

Schwach typisierte Sprache

JavaScript ist eine schwach typisierte Sprache. Das bedeutet, dass der Programmierer den Variablentyp nicht definieren kann. Eine Variable kann zur Laufzeit jeden Datentyp speichern, und Operationen nehmen den Typ der Variablen an. Das Ergebnis kann auch in einen anderen Datentyp umgewandelt werden, beispielsweise könnte eine Operation das Ergebnis als Zeichenkette „5“ anstelle der Zahl 5 zurückgeben. Dies kann zu versehentlichen Kodierungsfehlern und zu Fehlern im Code aufgrund von Tippfehlern führen.

Was ist TypeScript?

TypeScript ist eine Programmiersprache, die JavaScript durch das Hinzufügen von Typen in die Syntax verbessert. TypeScript fügt JavaScript eine zusätzliche Syntax hinzu, so dass Werkzeuge für den Code-Editor Kodierungsfehler frühzeitig erkennen können. Gleichzeitig wird der TypeScript-Code in JavaScript umgewandelt und bietet alle Vorteile von JavaScript. Es läuft auch in Anwendungen und mit JavaScript-Frameworks und -Bibliotheken.

Was ist AWS SDK für JavaScript?

AWS SDK für JavaScript ist eine Reihe von kostenlosen Open-Source-JavaScript-Bibliotheken, die in AWS-Services integriert werden können. Sie unterstützen die API-Entwicklung, Abstraktionen auf höherer Ebene und drei Arten von Anwendungen:

  • JavaScript für Browser
  • Node.js für Server
  • React Native für die mobile Entwicklung

Das AWS SDK für JavaScript ist vollständig in TypeScript geschrieben und dann in JavaScript kompiliert. So erhalten Sie alle Vorteile von TypeScript, ohne sich um die Abwärtskompatibilität sorgen zu müssen.

Sie können mit dem AWS SDK für Java beginnen, indem Sie die Codebeispiele und den Migrationsleitfaden lesen oder es direkt von GitHub aus installieren.

Was ist AWS Amplify für JavaScript?

AWS Amplify ist eine Reihe speziell entwickelter Werkzeuge und Funktionen, mit denen Frontend-Web- und Mobilentwickler schnell und einfach komplette Anwendungen auf AWS erstellen können. Die Open-Source-Client-Bibliotheken von Amplify bieten anwendungsspezifische, einfach zu bedienende Schnittstellen für verschiedene Kategorien von cloudgestützten Operationen an. Die Amplify-JavaScript-Bibliotheken werden für verschiedene Web- und Mobile-Frameworks unterstützt, darunter React, React Native, Angular, Ionic und Vue.js. Sie können loslegen, indem Sie das Handbuch Erste Schritte für Amplify JavaScript ausfüllen.

Die nächsten Schritte mit JavaScript auf AWS