Wahrscheinlich kennen Front-End-Entwickler etwas Ähnliches: Sie geben in die Suchmaschine „die besten JavaScript-Frameworks“ ein und erhalten als Antwort eine ganze Reihe von Ergebnissen, von denen es sehr schwierig ist, genau das zu wählen, was Sie benötigen.
Was eignet sich am besten für die Entwicklung clientseitiger Teile von Webprojekten? Die Autorin des Materials, dessen erster Teil wir heute veröffentlichen, sagt, dass sie als Vollzeitprogrammiererin weiß, dass Front-End-Anbieter nach etwas suchen, mit dem sie die Arbeit beschleunigen und die Erstellung von Schnittstellen erleichtern können.

Die Zusammenstellung dieser Bewertung von Frameworks und Bibliotheken basierte auf einer Umfrage unter mehr als 450 Entwicklern von
ValueCoders . Fünf der interessantesten Tools sind hier angekommen.
ValueCoders Entwickler Wählen Sie Reagieren
Als ich herausfand, dass meine Kollegen für React stimmen, war ich nicht überrascht. Die meisten Umfrageteilnehmer hielten React für eine der besten JavaScript-Bibliotheken. Unsere Entwickler haben React in vielen Projekten eingesetzt. Dies ermöglichte es, die Stärken dieses Werkzeugs klar zu erkennen. Jeder, der React verwendet, erhält eine Kombination der folgenden Funktionen:
- Wiederverwendbare Komponenten.
- Synchronisation von Anwendungsstatus und Schnittstelle.
- Routing- und Standardisierungssysteme.
Unsere Entwickler verlassen sich beim Erstellen von Front-End-Projektlogik stark auf die Fähigkeiten von React. Das Tool ist sehr leistungsfähig, aber gleichzeitig, was mich überraschte, ist es überraschend einfach zu bedienen.
Übersicht unserer Bewerbung
Unsere Bewerbung ist ganz einfach gestaltet. Dies ist ein Musiklehrer-Programm, mit dessen Hilfe sie Online-Schulaktivitäten verwalten können. Dieses Projekt hilft Lehrern bei der Erledigung ihrer grundlegenden Aufgaben und erleichtert die Lösung organisatorischer Probleme.
Die Hauptschwierigkeit bei der Erstellung dieses Projekts bestand in der Entwicklung eines Kontrollpanels für Lehrer. Es ermöglicht ihnen, die Aktivitäten der Schüler zu verwalten und ihre Leistungen zu verfolgen. Wir haben dieses Problem gelöst, indem wir das
Redux- Bibliotheks-Ökosystem als Grundlage für die Anwendung verwendet haben. Wir haben nämlich einen Abschnitt der Anwendung für Lehrer erstellt, in dem sie Informationen über die Leistungen der Schüler erhalten, ihnen neuen Musikunterricht zeigen, mit ihnen kommunizieren, ihr Spiel mit irgendetwas vergleichen und ihnen Feedback geben können.
Informationen über den Studenten und seine AktivitätenEigentlich habe ich bei der Erstellung dieser Anwendung Erfahrungen mit React gesammelt. Bedeutet dies, dass React ein anerkannter Marktführer für Front-End-Tools ist? Nein, das ist nicht der Fall. Viele können zum Beispiel besonders Vue zur Kenntnis nehmen, indem sie dieses Framework als eines der besten bezeichnen und sich an die umfangreichen Standardhilfswerkzeuge erinnern, die darin verfügbar sind.
Die Entscheidung darüber, welches Framework für die Lösung einer bestimmten Aufgabe geeignet ist, wird im Allgemeinen von Front-End-Entwicklern getroffen. Wenn sie solche Entscheidungen treffen, müssen sie viele schwierige Fragen beantworten. Angesichts der Tatsache, dass Entwickler in der Regel kaum Zeit haben, ein Tool auszuwählen, hören sie in der Regel bei dem auf, was sie wissen. Gleichzeitig verpassen sie die potenziellen Vorteile konkurrierender Technologien. Zum Beispiel können wir über die Tatsache sprechen, dass ein Framework, das dem Entwickler vertraut ist, wenn Sie es mit etwas anderem vergleichen, möglicherweise nicht das schnellste ist.
Und für Anfänger-Entwickler ist es sogar schwierig, eine Auswahl zu treffen und die Optionen auf die drei führenden Frameworks - Angular, React und Vue - zu beschränken. Um diese Auswahl zu vereinfachen, haben wir die 5 interessantesten Front-End-Frameworks und -Bibliotheken ausgewählt, die denjenigen Aufmerksamkeit schenken sollten, die im Jahr 2020 die Webentwicklung durchführen werden.
Große fünf Front-End-Tools
Basierend auf der Popularität und Verbreitung von Front-End-Entwicklungstools finden Sie hier die fünf wichtigsten JavaScript-Frameworks und -Bibliotheken:
- Reagiere
- Vue
- Angular
- Ember
- Backbone.js
Jedes dieser Tools hat eine bedeutende Community von Entwicklern hervorgebracht. Und wenn Sie die Basis für Ihr nächstes Webprojekt suchen, verlieren Sie nicht, wenn Sie auf eines dieser Tools setzen. Hier finden Sie Informationen über die letzten sechs Monate, die von
npmtrends.com gesammelt wurden.
Laden Sie Volumes für Angular-, Ember-Source-, Reactive-, Vue- und Backbone-Pakete herunterVergleich von Winkel-, Glutquellen-, Reaktions-, Vue- und Backbone-PaketenLassen Sie uns nun über jedes dieser Projekte sprechen. Beginnen wir mit Reagieren.
1. Reagieren
In der JavaScript-Welt ist React definitiv führend. Diese Bibliothek nutzt die Ideen der
reaktiven Programmierung , führt in die Front-End-Entwicklung und viele ihrer eigenen Konzepte ein.
Um React bei der Entwicklung von Webprojekten flexibel einsetzen zu können, müssen Sie viele zusätzliche Tools erlernen. Hier finden Sie beispielsweise keine vollständige Liste solcher Tools, die von Bibliotheken bereitgestellt werden und in Verbindung mit React verwendet werden können. Dies sind Redux, MobX, Fluxy, Fluxible, RefluxJS. In der React-Entwicklung können Sie auch jQuery AJAX, Superagent, Axios und die Fetch-API verwenden.
▍ Wettbewerbsmodus
Hier ist ein Tweet vom 24. Oktober dieses Jahres, der über die Einführung einer experimentellen Fähigkeit zur Unterstützung des Wettbewerbsmodus (Concurrent Mode) in React berichtet. Reaktionsentwickler verbessern diesen Modus ständig.
Hier finden Sie Links zu den Performances von React Conf 2019 im Wettbewerbsmodus und zu anderen React-Innovationen, z. B. zum Rendern fauler (mit
React.lazy
) Komponenten in
React.Suspense
Komponenten. Beide Technologien machen React-Anwendungen reaktionsschneller, indem sie gerendert werden, ohne den Haupt-Thread zu blockieren. Auf diese Weise kann React die Verarbeitung von Aufgaben mit hoher Priorität nicht verzögern, z. B. die Reaktion der Anwendung auf Benutzerinteraktionen.
▍Suspense und andere Technologien
React.Suspense
Technologie verbessert die Verarbeitung des asynchronen Ladens von Daten in React-Anwendungen. Wenn wir diese Technologie auf den Punkt bringen, können wir sagen, dass Sie die Komponente so organisieren können, dass sie auf die Erfüllung bestimmter Bedingungen wartet, und gleichzeitig den Betrieb der gesamten Anwendung nicht stören.
Eine weitere in React 16.8 eingeführte Innovation sind Hooks. Mithilfe von React-Hooks können Entwickler die wesentlichen Funktionen von React nutzen, ohne klassenbasierte Komponenten verwenden zu müssen. Zu diesen Funktionen gehört das Verwalten des Status der Komponente und das Arbeiten mit Methoden ihres Lebenszyklus. React enthält mehrere eingebaute Hooks, aber es ermöglicht dem Programmierer, seine eigenen Hooks zu erstellen.
Reaktionsanwendungen bestehen aus Komponenten, die die Anwendungslogik und das HTML-Markup enthalten, um die Schnittstelle zu bilden. Um die Interaktion zwischen den Komponenten zu verbessern, kann der Entwickler Flux oder eine ähnliche JavaScript-Bibliothek verwenden.
Die Reaktionsprogrammierung verwendet Konzepte wie Status und Eigenschaften einer Komponente. Sie werden durch relevante Objekte dargestellt. Ihre Verwendung ermöglicht die Organisation der Datenspeicherung in einer Komponente und den Datenaustausch zwischen Komponenten. Übertragen von Daten aus einer von einer Komponente implementierten Programmlogik an die Anwendungsschnittstelle oder Übertragen von Daten von übergeordneten Komponenten an untergeordnete Komponenten.
▍ Ökosystemelemente reagieren
Rund um die React-Bibliothek ist ein ganzes Ökosystem entstanden, das durch verschiedene unterstützende Tools und Bibliotheken repräsentiert wird. Hier sind einige der Komponenten dieses Ökosystems:
- Die React-Bibliothek und der React-Router selbst sind ein Tool zum Verwalten von Routen in der Anwendung.
- Das React-Dom- Paket, das für die Arbeit mit dem DOM entwickelt wurde.
- Reagieren Sie auf Entwicklertools für Firefox und Chrome.
- JSX ist eine Auszeichnungssprache, mit der Sie HTML-Elemente in JavaScript-Code beschreiben können.
- Das Befehlszeilentool create-react-app zum Erstellen von React-Vorlagenprojekten.
- Verschiedene unterstützende Bibliotheken. Unter ihnen können wir zum Beispiel die Redux-Bibliothek erwähnen, mit der der Status von Anwendungen gesteuert wird, und die Axios-Bibliothek, mit der Daten mit Server-APIs ausgetauscht werden.
Abschließend können wir sagen, dass diese Bibliothek die beste Wahl für diejenigen ist, die ein fortgeschrittenes Webprojekt erstellen möchten.
2. Angular
Auf der AngularConnect 2019-Konferenz gab das Angular-Entwicklungsteam Erklärungen ab, mit denen Angular 9 als Wendepunkt bei der Entwicklung dieses Frameworks angesehen werden kann. Insbesondere ist geplant, den
Angular Ivy- Compiler als Standardwerkzeug für alle Anwendungen zur Verfügung zu stellen. Die Hauptvorteile dieser Technologie sind, dass Sie mit ihrer Anwendung den Entwicklungsprozess beschleunigen, die Größe von Anwendungen reduzieren, deren Leistung und Zuverlässigkeit erhöhen können.
Modern Angular ist ein fortschrittliches modulares Framework für die Front-End-Entwicklung. Um Angular mit einer Seite zu verbinden, genügte es zuvor, dem HTML-Code das entsprechende Tag hinzuzufügen. Jetzt kann der Entwickler die benötigten Angular-Module in sein Projekt importieren.
Angular ist bekannt für seine Flexibilität. Aus diesem Grund sind Angular 1.x-Versionen immer noch relevant. Heutzutage verwenden viele Entwickler jedoch Angular 2+ aufgrund der MVC-Framework-Architektur, die sich erheblich in Richtung einer komponentenbasierten Architektur geändert hat.
Jeder, der Angular verwenden möchte, muss sich einigen Schwierigkeiten gegenübersehen, wenn er dieses Framework beherrscht. Um Angular-Anwendungen zu erstellen, ist die Verwendung von TypeScript fast immer erforderlich. Obwohl dies die Arbeit mit Angular erschwert, hat diese Situation ihre Vorteile. Insbesondere die Zuverlässigkeit von Anwendungen wird durch die erweiterte Typenkontrolle erhöht, wodurch dem Programmierer zusätzliche Entwicklungswerkzeuge zur Verfügung stehen.
▍Enguläre Ökosystemelemente
Hier sind einige Teile des Ökosystems Angular:
- Befehlszeilentools zur Vereinfachung der Erstellung von Anwendungsvorgaben.
- Eine Reihe von Modulen, die beim Entwickeln von Angular-Projekten verwendet werden können:
@angular/common
, @angular/compiler
, @angular/core
, @angular/forms
, @angular/http
, @angular/platform-browser
, @angular/platform-browser-dynamic
, @angular/router
und @angular/upgrade
. - Die Zone.js-Bibliothek, mit der Sie den Kontext der Codeausführung steuern können.
- TypeScript- und CoffeeScript-Sprachen.
- Der Datenaustausch in Angular-Anwendungen kann mithilfe von RxJS- und Observable-Objekten organisiert werden.
- Angular Augury ist ein Tool zum Debuggen von Angular-Anwendungen.
- Angular Universal-Technologie zum Organisieren des serverseitigen Renderns von Angular-Anwendungen.
Angular ist ein vollwertiges JS-Framework, das dem modernen Webprogrammierer alles bietet, was für produktives Arbeiten erforderlich ist. Angular sollte auf diejenigen achten, die über umfangreiche Standardwerkzeuge verfügen und die Verwendung von Bibliotheken von Drittanbietern auf ein Minimum beschränken möchten.
Fortsetzung,
Teil 2Sehr geehrte Leser! Wenn Ihnen angeboten würde, den besten Rahmen für die Front-End-Entwicklung zu nennen - welchen würden Sie wählen?
