Isomorphes JavaScript
# Isomorphes JavaScript

Isomorphes JavaScript, auch bekannt als Universelles JavaScript, beschreibt JavaScript-Anwendungen, die sowohl auf dem Client als auch auf dem Server laufen.

## Mechanismus

Isomorphes JavaScript wird im Zusammenhang mit Single-Page-Anwendungen (SPA) verwendet. In einer typischen SPA ist der größte Teil der Geschäftslogik, einschließlich des Routings, in einer JavaScript-Datei gebündelt, die zum Client gesendet wird. Obwohl dies den Server entlastet, da er nicht mehrere Anfragen zu bearbeiten hat, macht es doch den Start für den Nutzer langsamer, da die gesamte Webanwendung zum Client gesendet werden muss.

Mit isomorphem JavaScript wird bei der ersten Anfrage vom Client die Ansicht der Seite auf dem Server berechnet, ähnlich zu serverseitigen Websites, und dann zum Client gesendet. Der Client kann dadurch die Ansicht unverzüglich rendern. Nachdem die Startansicht erzeugt wurde, wird die gesamte SPA im Hintergrund heruntergeladen und nachfolgende Aktionen werden auf der Client-Seite bearbeitet.

## Name

Der Ursprung des Namens 'Isomorphes JavaScript' ist umstritten. Der Begriff 'isomorph' wurde zuerst von Charlie Robbins von Nodejitsu in einem der Blog-Einträge des Unternehmens geprägt. Spike Brehm, ein Softwareentwickler von Airbnb, verwendete in einem anderen Blog-Eintrag denselben Begriff. Davon unabhängig wurde von anderen vorgeschlagen, stattdessen den Begriff 'Universelles JavaScript' zu verwenden.

## Vorteile

Es hat mehrere Vorteile, isomorphes JavaScript zu verwenden:

* Schnelleres Laden der Seite
* Suchmaschinenoptimierung – da die Ansicht auf dem Server erzeugt wird, müssen Webcrawler nicht länger JavaScript starten, um eine Seite zu rendern und zu indizieren

## Frameworks

Es wurden mehrere Frameworks für isomorphes JavaScript erstellt, vor allem sind Meteor und React zu nennen. Weitere sind:

* Rendr
* Nuxt
* Derby
* Miso
* Ezel
* Catberry.
