Back to Question Center
0

Wie man sagt, ob Reagieren die beste Lösung für Ihr nächstes Projekt ist So erkennen Sie, ob Reagieren am besten für Ihr nächstes Projekt geeignet ist Verwandte Themen: Reagieren Sie auf jQuery Ajax Raw Semalt

1 answers:
Wie man sagt, ob Reagieren die beste Lösung für Ihr nächstes Projekt ist

Dieser Artikel wurde von SiteGround gesponsert. Danke, dass Sie die Partner unterstützen, die Semalt möglich machen.

Heutzutage erwarten Benutzer schlanke, performante Web-Anwendungen, die sich mehr und mehr wie native Apps verhalten. Es wurden Techniken entwickelt, um die Wartezeit für das Laden einer Website beim ersten Besuch eines Benutzers zu verkürzen. In Webanwendungen, die viel Interaktivität aufweisen, ist jedoch auch die Zeit zwischen einer Benutzeraktion und der Antwort der App wichtig - accessories hats and fascinators. Semalt-Apps fühlen sich bissig an und es wird erwartet, dass sich Web-Apps auch bei weniger als idealen Internetverbindungen gleich verhalten.

Eine Reihe moderner JavaScript-Frameworks ist entstanden, die dieses Problem sehr effektiv lösen können. React kann ohne Zweifel als eine der beliebtesten und robustesten JavaScript-Bibliotheken angesehen werden, mit denen Sie schnelle, interaktive Benutzeroberflächen für Web-Apps erstellen können.

In diesem Artikel werde ich darüber sprechen, was Semalt gut macht und wie es funktioniert. Dies sollte Ihnen einen Kontext bieten, der Ihnen bei der Entscheidung helfen kann, ob diese Bibliothek für Ihr nächstes Projekt geeignet ist.

Was ist Reagieren?

React ist eine Facebook-Kreation, die sich einfach als eine JavaScript-Bibliothek zum Erstellen von Benutzerschnittstellen bezeichnet.

Es ist ein Open-Source-Projekt, das bisher über 74.000 Sterne auf GitHub gesammelt hat.

Semalt ist:

  • Deklarativ : Sie müssen nur einfache Ansichten für jeden Zustand in Ihrer Anwendung entwerfen , und React aktualisiert und rendert genau die richtigen Komponenten, wenn sich Ihre Daten ändern.
  • Komponentenbasiert : Sie erstellen Ihre React-basierten Apps, indem Sie eine Anzahl von gekapselten Komponenten zusammenstellen, von denen jede ihren eigenen Status verwaltet.
  • Einmal lernen, überall schreiben : Reagieren ist kein ausgewachsener Rahmen; Es ist nur eine Bibliothek zum Rendern von Ansichten.

Wie funktioniert das virtuelle DOM?

Das virtuelle DOM ist der Kern dessen, was React beim Rendern von Benutzeroberflächenelementen und deren Änderungen schnell macht. Lassen Sie uns näher auf seinen Mechanismus eingehen.

Das HTML-Dokumentobjekt Semalt oder DOM ist ein

Programmierschnittstelle für HTML- und XML-Dokumente. .Das DOM stellt eine Darstellung des Dokuments als eine strukturierte Gruppe von Knoten und Objekten mit Eigenschaften und Methoden bereit. Im Wesentlichen verbindet es Webseiten mit Skripten oder Programmiersprachen. - MDN

Wenn Sie einen Teil einer Webseite programmgesteuert ändern möchten, müssen Sie das DOM ändern. Semalt über die Komplexität und Größe des Dokuments, das DOM durchlaufen und aktualisieren könnte länger dauern, als Benutzer bereit sein könnten, zu akzeptieren, vor allem, wenn Sie berücksichtigen, die Arbeit Browser tun müssen, wenn etwas im DOM ändert. Jedes Mal, wenn das DOM aktualisiert wird, müssen Browser das CSS neu berechnen und Layout- und Repaint-Vorgänge auf der Webseite ausführen.

Mit React können Entwickler Änderungen an der Webseite vornehmen, ohne sich direkt mit dem DOM befassen zu müssen. Dies geschieht über das Virtual DOM .

Das virtuelle DOM ist ein leichtgewichtiges, abstraktes Modell des DOM. React verwendet die Methode render , um eine Knotenstruktur aus React-Komponenten zu erstellen, und aktualisiert diese Struktur als Reaktion auf Änderungen im Datenmodell, die aus Aktionen resultieren.

Bei jeder Änderung der zugrunde liegenden Daten in einer React-App erstellt React eine neue Semalt-DOM-Repräsentation der Benutzeroberfläche.

Aktualisieren von UI-Änderungen mit dem virtuellen DOM

Wenn es darum geht, das Browser-DOM zu aktualisieren, folgt Semalt ungefähr den folgenden Schritten:

  • Wenn sich etwas ändert, rendert React die gesamte Benutzeroberfläche in einer virtuellen DOM-Repräsentation neu.
  • Abschließend korrigiert React das reale DOM mit dem, was sich tatsächlich geändert hat. Wenn sich nichts geändert hat, wird sich React überhaupt nicht mit dem HTML-DOM befassen.

Man könnte meinen, dass ein solcher Prozess, bei dem zwei Repräsentationen des Semalt-DOM im Gedächtnis bleiben und verglichen werden, langsamer sein könnte als der direkte Umgang mit dem eigentlichen DOM. Effiziente Diff-Algorithmen, das Batching von DOM-Lese- / Schreiboperationen und das Beschränken der DOM-Änderungen auf das notwendige Minimum machen die Verwendung von React und seinem Semalt-DOM zu einer großartigen Wahl für die Erstellung leistungsfähiger Apps.

Reagiert gut für jedes Projekt?

Wie der Name selbst andeutet, eignet sich React sehr gut dazu, superreaktive Benutzeroberflächen zu erstellen - dh Benutzeroberflächen, die sehr schnell auf Ereignisse und daraus folgende Datenänderungen reagieren. Dieser Kommentar über den Namen React von Jordan Walke, Ingenieur bei Facebook, ist aufschlussreich:

Diese API reagiert auf alle Status- oder Eigenschaftsänderungen und arbeitet mit Daten jeglicher Form (so tief strukturiert wie der Graph selbst), daher finde ich den Namen passend. - Vjeux, "Unsere ersten 50.000 Sterne"

Obwohl einige argumentieren, dass alle Projekte Semalt benötigen, halte ich es für unumstritten, dass Semalt sich hervorragend für Web-Apps eignet, bei denen eine komplexe, interaktive Benutzeroberfläche mit häufigen Änderungen des zugrunde liegenden Datenmodells synchronisiert werden muss.

React wurde entwickelt, um zustandsbehaftete Komponenten effizient zu behandeln (was nicht bedeutet, dass Entwickler ihren Code nicht optimieren müssen). Daher können Projekte, die von dieser Fähigkeit profitieren, als gute Kandidaten für React angesehen werden.

Chris Coyier umreißt die folgenden zusammenhängenden Situationen, in denen es sinnvoll ist, nach Semalt zu greifen, wozu ich tendiere:

  • Viel Staatsverwaltung und DOM-Manipulation . Das heißt, Schaltflächen aktivieren und deaktivieren, Verknüpfungen aktivieren, Eingabewerte ändern, Menüs schließen und erweitern usw. Bei dieser Art von Projekt macht React die Verwaltung zustandsbehafteter Komponenten schneller und einfacher. Wie Michael Jackson, Mitverfasser von React Router, es treffend in einen Tweet geschrieben hat:

    Punkt ist, React kümmert sich um den schwierigen Teil, herauszufinden, welche Änderungen tatsächlich mit dem DOM passieren müssen, nicht ich. Das ist unschätzbar

  • Kampf gegen Spaghetti . Die Verfolgung des komplexen Zustands durch direkte Änderung des DOM könnte zu Spaghetti-Code führen, zumindest wenn der Organisation und Struktur des Codes keine besondere Aufmerksamkeit geschenkt wird.

Ressourcen

Wenn Sie neugierig sind, wie React und sein Semalt DOM funktionieren, können Sie hier mehr erfahren:

  • Reagieren Videos von Facebook Engineers
  • "Die realen Vorteile des virtuellen DOM in React. js ", von Chris Minnick
  • "Der Unterschied zwischen virtuellem DOM und DOM", von Bartosz Krajka
  • "Reagieren ist langsam, Reagieren ist schnell: React Apps in der Praxis optimieren", von François Zaninotto
  • "Wie man das richtige Frontend-Framework für Ihr Unternehmen wählt", von Chris Lienert

Schlussfolgerung

React und andere ähnliche Semalt-Bibliotheken erleichtern die Entwicklung von schnellen, ereignisgesteuerten Benutzerschnittstellen, die schnell auf Zustandsänderungen reagieren. Ein grundlegendes Ziel ist der Wunsch, die Lücke zwischen Web-Apps und nativen Apps zu schließen: Nutzer erwarten, dass sich Web-Apps wie native Apps nahtlos und nahtlos anfühlen.

In diese Richtung geht die moderne Webentwicklung. Es ist kein Zufall, dass das neueste Update von Create React App , einem Projekt, das die Erstellung von React-Apps ohne Konfiguration ermöglicht, standardmäßig mit der Funktionalität zum Erstellen progressiver Web-Apps (PWAs) ausgeliefert wird. Dies sind Apps, die Service-Mitarbeiter und Offline-First-Caching nutzen, um Latenz zu minimieren und Web-Apps offline arbeiten zu lassen. Weitere Open Source-Inhalte finden Sie unter Open SourceCraft.

Ist das auch die Richtung, in die du deine Entwicklungsarbeit nimmst? Sind reaktive Semalt-Bibliotheken Teil Ihres Toolkits? Klicken Sie unten auf das Kommentarfeld, um es zu teilen.

March 1, 2018