Nicht aus der Schweiz? Besuchen Sie lehmanns.de

JavaScript für Dummies (eBook)

eBook Download: EPUB
2024
695 Seiten
Wiley-VCH (Verlag)
978-3-527-84225-4 (ISBN)

Lese- und Medienproben

JavaScript für Dummies - Sebastian Springer
Systemvoraussetzungen
21,99 inkl. MwSt
(CHF 21,45)
Der eBook-Verkauf erfolgt durch die Lehmanns Media GmbH (Berlin) zum Preis in Euro inkl. MwSt.
  • Download sofort lieferbar
  • Zahlungsarten anzeigen

Schritt für Schritt zu JavaScript

Wenn Sie mit JavaScript programmieren lernen möchten, dann greifen Sie zu! Sebastian Springer vermittelt Ihnen in diesem Einstieg das Grundwissen zur Programmierung mit dieser mächtigen Programmiersprache. Sie lernen neben Grundlagen wie Schleifen, Verzweigungen und Co. alle wichtigen Tools, Arbeitsweisen und Besonderheiten der Browser kennen. Doch damit nicht genug: Fortgeschrittene Technologien, wie die asynchrone Programmierung, werden erklärt; außerdem, wie Sie zwischen Frontend und Backend kommunizieren oder mit Nutzern interagieren. Alles garniert mit übungen und Beispiel-Programmen.

Sie erfahren

  • Was es mit Node.js auf sich hat
  • Wie das Zusammenspiel von JavaScript und HTML und CSS funktioniert
  • Was Sie über Datentypen, Variable und Konstante wissen sollten
  • Wie Sie Fehler aufspüren und beheben


Sebastian Springer arbeitet als JavaScript Engineer in der Konzeptionierung und Entwicklung professioneller Anwendungen. Er ist außerdem Dozent für JavaScript, Autor mehrerer IT-Fachbücher und Sprecher auf Konferenzen. Er vermittelt sein Wissen besonders einsteigergerecht.

Kapitel 1

Auf den Spuren von JavaScript: Zwischen Browser-Zauberei und Server-Magie


IN DIESEM KAPITEL

  • erfahren Sie, wie JavaScript entstanden ist und was es mit dem ECMAScript-Standard auf sich hat.
  • lernen Sie die wichtigsten Elemente kennen, die Sie zum Entwickeln benötigen.
  • sehen Sie, wie clientseitiges JavaScript im Browser funktioniert.
  • machen Sie die ersten Schritte, wenn es um serverseitiges JavaScript geht.

JavaScript ist nahezu überall verfügbar, von seiner ursprünglichen Umgebung, dem Browser, hat sich die Programmiersprache mittlerweile in alle Bereiche des täglichen Lebens verbreitet. So können Sie als JavaScript-EntwicklerIn nicht nur dynamische Web-Frontends programmieren, sondern auch die zugehörigen Backends serverseitig mit JavaScript umsetzen. Die Sprache ist jedoch auch in Umgebungen präsent, von denen Sie wahrscheinlich im ersten Moment nicht erwarten, dass dort eine unscheinbare Web-Skriptsprache ausgeführt wird. So finden Sie JavaScript in Autos, Küchengeräten, Industrieanlagen und sogar im Weltall. Das Integrated Science Instrument Module des James-Webb-Weltraumteleskops wird beispielsweise mit JavaScript kontrolliert (https://www.jwst.nasa.gov/resources/ISIMmanuscript.pdf). Auch das Weltraumunternehmen SpaceX nutzt JavaScript für seine Raumflüge. Interessant ist hier nicht nur, dass die Crew Dragon per Touchdisplay ins Weltall gesteuert wird, sondern dass deren UI-Elemente auf einer JavaScript-Bibliothek basieren (https://www.theverge.com/2020/5/30/21275753/nasa-spacex-astronauts-fly-crew-dragon-touchscreen-controls).

Sie sehen also, es gibt schlechtere Alternativen, wenn es um Programmiersprachen geht, als JavaScript. Die Sprache ist verhältnismäßig einfach zu lernen, weitverbreitet und hat eine sehr starke Community, die immer wieder neue bahnbrechende Entwicklungen hervorbringt. Außerdem ist JavaScript ein Industriestandard. JavaScript ist der weltweit verbreitete Name der Programmiersprache ECMAScript, die im Standard ECMA-262 definiert wird. Diesen finden Sie unter https://www.ecma-international.org/publications-and-standards/standards/ecma-262/. Für JavaScript gibt es außerdem einen ISO-Standard mit der Bezeichnung ISO/IEC-16262, der dem ECMA-Standard entspricht. Die JavaScript-Version aus dem Jahr 2022 würde, wenn Sie die Definition ausdrucken würden, 809 Seiten in Anspruch nehmen. Dabei handelt es sich nur um den Sprachkern. Erweiterungen wie die DOM-API sind hier noch nicht mit inbegriffen. Das ECMAScript-Dokument ist auch nichts, was Sie an einem verregneten Wochenende zum Zeitvertreib lesen sollten, da es sich beim überwiegenden Teil des Texts um formale Beschreibungen der Sprache handelt.

Doch warum heißt JavaScript nicht auch offiziell JavaScript? Die Antwort auf diese Frage ist einfach: Die Markenrechte an JavaScript liegen bei Oracle. Solange das Unternehmen den Namen nicht freigibt, ist es nicht möglich, die Programmiersprache offiziell als JavaScript zu bezeichnen. Die Standardisierung und Organisation klingt zugegebenermaßen etwas trocken und angestaubt, ist für uns als JavaScript-EntwicklerInnen aber von großer Bedeutung, da sich die Hersteller von JavaScript-Engines überwiegend an diesen Standard halten und es so mittlerweile nur noch in geringem Umfang zu Problemen zwischen den einzelnen Plattformen kommt. Zur Entstehungszeit und in den ersten Jahren von JavaScript sah die Situation noch ganz anders aus.

Die Geschichte – JavaScript in 10 Tagen


Kein Buch über JavaScript kommt ohne eine kleine Geschichtsstunde aus. Also möchte ich auch hier keine Ausnahme machen. Ich beschränke mich jedoch auf die interessanten, relevanten und vielleicht etwas kuriosen Eckpunkte. Das Gerücht, dass die erste Version von JavaScript in nur 10 Tagen entstanden ist, hält sich hartnäckig. Das würde auch erklären, warum JavaScript an manchen Stellen so ist, wie es ist. Sie werden sowohl im Verlauf dieses Buchs als auch bei Ihrer Arbeit mit der Programmiersprache feststellen, dass JavaScript nicht nur seine Sonnen-, sondern auch die ein oder andere Schattenseite hat. Netscape Communications, das Unternehmen, das den Netscape Navigator, einen der ersten Browser, entwickelt hat, beauftragte 1995 Brendan Eich damit, eine Skriptsprache zu entwickeln, mit der mehr Dynamik in das bis dahin recht statische HTML des Browsers gebracht werden sollte.

Netscape übernahm diese erste Version der Skriptsprache allerdings noch nicht in den Browser. Einen Prototyp einer Programmiersprache in einen der damals am weitesten verbreiteten Browser zu integrieren wäre viel zu riskant gewesen, vor allem vor dem Hintergrund, dass zwischen 1995 und 1998 der sogenannte Browserkrieg zwischen Microsoft und Netscape um die Vorherrschaft über das Internet tobte. Und so entwickelte Brendan Eich bis 1996 weiter an JavaScript, das zunächst unter dem Codenamen Mocha und später unter LiveScript geführt wurde. Version 1.1 wurde mit dem Netscape Navigator 3.0 im August 1996 veröffentlicht. Ebenfalls im August 1996 zog Microsoft mit seinem Konkurrenzprodukt JScript im Internet Explorer 3 nach.

Beide Skriptsprachen entwickelten sich über die Zeit auf eine recht ähnliche Art, wobei mal Netscape, mal Microsoft die Nase vorn hatte. Zum Leidwesen der WebentwicklerInnen der damaligen Zeit unterschieden sich LiveScript und JScript in einigen Aspekten voneinander, dadurch mussten die EntwicklerInnen die jeweilige Umgebung erkennen und speziell angepasste Programmlogik ausführen. Die Geburtsstunde der Polyfills.

Polyfill


Ein Polyfill ist ein Stück Code, das ein Feature in einer Umgebung emuliert, in der es eigentlich nicht existiert. Mit den Grundzügen der Skriptsprachen der Browser konnten EntwicklerInnen schon zu einem frühen Zeitpunkt viele Funktionen bereitstellen und die Schnittstellen so weit vereinheitlichen, dass eine halbwegs komfortable Entwicklung möglich war.

Bei neuen Sprachfeatures ist es auch heute noch üblich, auf Polyfills zurückzugreifen, bis alle für die Applikation relevanten Umgebungen das Feature unterstützen. Eines der populärsten Polyfills, das man in der Regel gar nicht als solches wahrnimmt, ist TypeScript. Eine Programmiersprache, die auf den Regeln von JavaScript aufbaut und die fehlende Typsicherheit zu JavaScript hinzufügt. Der TypeScript-Code wird dann vom TypeScript-Compiler in JavaScript ausgeführt, das dann im Browser oder serverseitig ausgeführt werden kann. Doch der Compiler ist auch in der Lage, moderne Features in älteren Umgebungen zur Verfügung zu stellen.

Falls TypeScript für Sie keine Option ist, können Sie auch auf spezialisierte Polyfills für bestimmte Sprachfeatures zurückgreifen. Sie sollten jedoch daran denken, dass ein Polyfill in der Regel weniger performant als das JavaScript-Original ist. Sobald Sie ein Polyfill also nicht mehr benötigen, sollten Sie es aus dem Quellcode Ihrer Applikation entfernen.

Der erste ECMAScript-Standard erschien im Juni 1997 und brachte den ersten Hoffnungsschimmer. Die Entwicklung des Standards verlief in der ersten Zeit eher schleppend und gipfelte im Abbruch der Arbeiten an der vierten Version im Jahr 2008. Das letzte Update am Sprachstandard gab es zu diesem Zeitpunkt im Jahr 1999. Wir sprechen von einem Zeitraum von 9 Jahren in der auch damals schon schnelllebigen Web-Welt. Die Standardisierung wurde jedoch wieder aufgenommen und viele der Features aus der vierten Version wurden verworfen. 2009 veröffentlichte die ECMA dann endlich die Version 5 von ECMAScript mit der Unterstützung von JSON.

Einen Meilenstein markiert die Veröffentlichung von ECMAScript 6, kurz ES6, oder später dann ECMAScript2015. Neben vielen interessanten Erweiterungen wie beispielsweise Klassen oder Block-Scoping gibt es seit dieser Version jährliche Aktualisierungen des Sprachstandards. Diese werden mit der jeweiligen Jahreszahl benannt. Der ECMAScript-Standard aus dem Jahr 2022 heißt also ECMAScript2022.

Wie kommen neue Features in die Sprache?


Das TC39, eine Abkürzung für Technical Committee 39, eine Arbeitsgruppe der ECMA, hat die Aufgabe, den ECMAScript-Standard weiterzuentwickeln und neue Features zu integrieren. Dem TC39 gehören sowohl JavaScript-EntwicklerInnen als auch Abgesandte großer Unternehmen an, die in verschiedenen Rollen an der Entwicklung von ECMAScript-Umgebungen beteiligt sind. Die Sitzungen des TC39 stehen jedem Mitglied der ECMA offen.

Der Prozess, mit dem ein neues Feature in den Standard aufgenommen wird, besteht aus 5 Stufen, die durch die ECMA genau definiert sind.

  • Stufe 0 (Strawman)

    Zweck:

    • Bildet den Einstieg zur Erweiterung der Spezifikation.

    Eingangskriterien:

    • Keine
  • Stufe 1(Proposal)

    Zweck:

    • Beschreibt den Anwendungsfall für das Feature.
    • Form der Lösung ist skizziert.
    • Potenzielle Probleme sind umrissen.

    Eingangskriterien:

    • Es gibt eine zuständige Person im TC39, die das Feature weiterbringt.
    • Prosatext über die Ausgestaltung des Features existiert.
    • Beispiele der Verwendung ist beschrieben.
    • Grobe API-Beschreibung ist vorhanden.
    • Diskussion von...

Erscheint lt. Verlag 11.9.2024
Reihe/Serie Für Dummies
Sprache deutsch
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Informatik Web / Internet JavaScript
Schlagworte AJAX • Angular • asynchron • Browser • Client • Clientseitig • CSS • Einstieg • HTML • Informatik • JavaScript • Node.js • PHP • Programmiersprache • Programmierung u. Software-Entwicklung • Server • Serverseitig • Web-Entwicklung
ISBN-10 3-527-84225-X / 352784225X
ISBN-13 978-3-527-84225-4 / 9783527842254
Haben Sie eine Frage zum Produkt?
EPUBEPUB (Ohne DRM)

Digital Rights Management: ohne DRM
Dieses eBook enthält kein DRM oder Kopier­schutz. Eine Weiter­gabe an Dritte ist jedoch rechtlich nicht zulässig, weil Sie beim Kauf nur die Rechte an der persön­lichen Nutzung erwerben.

Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belle­tristik und Sach­büchern. Der Fließ­text wird dynamisch an die Display- und Schrift­größe ange­passt. Auch für mobile Lese­geräte ist EPUB daher gut geeignet.

Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen dafür die kostenlose Software Adobe Digital Editions.
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen dafür eine kostenlose App.
Geräteliste und zusätzliche Hinweise

Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.

Mehr entdecken
aus dem Bereich