JavaScript-Bibliothek oder -Framework auswählen

Umar Hansa
Umar Hansa

In diesem Artikel erfahren Sie, wie Sie eine Bibliothek oder ein Framework für Ihre Webanwendung auswählen können. Die hier aufgeführten Informationen helfen Ihnen, die Vor- und Nachteile der verschiedenen JavaScript-Bibliotheken und ‑Frameworks abzuwägen, um die richtige Lösung für das geschäftliche Problem zu finden, das Sie lösen möchten. Wenn Sie wissen, welche Vor- und Nachteile in verschiedenen Situationen gelten, können Sie die große Auswahl an verfügbaren JavaScript-Bibliotheken besser beurteilen.

Was sind JavaScript-Bibliotheken und ‑Frameworks?

Was ist eine JavaScript-Bibliothek? In ihrer einfachsten Form ist eine JavaScript-Bibliothek vorgefertigter Code, den Sie im Code Ihres Projekts aufrufen können, um eine bestimmte Aufgabe auszuführen.

In diesem Beitrag werden hauptsächlich „Bibliotheken“ erwähnt. Viele der Diskussionen gelten jedoch auch für Frameworks. Im Grunde genommen lässt sich der Unterschied zwischen den beiden so zusammenfassen:

  • Bei einer Bibliothek ruft der Anwendungscode den Bibliothekcode auf.
  • Bei einem Framework wird der Anwendungscode vom Framework aufgerufen.

Die folgenden praktischen Beispiele veranschaulichen die Unterschiede.

Beispiel für einen Aufruf einer JavaScript-Bibliothek

Eine JavaScript-Bibliothek führt eine bestimmte Aufgabe aus und gibt dann die Steuerung an Ihre Anwendung zurück. Wenn Sie eine Bibliothek verwenden, steuern Sie den Ablauf der Anwendung und legen fest, wann die Bibliothek aufgerufen werden soll.

Im folgenden Beispiel importiert der Anwendungscode eine Methode aus der Bibliothek lodash. Nach Abschluss der Funktion wird die Kontrolle an Ihre Anwendung zurückgegeben.

import capitalize from 'lodash.capitalize';
capitalize('hello'); // Hello

Wenn die Methode lodash.capitalize ausgeführt wird, wird vordefinierter JavaScript-Code aufgerufen, der das erste Zeichen eines Strings großschreibt.

Beispiel für die Verwendung eines JavaScript-Frameworks

Ein JavaScript-Framework ist eine vordefinierte Codevorlage, in der Sie das Verhalten Ihrer Anwendung erstellen. Das heißt, wenn Sie ein Framework verwenden, steuert das Framework den Anwendungsfluss. Wenn Sie ein Framework verwenden möchten, schreiben Sie Ihren benutzerdefinierten Anwendungscode und das Framework ruft dann Ihren Anwendungscode auf.

Das folgende Beispiel zeigt ein Code-Snippet, das das JavaScript-Framework Preact verwendet:

import { createElement } from 'preact';

export default function App() {
  return (
    <p class="big">Hello World!</p>
  )
}

Beachten Sie im Beispiel, dass das Framework viel mehr Kontrolle über den von Ihnen geschriebenen Code hat. In einigen Fällen übernimmt das Framework sogar die Kontrolle darüber, wann Ihr Code ausgeführt wird.

Warum eine Bibliothek verwenden?

Mit einer JavaScript-Bibliothek können Sie unnötige Codewiederholungen vermeiden. Bibliotheken können komplexe Logik wie Datumsmanipulation oder Finanzberechnungen abstrahieren. Eine Bibliothek kann Ihnen auch dabei helfen, Ihr erstes Produkt zu veröffentlichen, anstatt den gesamten Code von Grund auf neu schreiben zu müssen, was viel Zeit in Anspruch nehmen kann.

Mit einigen clientseitigen JavaScript-Bibliotheken werden die Eigenheiten der Webplattform abstrahiert. Eine Bibliothek kann auch als Lerntool dienen. Wenn Sie beispielsweise nicht mit Easing-Funktionen vertraut sind, können Sie im Quellcode einer Bibliothek nachlesen, wie diese funktionieren.

Einige Bibliotheken werden von großen Unternehmen unterstützt, die Zeit und Geld in die Aktualisierung und Sicherheit der Bibliotheken investieren. Viele Bibliotheken werden mit einer umfassenden Dokumentation geliefert, die Ihnen und Ihrem Team eine schnelle Möglichkeit bietet, sich mit der Verwendung der Bibliothek vertraut zu machen.

Letztendlich sparen Sie mit der Verwendung einer JavaScript-Bibliothek Zeit.

Warum sollten Sie sich für die Bibliotheksnutzung interessieren?

Technisch gesehen können Sie Ihre Webanwendung von Grund auf entwickeln, aber warum sollten Sie sich die Mühe machen, wenn Sie kostenlose (Open-Source-)Software verwenden oder eine Lösung kaufen können, die auf lange Sicht Zeit und Geld spart? Es gibt eine große Anzahl von JavaScript-Bibliotheken und ‑Frameworks, die jeweils einen einzigartigen Ansatz zur Lösung von Problemen bieten und unterschiedliche Eigenschaften haben. Beispiel:

  • Eine Bibliothek kann intern und nicht von einem Drittanbieter geschrieben und verwaltet werden.
  • Eine Bibliothek kann bestimmte rechtliche Lizenzen haben, die sie für Ihre Webanwendung geeignet oder ungeeignet machen.
  • Eine Bibliothek kann veraltet oder nicht gepflegt sein.
  • Eine Bibliothek kann eine Reihe komplexer Aufgaben vereinfachen und Ihnen viel Zeit und Geld sparen.
  • Eine Bibliothek kann in der Community weit verbreitet und unter Entwicklern bekannt sein.

Wie Sie sich vorstellen können, können sich unterschiedliche Eigenschaften auf Ihre Webanwendung unterschiedlich auswirken. Manchmal ist die Entscheidung einfach nicht so tief und Sie können eine Bibliothek bedenkenlos austauschen, wenn sie Ihnen nicht gefällt. Manchmal kann eine Bibliothek jedoch erhebliche Auswirkungen auf Ihre Arbeit und Ihre Webanwendung haben. In diesem Fall ist ein fundierterer Ansatz erforderlich.

In einigen nicht clientseitigen JavaScript-Umgebungen, z. B. auf dem Server (in einer Cloud-Umgebung ausgeführt) oder auf einem Raspberry Pi, müssen Sie die Kriterien für die Prüfung von Bibliotheken und Frameworks möglicherweise anpassen.

Leistung

Die Leistungsauswirkung einer JavaScript-Bibliothek auf eine clientseitige Webanwendung sollte nicht ignoriert werden. Eine große JavaScript-Bibliothek kann die Ladeleistung Ihrer Seite beeinträchtigen. Denken Sie daran, Millisekunden machen Millionen aus.

Angenommen, Sie verwenden eine JavaScript-Bibliothek für Animationen. Einige Bibliotheken können problemlos mehrere zehn Kilobyte, in einigen Fällen sogar Hunderte von Kilobyte hinzufügen. Solche JavaScript-Ressourcen können das Laden der Seite erheblich verzögern, da der Browser den Code herunterladen, parsen, kompilieren und ausführen muss.

Je größer die JavaScript-Bibliothek, desto größer ist die Leistungsauswirkung auf Ihre Nutzer.

Wenn Sie eine JavaScript-Bibliothek oder ein JavaScript-Framework bewerten oder verwenden, sollten Sie die folgenden Vorschläge zur Leistungssteigerung berücksichtigen:

  • Wenn Sie eine große JavaScript-Bibliothek verwenden, sollten Sie eine kleinere Alternative in Betracht ziehen. date-fns bietet beispielsweise viele Funktionen bei einem geringeren Umfang als einige andere Optionen.
  • Basierend auf dem vorherigen Beispiel für „date-fns“ importieren Sie nur die Funktionen, die Sie benötigen, z. B. import { format } from 'date-fns'. Kombinieren Sie diesen Ansatz mit Tree Shaking, damit eine minimale JavaScript-Nutzlast erstellt und an Ihre Nutzer gesendet wird.
  • Mit Tools für Leistungstests wie Lighthouse können Sie die Auswirkungen der Verwendung einer bestimmten JavaScript-Bibliothek auf die Leistung beobachten. Wenn eine Bibliothek die Seitenladezeit um eine Sekunde verlängert (vergessen Sie nicht, Ihr Netzwerk und Ihre CPU während des Tests zu drosseln), müssen Sie die ausgewählte Bibliothek möglicherweise noch einmal überdenken. Prüfen Sie nicht nur das Laden der Seite, sondern auch das Verhalten der Webseite, bei dem Code aus der betreffenden Bibliothek aufgerufen wird. Die Ladeleistung der Seite ist nicht der einzige wichtige Faktor.
  • Wenn der Autor der Bibliothek Kommentare begrüßt, können Sie Ihre Beobachtungen zur Leistung, Vorschläge und sogar Beiträge zum Projekt einreichen. Hier glänzt die Open-Source-Community! Wenn Sie einen Beitrag leisten möchten, müssen Sie sich möglicherweise zuerst an Ihren Arbeitgeber wenden.
  • Verwenden Sie ein automatisiertes Tool zum Überwachen von Bundles, z. B. bundlesize, um unerwartet große Updates für eine Bibliothek zu erkennen. Es ist üblich, dass eine JavaScript-Bibliothek im Laufe der Zeit wächst. Funktionserweiterungen, Fehlerkorrekturen und andere Änderungen können die Dateigröße einer Bibliothek erhöhen. Sobald Sie/Ihr Team sich für die Verwendung einer Bibliothek entschieden haben, ist das Aktualisieren der Bibliothek möglicherweise weniger problematisch und wirft kaum Fragen auf. Hier ist es hilfreich, auf Automatisierung zu setzen.
  • Sehen Sie sich Ihre Anforderungen an eine Bibliothek an und prüfen Sie, ob die Webplattform dieselben Funktionen nativ bietet. Die Webplattform bietet beispielsweise bereits eine Farbpalette, sodass keine JavaScript-Bibliothek von Drittanbietern verwendet werden muss, um dieselbe Funktion zu implementieren.

Sicherheit

Die Verwendung eines Drittanbietermoduls birgt inhärente Sicherheitsrisiken. Ein schädliches Paket in der Codebasis Ihrer Webanwendung kann die Sicherheit Ihres Entwicklungsteams und Ihrer Nutzer gefährden.

Angenommen, Sie haben eine Bibliothek im NPM-System veröffentlicht. Ein solches Paket kann legitim sein. Mit der Zeit kann das Paket jedoch manipuliert werden.

Hier sind einige Sicherheitstipps, die Sie bei der Verwendung oder Bewertung von Drittanbietercode beachten sollten:

  • Wenn Sie GitHub verwenden, sollten Sie die Sicherheitsangebote für den Code berücksichtigen, z. B. Dependabot. Sie können auch alternative Dienste verwenden, die Ihren Code auf Sicherheitslücken prüfen, z. B. snyk.io.
  • Sie können Code-Audit-Dienste in Anspruch nehmen, bei denen ein Team von Entwicklern den von Ihnen verwendeten Code von Drittanbietern manuell prüfen kann.
  • Überlegen Sie, ob Sie Ihre Abhängigkeiten auf eine bestimmte Version sperren oder den Code von Drittanbietern in Ihrer Versionskontrolle committen sollten. So können Sie Ihre Abhängigkeit auf eine bestimmte Version festlegen, die als sicher gilt. Ironischerweise kann dies jedoch sicherheitstechnisch kontraproduktiv sein, da Sie wichtige Updates für die Bibliothek verpassen könnten.
  • Sehen Sie sich die Startseite des Projekts oder die GitHub-Seite an, falls vorhanden. Prüfen Sie, ob ausstehende Sicherheitsprobleme vorliegen und ob frühere Sicherheitsprobleme innerhalb eines angemessenen Zeitraums behoben wurden.
  • Code von Drittanbietern, der anderen Code von Drittanbietern verwendet, kann ein höheres Risiko bergen als eine Bibliothek ohne Abhängigkeiten. Beachten Sie dieses Risiko.

Bedienungshilfen

Sie fragen sich vielleicht, wie Softwarebibliotheken mit der Barrierefreiheit im Internet zusammenhängen. Während eine Softwarebibliothek in verschiedenen Umgebungen verwendet werden kann, ist im Kontext einer clientseitigen JavaScript-basierten Bibliothek die Barrierefreiheit im Internet von großer Bedeutung.

Eine clientseitige JavaScript-basierte Bibliothek (oder ein Framework) kann die Zugänglichkeit Ihrer Website erhöhen oder verringern. Angenommen, Sie verwenden eine JavaScript-Bibliothek eines Drittanbieters, die einer Seite einen Bild-Schieberegler hinzufügt. Wenn der Bildschieberegler die Barrierefreiheit im Web nicht berücksichtigt, übersehen Sie als Webentwickler eine so wichtige Funktion möglicherweise und veröffentlichen ein Produkt, bei dem wichtige Funktionen fehlen, z. B. dass der Schieberegler über die Tastatur bedient werden kann.

  • Unterstützt das Plug-in für die responsive Typografie Nutzende, die die Seite vergrößern oder verkleinern?
  • Unterstützt das Datei-Uploader-Plug-in Dateiuploads von unterstützenden Geräten?
  • Bietet die Animationsbibliothek Unterstützung für Nutzer, die bewegte Inhalte nicht mögen?
  • Unterstützt das Plug-in für interaktive Karten nur die Tastatur?
  • Bietet die Audioplayer-Bibliothek eine angemessene Nutzung auf Screenreadern?

Es ist davon auszugehen, dass Sie als Webentwickler einen gewissen Beitrag zur Erfüllung dieser Anforderungen zur Barrierefreiheit leisten müssen. Beispiel:

  • Fehlende Funktionen können Sie in Ihrer Codebasis implementieren, auch wenn Sie die betreffende Bibliothek weiterhin verwenden.
  • Mit der Unterstützung Ihres Arbeitgebers können Sie ein solch fehlendes Element zur Bibliothek beitragen, wenn der Autor der Bibliothek dies zulässt.
  • Sie können einen Dialog mit dem Autor der Bibliothek starten. Sind beispielsweise diese speziellen Bedienungshilfen auf Ihrer Roadmap? Stimmen Sie zu, dass sie in die Bibliothek gehören?
  • Für gängige Anwendungsfälle können Sie alternative Bibliotheksoptionen verwenden, die barrierefreier sind. Diese sind möglicherweise vorhanden, aber schwerer zu finden.
  • Im Extremfall müssen Sie eine Bibliothek vollständig verwerfen und Ihre Funktionen von Grund auf implementieren. Das kann passieren, wenn eine Bibliothek oder ein Framework bei der ersten Verwendung eine eingeschränkte Barrierefreiheit bietet und Sie viele der Funktionen rückgängig machen müssen, die die Bibliothek oder das Framework angeblich kostenlos zur Verfügung stellt.

Konventionen

Eine Softwarebibliothek, die etablierte Codierungskonventionen verwendet, ist einfacher zu verwenden. Wenn in einer Bibliothek eine unbekannte Codierungskonvention verwendet wird, kann es für Sie und Ihr Team schwierig sein, mit einer solchen Bibliothek zu arbeiten.

Wenn eine Bibliothek nicht den gängigen Codierungskonventionen folgt (z. B. einem gängigen Styleguide), können Sie kurzfristig nicht viel tun. Es gibt jedoch noch einige Möglichkeiten:

  • Sie müssen zwischen dem Quellcode der Bibliothek und der API unterscheiden, die Ihnen als Bibliotheksnutzer zur Verfügung gestellt wird. Auch wenn der interne Quellcode möglicherweise unbekannte Konventionen verwendet, besteht möglicherweise kein Grund zur Sorge, wenn die API (der Teil der Bibliothek, mit dem Sie interagieren) bekannte Konventionen verwendet.
  • Wenn die Bibliothek-API nicht den gängigen Codierungskonventionen folgt, können Sie ein JavaScript-Designmuster wie das Proxy-Muster verwenden, um alle Interaktionen mit der Bibliothek in einer einzigen Datei in der Codebasis zu verpacken und zu enthalten. Ihr Proxy kann dann anderen Teilen des Codes in Ihrer Codebasis eine intuitivere API bieten.

Konventionen spielen eine große Rolle bei der Benutzerfreundlichkeit. Eine Bibliothek mit einer intuitiven API kann im Vergleich zu einer nicht intuitiven API, die viel Experimentieren erfordert, viele Stunden oder sogar Tage an Arbeitsaufwand sparen.

Updates

Eine vollständig funktionierende Bibliothek, die nur wenige mathematische Berechnungen ausführt, muss beispielsweise selten aktualisiert werden. Eine Bibliothek mit umfassenden Funktionen ist in der sich ständig verändernden Welt der Webentwicklung selten. Manchmal möchten Sie jedoch, dass der Autor der Bibliothek reagiert und bereit ist, Aktualisierungen vorzunehmen. Neue Forschungen und Erkenntnisse können zu besseren Methoden führen. Daher unterliegen die in Bibliotheken und Frameworks verwendeten Techniken immer Änderungen.

Achten Sie bei der Auswahl einer Bibliothek oder eines Frameworks darauf, wie Updates verarbeitet werden. Solche Entscheidungen können sich auf Sie auswirken:

  • Hat die Bibliothek einen sinnvollen Veröffentlichungszeitplan? Beispielsweise werden Updates für das Quellcode-Repository möglicherweise häufig veröffentlicht. Wenn diese Updates jedoch nicht entsprechend „veröffentlicht“ oder „veröffentlicht“ werden, kann es schwierig sein, sie herunterzuladen.
  • Werden für die Bibliothek Updates mit einem sinnvollen Software-Versionsschema veröffentlicht? Eine Bibliothek sollte Ihnen Zeit sparen. Wenn Sie Ihren Code jedes Mal unerwartet ändern müssen, wenn Sie die Bibliotheksversion aktualisieren, kann dies den Zweck der Verwendung dieser Bibliothek zunichtemachen. Unterbrechungen sind manchmal unvermeidlich, aber im Idealfall sind Änderungen selten und werden den Bibliotheksnutzern nicht aufgezwungen.
  • Investiert die Bibliothek Bemühungen in die Abwärtskompatibilität? Manchmal können Softwareupdates nicht abwärtskompatible Änderungen mit sich bringen, aber auch eine gewisse Abwärtskompatibilität bieten. So kann der Bibliotheksnutzer die neueste Bibliotheksversion mit nur minimalen Änderungen an seinem Code verwenden.

Lizenzierung

Die Softwarelizenzierung ist ein wichtiger Aspekt bei der Verwendung von Softwarebibliotheken von Drittanbietern. Der Autor einer Bibliothek kann seiner Bibliothek eine Lizenz zuweisen. Wenn Sie die Bibliothek verwenden möchten, kann die Lizenzauswahl Auswirkungen auf Sie haben.

Eine JavaScript-Bibliothek kann beispielsweise eine Softwarelizenz haben, die die Verwendung in einer nicht kommerziellen Umgebung erlaubt. Für ein persönliches Hobbyprojekt kann dies eine gute Wahl sein. Wenn Ihr Projekt kommerzielle Elemente enthält, sollten Sie eine Unternehmenslizenz in Betracht ziehen.

Im Zweifelsfall solltest du eine professionelle Rechtsberatung in Anspruch nehmen oder dich an die Rechtsabteilung deines Unternehmens wenden.

Community

Eine Bibliothek oder ein Framework mit einer großen Community von Nutzern/Mitwirkenden kann von Vorteil sein, ist aber keine Garantie. Generell gilt: Je mehr Nutzer eine Bibliothek oder ein Framework hat, desto wahrscheinlicher ist es, dass sie davon profitieren. Berücksichtigen Sie die folgenden Vor- und Nachteile der Teilnahme an einer Entwicklungscommunity:

Vorteile:

  • Eine große Nutzerbasis kann die Wahrscheinlichkeit erhöhen, dass Fehler früh und häufig erkannt werden.
  • Eine große aktive Community kann mehr Tutorials, Anleitungen, Videos und sogar Kurse zur jeweiligen Bibliothek oder zum jeweiligen Framework bedeuten.
  • Eine große aktive Community kann mehr Support in Foren und auf Websites mit Fragen und Antworten bedeuten, was die Wahrscheinlichkeit erhöht, dass Supportfragen beantwortet werden.
  • Eine aktive Community kann mehr externe Mitwirkende an der Bibliothek oder dem Framework bedeuten. Sie können dabei helfen, Funktionen bereitzustellen, die ansonsten nicht in der Roadmap des Autors enthalten sind.
  • Wenn eine Bibliothek oder ein Framework in einer Community beliebt ist, ist die Wahrscheinlichkeit höher, dass Ihre Kollegen davon gehört haben oder sogar mit einer solchen Bibliothek oder einem solchen Framework vertraut sind.

Nachteile:

  • Ein Projekt mit einer großen und vielfältigen Nutzerbasis kann durch ständiges Hinzufügen von Funktionen aufgebläht werden. Zu große Bibliotheken können die Webleistung beeinträchtigen.
  • Ein Projekt mit einer aktiven und engagierten Community kann für die Autoren und Verantwortlichen stressig sein und eine umfassende Moderation der Community erfordern.
  • Ein Projekt, das schnell wächst, aber nicht über die entsprechende Unterstützung verfügt, kann Anzeichen einer toxischen Community zeigen. Zum Beispiel kann es vorkommen, dass Anfänger oder Junior-Webentwickler sich aufgrund von Gatekeeping in einer bestimmten Community unwillkommen fühlen.

Dokumentation

Ganz gleich, wie einfach oder komplex eine JavaScript-Bibliothek oder ein JavaScript-Framework ist, die Softwaredokumentation kann immer hilfreich sein. Selbst sehr erfahrene Entwickler nutzen Dokumentationen, anstatt den Code selbst zu entschlüsseln. In der Dokumentation wird erläutert, welche API Sie verwenden sollten und wie Sie sie verwenden sollten.

Die Dokumentation kann sogar Beispielcode enthalten, der Ihnen den Einstieg erleichtert. Wenn Sie eine Bibliothek oder ein Framework bewerten, können Sie sich einige dieser Fragen stellen:

  • Enthält die Bibliothek eine Dokumentation? Andernfalls müssen Sie sich damit abfinden, Dinge selbst herauszufinden.
  • Ist die Dokumentation klar, verständlich und eindeutig? Viele Entwickler verbringen viel Zeit mit der Dokumentation. Das mag unbedeutend erscheinen, aber die Klarheit in der Textdokumentation kann sich stark auf Ihre Produktivität auswirken.
  • Wird die Dokumentation vollständig automatisch generiert? Solche Dokumentationen sind oft schwerer zu verstehen und enthalten nicht immer eine klare Anleitung zur Verwendung einer API.
  • Ist die Dokumentation auf dem neuesten Stand? Die Pflege der Dokumentation wird manchmal als Nebensache betrachtet. Wenn die Bibliothek aktualisiert, die Dokumentation aber nicht, kann dies zu verschwendeter Entwicklungszeit führen.
  • Ist die Dokumentation umfassend und in mehreren Formaten verfügbar? Nutzerhandbücher, Beispielcode, Referenzdokumente, Live-Demos und Anleitungen sind wertvolle Dokumentationsformate, die Ihnen bei der erfolgreichen Verwendung einer Bibliothek oder eines Frameworks helfen können.

Die Dokumentation kann nicht immer vollständig sein. Sie müssen die Anforderungen Ihres Unternehmens, Ihre Projektanforderungen und die Komplexität Ihrer Software bewerten und anhand dieser Informationen das erforderliche Dokumentationsniveau bestimmen.

Fazit

Es ist ganz normal, dass Sie sich überfordert fühlen, wenn Sie zum ersten Mal eine Bibliothek oder ein Framework auswählen. Wie bei allem anderen gilt auch hier: Je mehr Sie lernen und eine Aufgabe üben, desto besser werden Sie. Es kann hilfreich sein, diesen Beitrag zu lesen, wenn Sie das nächste Mal eine Bibliothek oder ein Framework auswählen. Sie können die Überschriften in diesem Beitrag als Checkliste verwenden. Beispiel: Ist diese Bibliothek leistungsstark? Erfüllt diese Bibliothek meine Geschäftsstandards für die Webzugänglichkeit?

Es gibt noch weitere Aspekte von Bibliotheken und Frameworks, die Sie berücksichtigen sollten und die in diesem Artikel nicht ausführlich behandelt wurden:

  • Erweiterbarkeit: Wie einfach lässt sich die Bibliothek mit benutzerdefinierter Logik und/oder Verhalten erweitern?
  • Tools:Enthält die Bibliothek gegebenenfalls Tools wie Code-Editor-Plug-ins, Debugging-Tools und Build-System-Plug-ins?
  • Architektur: Klarer Code ist wichtig, aber ist die Gesamtarchitektur der Bibliothek sinnvoll?
  • Tests: Enthält das Projekt eine Testsuite? Werden auf der Projekt-Website Badges oder Indikatoren verwendet, die die Testsuite im Vergleich zum neuesten Commit übergibt?
  • Kompatibilität: Funktioniert die Bibliothek gut mit anderen Bibliotheken und/oder Frameworks, die Sie derzeit verwenden?
  • Kosten: Wie hoch sind die Kosten eines Frameworks? Ist es Open Source oder kann es gekauft werden?
  • Eitelkeitsmesswerte: Diese sollten weit unten auf der Liste der Kriterien stehen oder sogar ganz ignoriert werden. Sie können aber die Anzahl der „Stimmen“ für das Projekt, die Social-Media-Konten, die das Projekt repräsentieren, und/oder die Anzahl der offenen Fehler/Probleme auf der Projektseite berücksichtigen.