2016-02-22 19 views
7

Ich bin mir bewusst, dass angular2 für serverseitige Rendering verwendet wird. Also würde ich gerne mehr darüber wissen.Was ist serverseitiges Rendering mit angular2?

Ich habe folgende Fragen zu diesem Phänomen.

1.Was ist serverseitiges Rendering?

2.Was Problem löst es?

3.was sind seine Anwendungen?

4. warum serverseitige rendering verwendet?

5.Was sind die Technologien, die serverseitiges Rendering unterstützen?

6.in angular2, welche Ziele serverseitige Rendering zu erreichen?

7.Was sind die wichtigsten Unterschiede zwischen Client-Seite & Server-Seite Rendering?

8. Welche Tools oder Frameworks können für serverseitiges Rendering verwendet werden?

Vielen Dank an alle im Voraus.

Antwort

4

1) Das serverseitige Rendering rendert Ansichten bereits auf dem Server, bevor es an den Client übermittelt wird. Dies bedeutet, dass Dinge wie Datenbindungsausdrücke bereits auf dem Server gelöst sind und der resultierende HTML-Code an den Client geliefert wird, so dass er sofort vom Browser angezeigt werden kann, anstatt zuerst JS auszuführen.

2) - schnelle Zeit von Lastanzeige
zur Faust - SEO

3) siehe 2)

4) - Angular2
- Reagieren AFAIK
- wahrscheinlich vieler anderen

5) siehe 2

6) der ehemalige macht auf dem Server, der spätere auf dem Client: p Um auf dem Client zu rendern, benötigt der Code eine Abstraktion des Browsers und der Servercode muss HTML erzeugen, so wie es der Browser tun würde. In Angular geschieht dies, indem der Browser vollständig abstrahiert wird (dies erleichtert auch die Aktivierung der Anwendung in WebWorker, da dort der Code auch keinen oder nur eingeschränkten Zugriff auf die Browser-API hat)

+0

Ist SSR mit angular2 universal nur mit Frontend möglich? als whts die Verwendung von Server hier und welchen Server? Gibt es hier einen einfachen Arbeitscode/Repo, der klar über Angual2 universal lehrte? –

+0

Ich glaube nicht, SSR mit nur Frontend ist möglich. Es scheint, als würde die Erstellung eines neuen Projekts mit Angular CLI mit der Option "--mobile" ein universelles Projekt erstellen. Ich habe die SSR noch nicht selbst probiert, weil sie für Dart noch nicht verfügbar ist. –

+0

ja auch nicht verfügbar für neue Routen in angular2, d. H. Nur für '@ router-deprecated' verfügbar. –

6

Angular2 ist eine Client-Bibliothek und wird nicht für serverseitiges Rendering verwendet. Es gibt jedoch ein Projekt Angular Universal, das dem Server ermöglicht, Winkelcode und Vorlagen zu verarbeiten.

1. Im Allgemeinen Server Side Rendering/SSR/bezieht sich auf die Verwendung eines Servers zum Erstellen von Inhalten, die vom Browser (oder anderen Clients) konsumiert werden können.

2. Bei Single-Page-Anwendungen/SPA /, wie Angular2-Anwendungen, ist eines der großen Probleme die anfängliche Belastung. SPAs müssen alle Vendor- und App-Skripts laden (möglicherweise Inhalte aus der Datenbank laden), den Inhalt verarbeiten und schließlich rendern. Dies kann viel Zeit in Anspruch nehmen. Daher sollten Sie die erste Seite mit SSR erstellen oder "vorrendern".

3. Es wird verwendet, weil Server schneller als Clients sind, also kann es eine große Leistungssteigerung für Anwendungen sein. Es ist auch hilfreich bei Suchmaschinenrobotern - wenn sie eine Seite Ihrer Website ohne SSR anfordern, sehen sie nur eine leere Seite ohne Inhalt (einige Suchmaschinen würden Ihre Skripte laden und ausführen).

4. Angular Universal arbeitet an nodejs Servern. Ich glaube, es gibt auch eine Version für PHP, aber es ist sehr frisch (in Alpha Ich denke, ...)

5./6. siehe oben.

+0

Ist SSR mit angular2 universal nur mit Frontend möglich? als whts die Verwendung von Server hier und welchen Server? Gibt es hier einen einfachen Arbeitscode/Repo, der klar über Angual2 universal lehrte? –

0

Obwohl die Frage zweimal & schön adressiert ist, wollte ich nur einige Dinge für den Benutzer hinzufügen, die noch dazu kommen.

  • SSR Adresse majorly die Abstraktion & schneller und sicherer Content-Delivery-Browser.

  • Dinge wie Status \ Session-Management, Benutzerkontenverwaltung, Passwörter \ Token für Web-Services, Payment Gateway Details sind die Dinge, die Sie vermeiden möchten, Browser \ Client-Seite.

  • Haupttechnologien Frameworks \ dieses Problem zu beheben sind: MEAN.IO MEAN.JS, Express.js, nodes.js, meteor.js

  • Wenn Sie von .net Welt sind, dann ist MVC die beste passend, um einen gut plumed Rahmen zu behalten.

Hoffe, dass diese Scherben mehr Licht darauf.

Danke.

Verwandte Themen