Geschichte von JavaScript

0 Aktien
0
0
0
0

Einführung

JavaScript ist eine Programmiersprache und neben HTML und CSS eine der drei wichtigsten Sprachen zur Webentwicklung. Während HTML und CSS Struktur und Design einer Website festlegen, ermöglicht JavaScript das Hinzufügen von Funktionen und Verhaltensweisen. Dadurch können Besucher auf vielfältige und kreative Weise mit Ihrer Website interagieren.

Der erste Browser

Der erste populäre Webbrowser mit grafischer Benutzeroberfläche, Mosaic, erschien 1993. Er war auch für technisch weniger versierte Nutzer zugänglich und trug maßgeblich zum rasanten Wachstum des frühen World Wide Web bei. Die ursprünglichen Entwickler von Mosaic gründeten daraufhin Netscape, das 1994 mit Netscape Navigator einen fortschrittlicheren Browser herausbrachte. Dieser Browser wurde schnell zum meistgenutzten.

In den Anfangsjahren des Internets waren Webseiten statisch und konnten sich nach dem Laden im Browser nicht dynamisch verhalten. In der aufstrebenden Webentwicklungsszene entstand der Wunsch, diese Einschränkung zu überwinden. Daher beschloss Netscape 1995, Navigator um eine Programmiersprache zu erweitern. Um dieses Ziel zu erreichen, verfolgten sie zwei Wege: Zum einen arbeiteten sie mit Sun Microsystems zusammen, um die Programmiersprache Java zu integrieren, zum anderen beauftragten sie Brendan Eich mit der Integration der Programmiersprache Scheme.

Das Management von Netscape entschied bald, dass die beste Option für Eich darin bestünde, eine neue Sprache zu entwickeln, deren Syntax Java ähnelte und weniger Ähnlichkeit mit Scheme oder anderen bestehenden Programmiersprachen aufwies. Obwohl die neue Sprache und ihre Interpreter-Implementierung im Rahmen einer Beta-Version im September 1995 zunächst LiveScript hießen, wurde der Name für die offizielle Veröffentlichung im Dezember in JavaScript geändert.

Die Namenswahl JavaScript hat Verwirrung gestiftet und suggeriert eine direkte Verwandtschaft zu Java. Damals, mitten im Dotcom-Boom, war Java eine populäre neue Programmiersprache. Ich hielt den Namen JavaScript daher für einen Marketingtrick von Netscape. Das ursprüngliche Ziel war jedoch eine völlig eigenständige “Sprache für die breite Masse” oder “ein Angebot für Nicht-Programmierer, um dynamische und interaktive Websites zu erstellen”. Mit dem Aufkommen eigenständiger JavaScript-Laufzeitumgebungen wie Netscapes Webentwicklungstool LiveWire Pro sowie Ajax, ServerJS, asm.js und node.js änderte sich dies natürlich.

Von Microsoft genehmigt

Microsoft brachte 1995 den Internet Explorer auf den Markt, was zu einem Browserkrieg mit Netscape führte. Im Bereich JavaScript analysierte Microsoft den Navigator-Interpreter, um einen eigenen Interpreter namens JScript zu entwickeln.

JavaScript wurde erstmals 1996 veröffentlicht, zusammen mit erster Unterstützung für CSS- und HTML-Erweiterungen. Jede dieser Implementierungen unterschied sich deutlich von ihren Pendants im Navigator. Diese Unterschiede erschwerten es Entwicklern, ihre Websites in beiden Browsern optimal darzustellen, was mehrere Jahre lang zur weitverbreiteten Verwendung der Logos «Optimale Darstellung in Netscape» und «Optimale Darstellung im Internet Explorer» führte.

Das Aufkommen von JScript

Im November 1996 reichte Netscape JavaScript bei ECMA International als Ausgangspunkt für eine Standardspezifikation ein, an die sich alle Browserhersteller halten konnten. Dies führte im Juni 1997 zur offiziellen Veröffentlichung der ersten ECMAScript-Sprachspezifikation.

Der Standardisierungsprozess wurde über mehrere Jahre fortgesetzt, mit der Veröffentlichung von ECMAScript 2 im Juni 1998 und ECMAScript 3 im Dezember 1999. Die Arbeiten an ECMAScript 4 begannen im Jahr 2000.

Unterdessen erlangte Microsoft zunehmend eine dominante Stellung auf dem Browsermarkt. Anfang der 2000er-Jahre erreichte der Marktanteil des Internet Explorers 95 Prozent. Dies führte dazu, dass JScript zum De-facto-Standard für clientseitiges Scripting im Web wurde.

Microsoft beteiligte sich zunächst am Standardisierungsprozess und implementierte einige der Vorschläge in seiner Programmiersprache JScript, stellte die Mitarbeit an ECMA jedoch schließlich ein. Daher wurde ECMAScript 4 eingestellt.

Wachstum und Standardisierung

Während der dominanten Stellung des Internet Explorers Anfang der 2000er-Jahre stagnierte die Frontend-Entwicklung. Dieser Wandel begann 2004 mit der Veröffentlichung des Firefox-Browsers durch Mozilla, den Nachfolger von Netscape. Firefox wurde von vielen Nutzern gut aufgenommen und gewann bedeutende Marktanteile vom Internet Explorer.

2005 trat Mozilla ECMA International bei und begann mit der Entwicklung des ECMAScript for XML (E4X)-Standards. Daraufhin arbeitete Mozilla mit Macromedia (später von Adobe Systems übernommen) zusammen, um E4X in ihrer Programmiersprache ActionScript 3 zu implementieren, die auf dem Entwurf von ECMAScript 4 basierte. Ziel war es, ActionScript 3 als neues ECMAScript 4 zu standardisieren. Zu diesem Zweck veröffentlichte Adobe Systems die Tamarin-Implementierung als Open-Source-Projekt. Tamarin und ActionScript 3 unterschieden sich jedoch stark von herkömmlichen clientseitigen Skriptsprachen, und ohne die Mitwirkung von Microsoft konnte ECMAScript 4 nie realisiert werden.

Parallel dazu fanden in der Open-Source-Community, unabhängig von der Arbeit der ECMA, bedeutende Entwicklungen statt. 2005 veröffentlichte Jesse James Garrett ein Whitepaper, in dem er den Begriff Ajax prägte und eine Reihe von Technologien beschrieb, deren Rückgrat JavaScript bildete. Diese Technologien ermöglichten die Entwicklung von Webanwendungen, bei denen Daten im Hintergrund geladen werden konnten, ohne dass die gesamte Seite neu geladen werden musste. Dies löste eine JavaScript-Renaissance aus, angeführt von Open-Source-Bibliotheken und den dazugehörigen Communities. Zahlreiche neue Bibliotheken entstanden, darunter jQuery, Prototype, Dojo Toolkit und MooTools.

Google stellte seinen Chrome-Browser 2008 mit einer V8-JavaScript-Engine vor, die schneller war als die der Konkurrenz. Die wichtigste Neuerung war die Just-in-Time-Kompilierung (JIT), weshalb andere Browserhersteller ihre Engines für JIT neu entwickeln mussten.

Im Juli 2008 trafen sich die verschiedenen Parteien zu einer Konferenz in Oslo. Dies führte Anfang 2009 zu einer endgültigen Vereinbarung, alle damit verbundenen Arbeiten zusammenzuführen und die Sprache weiterzuentwickeln. Das Ergebnis war der ECMAScript-5-Standard, der im Dezember 2009 veröffentlicht wurde.

Erreichen der Pubertät

Die ambitionierten Arbeiten an der Sprache wurden über mehrere Jahre fortgesetzt und gipfelten 2015 in der Veröffentlichung von ECMAScript 6 mit einer Vielzahl formaler Ergänzungen und Korrekturen.

Die Entwicklung von Node.js im Jahr 2009 durch Ryan Dahl führte zu einem deutlichen Anstieg der JavaScript-Nutzung außerhalb von Webbrowsern. Node kombiniert die V8-Engine, eine Ereignisschleife und Eingabe-/Ausgabe-APIs und bildet so ein in sich geschlossenes JavaScript-Laufzeitsystem. Im Jahr 2018 wurde Node von Millionen von Entwicklern eingesetzt, und npm bot die meisten Module aller verwalteten Pakete weltweit.

Die ECMAScript-Spezifikation wird nun öffentlich auf GitHub gepflegt und regelmäßig jährlich aktualisiert. Potenzielle Sprachänderungen werden in einem umfassenden Vorschlagsverfahren geprüft. Anstelle von Versionsnummern überprüfen Entwickler nun den Status zukünftiger Funktionen einzeln.

Das aktuelle JavaScript-Ökosystem umfasst zahlreiche Bibliotheken und Frameworks, etablierte Programmierpraktiken und eine weit verbreitete Nutzung von JavaScript außerhalb von Webbrowsern. Mit dem Aufkommen von Single-Page-Anwendungen und anderen JavaScript-intensiven Websites wurden zudem verschiedene Transpiler entwickelt, um den Entwicklungsprozess zu vereinfachen.

Warenzeichen

“JavaScript” ist eine Marke der Oracle Corporation in den Vereinigten Staaten. Die Marke wurde ursprünglich am 6. Mai 1997 an Sun Microsystems vergeben und ging im Zuge der Übernahme von Sun durch Oracle im Jahr 2009 in deren Besitz über.

Nutzung der Website-Benutzerseite

JavaScript ist die dominierende clientseitige Skriptsprache des Webs und wird von 98 % aller Websites (Mitte 2022) verwendet. Skripte werden in HTML-Dokumente eingebettet oder innerhalb dieser verwendet und interagieren mit dem DOM.

Alle gängigen Webbrowser verfügen über eine integrierte JavaScript-Engine, die Code auf dem Gerät des Benutzers ausführt.

Beispiele für skriptgesteuertes Verhalten
  • Das Laden neuer Inhalte auf einer Webseite ohne Neuladen der Seite erfolgt per Ajax oder WebSocket. So können beispielsweise Nutzer sozialer Medien Nachrichten senden und empfangen, ohne die aktuelle Seite zu verlassen.
  • Animationen auf Webseiten, wie das Ein- und Ausblenden von Objekten, deren Größenänderung und deren Verschiebung.
  • Spiele Browserspiele.
  • Steuerung der Streaming-Medienwiedergabe.
  • Erstellen Sie Pop-up-Werbung oder Warnmeldungen.
  • Validierung der Eingabewerte eines Webformulars, bevor die Daten an einen Webserver gesendet werden.
  • Informationen über das Nutzerverhalten werden erfasst und an den Server gesendet. Der Website-Betreiber kann diese Daten für Analysen, Werbe-Tracking und Personalisierung nutzen.
  • Den Benutzer auf eine andere Seite weiterleiten.
  • Speichern und Abrufen von Daten auf dem Gerät des Benutzers über Speicher- oder IndexedDB-Standards.

Webbibliotheken und Frameworks

Bis 2012 nutzten über 80 % der Websites eine JavaScript-Bibliothek oder ein Web-Framework von Drittanbietern für ihr clientseitiges Scripting.

Reagieren

React (auch bekannt als React.js oder ReactJS) ist eine kostenlose Open-Source-JavaScript-Bibliothek für die Frontend-Entwicklung[41][42] zur Erstellung komponentenbasierter Benutzeroberflächen. Sie wird von Meta (ehemals Facebook) und einer Community aus Entwicklern und Unternehmen weiterentwickelt.

React eignet sich zur Entwicklung von Single-Page-, Mobil- oder serverseitig gerenderten Anwendungen mit Frameworks wie Next.js. Da React sich ausschließlich um die Benutzeroberfläche und das Rendern von Komponenten im DOM kümmert, greifen React-Anwendungen häufig auf Bibliotheken für Routing und andere clientseitige Funktionen zurück. Ein wesentlicher Vorteil von React ist, dass nur die geänderten Teile der Seite neu gerendert werden, wodurch das unnötige Rendern unveränderter DOM-Elemente vermieden wird.

Winkel

Angular (auch “Angular 2+” genannt)[48] ist ein kostenloses Open-Source-Framework für Single-Page-Webanwendungen auf TypeScript-Basis. Es wird vom Angular-Team bei Google und einer Community aus Einzelpersonen und Unternehmen weiterentwickelt. Angular ist eine vollständige Neuentwicklung durch dasselbe Team, das auch AngularJS entwickelt hat.

jQuery

Im Jahr 2012 war jQuery die beliebteste Frontend-Bibliothek und wurde von über 75 % aller Websites genutzt. Obwohl sie immer noch weit verbreitet ist, wurde ihre Popularität von neueren Bibliotheken und Frameworks übertroffen.

Vanilla JS

Framework-Namen wie “Vanilla JS” sind nichts anderes als eine andere Bezeichnung für reines JavaScript. Es wurde für Websites entwickelt, die keinerlei Bibliotheken oder Frameworks verwenden, sondern ausschließlich auf Standard-JavaScript-Funktionen setzen.

Weitere Verwendungsmöglichkeiten

Die Verwendung von JavaScript hat sich über seine Ursprünge in Webbrowsern hinaus erweitert. JavaScript-Engines sind heute in eine Vielzahl anderer Softwaresysteme eingebettet, sowohl für die serverseitige Bereitstellung von Websites als auch für Nicht-Browser-Anwendungen.

Frühe Versuche zur Förderung serverseitigen JavaScripts waren Netscape Enterprise Server und Microsoft Internet Information Services, doch diese blieben Nischenprodukte. Erst Ende der 2000er-Jahre, mit der Entwicklung von Node.js und anderen Ansätzen, begann die Nutzung serverseitigen JavaScripts zu wachsen.

Electron, Cordova, React Native und andere Anwendungsframeworks wurden zur Entwicklung zahlreicher Anwendungen mit in JavaScript implementiertem Verhalten eingesetzt. Zu den weiteren Nicht-Browser-Anwendungen gehören die Adobe Acrobat-Unterstützung für Skripte in PD-Dokumenten und in JavaScript geschriebene GNOME Shell-Erweiterungen.

JavaScript ist in letzter Zeit in einigen eingebetteten Systemen aufgetaucht, üblicherweise unter Verwendung von Node.js.

Ausführungsumgebung

JavaScript benötigt typischerweise eine Laufzeitumgebung (z. B. einen Webbrowser), um Objekte und Methoden bereitzustellen, mit denen Skripte mit der Umgebung (z. B. dem DOM einer Webseite) interagieren können. Diese Umgebungen sind Single-Threaded. JavaScript benötigt die Laufzeitumgebung auch, um das Einbinden/Importieren von Skripten (z. B. mit `<script>`-Elementen) zu ermöglichen. HTML) را فراهم کند. این به خودی خود یک ویژگی زبان نیست، اما در اکثر پیاده سازی های جاوا اسکریپت رایج است. جاوا اسکریپت پیام های یک صف را در یک زمان پردازش می کند. جاوا اسکریپت یک تابع مرتبط با هر پیام جدید را فراخوانی می کند و یک فریم پشته تماس با آرگومان های تابع و متغیرهای محلی ایجاد می کند. پشته تماس بر اساس نیازهای تابع کوچک شده و رشد می کند. هنگامی که پشته تماس پس از تکمیل تابع خالی است، جاوا اسکریپت به پیام بعدی در صف ادامه می‌دهد. این حلقه رویداد نامیده می شود که به عنوان “اجرا تا تکمیل” توصیف می شود زیرا هر پیام قبل از در نظر گرفتن پیام بعدی به طور کامل پردازش می شود. با این حال، مدل همزمانی زبان، حلقه رویداد را غیر مسدودکننده توصیف می‌کند: ورودی/خروجی برنامه با استفاده از رویدادها و توابع پاسخ به تماس انجام می‌شود. این بدان معناست که، برای مثال، جاوا اسکریپت می‌تواند یک کلیک ماوس را در حالی که منتظر یک پرس و جو پایگاه داده برای بازگرداندن اطلاعات است، پردازش کند.

Ergebnis

Heute können wir mit JavaScript alle Arten von Programmen schreiben, darunter Browser-, Server-, Mobil- und Desktop-Anwendungen. Wir hoffen, dieser Artikel hat Ihnen einen guten Einblick in die Geschichte der aktuell beliebtesten Programmiersprache im Internet gegeben.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Das könnte Ihnen auch gefallen

TensorFlow

TensorFlow ist eine von Google veröffentlichte Bibliothek für maschinelles Lernen und Deep Learning…