Checkliste für das nächste JavaScript-Projekt

Hilfe im Tool-Dschungel
Kommentare

Mit dem Beginn eines neuen Front-End-JavaScript-Projekts müssen Entwickler viele Entscheidungen treffen, was den Einsatz von Tools und Libraries angeht. In den letzten Jahren gab es in regelmäßigen Abständen neue Go-to-Tools und –Frameworks, doch welche wann in Frage kommen, hängt stark von dem jeweiligen Projekt ab. 

Darum helfen Empfehlungslisten nicht immer, die für das Projekt passende Kombination von Frameworks, Libraries und Tools zu finden. Stattdessen kann die Beantwortung einiger Schlüsselfragen dabei helfen, sich für die richtigen Hilfsmittel zu entscheiden.

6 Fragen zur Tool-Entscheidungshilfe

Angesichts der Menge an JavaScript-Frameworks, -Libraries und -Tools fällt die Entscheidung für die zum Projekt passenden Hilfsmittel oft nicht leicht. Darum kann es helfen, sich mit einigen Schlüsselfragen zum Projekt zu beschäftigen, um sich die Entscheidung einfacher zu machen – immerhin passt nicht jedes Tool oder Framework zu jedem Projekt. Sechs Schlüsselfragen, an denen sich Entwickler orientieren können, sind:

1.    Wie kann der Code modular gehalten werden?

Die Vorteile von modularem Code sind unbestreitbar, immerhin können private Implementierungsdetails in dem Modul zusammengefasst werden. Modularer Code lässt sich in der JavaScript-Welt auf zwei Arten verwirklichen: entweder mit AMD für den Browser, oder mit CommonJS für Node. Allerdings muss man sich mit der Nutzung eines Module-Loaders wie Webpack nicht für das Eine oder das Andere entscheiden. Nötig ist auch ein Modul-Repository, um Dependencies und Third-Party-Module zu verwalten; das populärste Browser-Modul-Repository ist Bower, doch auch npm wird von vielen Entwicklern eingesetzt.

2.    Wie wird die dem Browser zugetragene Payload optimiert?

Modulares Coding führt zu vielen kleinen individuellen Quelldateien, die entweder einzeln in den Browser geladen werden oder als komprimierte Payload zusammengefasst werden können. Dafür eignen sich zum Beispiel Tools wie RequireJS, Browserify und Webpack; Frameworks wie Rendr erlauben dem Nutzer zudem, den gleichen HTML-Code sowohl server-seitig, als auch client-seitig auszuführen.

3.    Sollte man sich auf Unit-Testing oder End-to-End-Testing fokussieren?

Sowohl für Unit-Testing, als auch für End-to-End-Testing von Front-End-JavaScript-Code gibt es verschiedene Tools, die bei dieser Arbeit helfen. Besonders nützlich sind dabei Mocha in Verbindung mit Chai zum Unit-Testing und Nightwatch für End-to-End-Tests.

Bei der Entscheidung, welche Art von Tests durchgeführt wird, bietet es sich an, nicht nur eine Methode zu wählen. Unit-Testing ist meist produktiver und zumindest für manche Elemente eines Front-End-Projekts einfach umzusetzen; für andere Elemente kann das Schreiben solcher Tests zu einer Herausforderung werden. Tools wie Karma und BrowserStack können darum dabei helfen, Cross-Browser-Testing zu vereinfachen.

4.    Wie kann asynchroner Code leicht verwaltet werden?

JavaScript ist von asynchronem Code abhängig, während es auf die Ausführung von umfangreichen Aktionen wie HTTP-Requests oder CSS-Transition-Events wartet. Mit Promises sollen Szenarien, in denen auf die Ausführung einer Vielzahl asynchroner Operationen gleichzeitig gewartet wird, bewältigt werden. Für Legacy-Browser gibt es verschiedene Polyfills für die Promise-Spezifikation; zudem fügen Libraries wie Bluebird und Q dem Standard-API zusätzliche nützliche Features hinzu.

5.    Welches MVC-Framework sollte man benutzen?

Die meisten User-Interface-Applikationen werden mit einem MVC-Design-Pattern erstellt, allerdings gibt es bei den MVC-Frameworks große Unterschiede, wodurch nicht jedes Framework für jedes Projekt geeignet ist. Große Frameworks wie Angular stellen einen Blueprint für die gesamte Applikation zur Verfügung, während kleinere Frameworks leichter in Verbindung mit anderen Tools genutzt werden können.

6.    Wie werden Upgrades deployed?

Caching ist ein wichtiger Faktor bei der Front-End-Performance, etwa indem das Laden der Payload im Browser beschleunigt wird, wenn sie nicht bei jeder Anfrage neu geladen werden muss. Allerdings bedarf es dabei einem Tool zur Cache-Invalidation, mit der CDNs und Browsern das Neuladen der Payload befohlen werden kann.

Diese Fragen sind natürlich nur wenige von vielen weiteren, die man sich bei der Durchführung eines Front-End-JavaScript-Projekts stellen kann. Allerdings bieten sie Entwicklern einigen Denkanreiz, welches Tools für die Lösung bestimmter Aufgaben in Frage kommen können. Dabei gilt für neue Projekte jedoch vor allem eins: es so einfach wie möglich zu halten und nur die Probleme anzugehen, die tatsächlich für das Projekt relevant sind.

Aufmacherbild: Subtropical forest in Nepal von Shutterstock / Urheberrecht: Quick Shot

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -