Zum Inhalt springen

„Isomorphes JavaScript“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][ungesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Typos
K 9 Versionen von en:Isomorphic_JavaScript importiert: WP:IMP * user:Luke081515Bot
Zeile 1: Zeile 1:
'''Isomorphes JavaScript''', auch bekannt als '''Universelles JavaScript''', beschreibt [[JavaScript]]-Anwendungen, die sowohl auf dem [[Client]] als auch auf dem [[Server]] laufen.
'''Isomorphic JavaScript''', also known as '''Universal JavaScript''', describes [[JavaScript]] applications which run both on the [[Client (computing)|client]] and the [[Server (computing)|server]].


== Mechanismus ==
== Mechanism ==
Isomorphic JavaScript works in the context of a [[single-page application]] (SPA). In a typical SPA, most of the application logic, including [[Web framework#URL mapping|routing]], is encapsulated in a bundled JavaScript file that's sent to the client. Whilst this frees up the server, as it does not have to handle so many requests, it also makes the initial load slow for the client, as the entire application needs to be sent over to the client.
Isomorphes JavaScript wird im Zusammenhang mit [[Single-Page-Webanwendung|Single-Page-Anwendungen]] (SPA) verwendet. In einer typischen SPA ist der größte Teil der Geschäftslogik, einschließlich des [[Webframework|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.


With Isomorphic JavaScript, when a web page is first requested from the client, the view of the page is generated on the server, similar to [[Dynamic web page#Server-side scripting|server-side dynamic web pages]], and sent over to the client. The client can then render the view immediately. After the initial view is rendered, the complete SPA is downloaded in the background, and subsequent actions are handled client-side.
Mit isomorphem JavaScript wird bei der ersten Anfrage vom Client die Ansicht der Seite auf dem Server berechnet, ähnlich zu serverseitigen [[Webseite#Dynamische_Webseiten|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 ==
== Name ==
Der Ursprung des Namens 'Isomorphes JavaScript' ist umstritten.<ref name=":0">{{Cite web|url=http://2ality.com/2015/08/isomorphic-javascript.html|title=Is "Isomorphic JavaScript" a good term?|accessdate=2017-06-15}}</ref> Der Begriff 'isomorph' wurde zuerst von Charlie Robbins von Nodejitsu in einem der Blog-Einträge des Unternehmens geprägt.<ref>{{Cite web|url=https://blog.nodejitsu.com/scaling-isomorphic-javascript-code/|title=Scaling Isomorphic Javascript Code {{!}} Nodejitsu Inc.|accessdate=2017-06-15|last=Inc.|first=Nodejitsu}}</ref> Spike Brehm, ein Softwareentwickler von [[Airbnb]], verwendete in einem anderen Blog-Eintrag den selben Begriff.<ref>{{Cite web|url=https://medium.com/airbnb-engineering/isomorphic-javascript-the-future-of-web-apps-10882b7a2ebc|title=Isomorphic JavaScript: The Future of Web Apps|date=2013-11-11|accessdate=2017-06-15|last=AirbnbEng}}</ref> Davon unabhängig wurde von anderen vorgeschlagen, stattdessen den Begriff 'Universelles JavaScript' zu verwenden.<ref>{{Cite web|url=https://medium.com/@mjackson/universal-javascript-4761051b7ae9|title=Universal JavaScript|date=2015-06-08|accessdate=2017-06-15|last=Jackson|first=Michael}}</ref>
The naming of the term 'Isomorphic JavaScript' has been a matter of controversy.<ref name=":0">{{Cite web|url=http://2ality.com/2015/08/isomorphic-javascript.html|title=Is "Isomorphic JavaScript" a good term?|website=2ality|access-date=2017-06-15}}</ref> The term 'isomorphic' was first coined by Charlie Robbins from [[Nodejitsu]], in one of the company's blog posts.<ref>{{Cite web|url=https://blog.nodejitsu.com/scaling-isomorphic-javascript-code/|title=Scaling Isomorphic Javascript Code {{!}} Nodejitsu Inc.|last=Inc.|first=Nodejitsu|website=blog.nodejitsu.com|access-date=2017-06-15}}</ref> Spike Brehm, a software engineer from [[Airbnb]], wrote another blog post using the same term.<ref>{{Cite web|url=https://medium.com/airbnb-engineering/isomorphic-javascript-the-future-of-web-apps-10882b7a2ebc|title=Isomorphic JavaScript: The Future of Web Apps|last=AirbnbEng|date=2013-11-11|website=Airbnb Engineering & Data Science|access-date=2017-06-15}}</ref> However, others have proposed to use the term Universal JavaScript instead.<ref name=":0" /><ref>{{Cite web|url=https://medium.com/@mjackson/universal-javascript-4761051b7ae9|title=Universal JavaScript|last=Jackson|first=Michael|date=2015-06-08|website=Michael Jackson|access-date=2017-06-15}}</ref>


== Vorteile ==
== Benefits ==
There are several benefits to using Isomorphic JavaScript:
Es hat mehrere Vorteile, isomorphes JavaScript zu verwenden:
* Faster page load

* [[Search engine optimization|Search Engine Optimization]] - since the view is generated on the server, [[web crawler]]s no longer need to run JavaScript in order to render the page and index it
* 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 ==
== Frameworks ==
Es wurden mehrere Frameworks für isomorphes JavaScript erstellt, vor allem sind [[Meteor (Webframework)|Meteor]] und [[React]] zu nennen. Weitere sind [https://rendrjs.github.io/ Rendr], [http://derbyjs.com/ Derby], [http://haskell-miso.org/ Miso], [http://ezeljs.com/ Ezel] und [http://catberry.org/ Catberry].
There has been several isomorphic JavaScript frameworks created, most notably [[Meteor (web framework)|Meteor]] and [[React (JavaScript library)|React]]. Others includes [https://rendrjs.github.io/ Rendr], [http://derbyjs.com/ Derby], [http://haskell-miso.org/ Miso], [http://ezeljs.com/ Ezel] and [http://catberry.org/ Catberry].


==References==
== Einzelnachweise ==
<references />
<references />



[[Kategorie:ECMAScript]]

[[Category:JavaScript]]

Version vom 11. April 2018, 19:50 Uhr

Isomorphic JavaScript, also known as Universal JavaScript, describes JavaScript applications which run both on the client and the server.

Mechanism

Isomorphic JavaScript works in the context of a single-page application (SPA). In a typical SPA, most of the application logic, including routing, is encapsulated in a bundled JavaScript file that's sent to the client. Whilst this frees up the server, as it does not have to handle so many requests, it also makes the initial load slow for the client, as the entire application needs to be sent over to the client.

With Isomorphic JavaScript, when a web page is first requested from the client, the view of the page is generated on the server, similar to server-side dynamic web pages, and sent over to the client. The client can then render the view immediately. After the initial view is rendered, the complete SPA is downloaded in the background, and subsequent actions are handled client-side.

Name

The naming of the term 'Isomorphic JavaScript' has been a matter of controversy.[1] The term 'isomorphic' was first coined by Charlie Robbins from Nodejitsu, in one of the company's blog posts.[2] Spike Brehm, a software engineer from Airbnb, wrote another blog post using the same term.[3] However, others have proposed to use the term Universal JavaScript instead.[1][4]

Benefits

There are several benefits to using Isomorphic JavaScript:

Frameworks

There has been several isomorphic JavaScript frameworks created, most notably Meteor and React. Others includes Rendr, Derby, Miso, Ezel and Catberry.

References

  1. a b Is "Isomorphic JavaScript" a good term? In: 2ality. Abgerufen am 15. Juni 2017.
  2. Nodejitsu Inc.: Scaling Isomorphic Javascript Code | Nodejitsu Inc. In: blog.nodejitsu.com. Abgerufen am 15. Juni 2017.
  3. AirbnbEng: Isomorphic JavaScript: The Future of Web Apps. In: Airbnb Engineering & Data Science. 11. November 2013, abgerufen am 15. Juni 2017.
  4. Michael Jackson: Universal JavaScript. In: Michael Jackson. 8. Juni 2015, abgerufen am 15. Juni 2017.