Im Rahmen der Entwicklung der Kolibri Dropdown-Komponente ist die Untersuchung der bestehenden Lösungen ein wichtiger Bestandteil. Dadurch zeigen sich Stärken und Schwächen gängiger Auswahlkomponenten auf. Diese Analyse dient als Grundlage für die Gestaltung einer benutzerfreundlichen, technisch effizienten und unabhängigen Komponente. Diese ist speziell auf die Bedürfnisse Endnutzer zugeschnitten.
Standard-HTML-Elemente wie <select>
und <datalist>
bieten zwar grundlegende Funktionalitäten, sind jedoch in Bezug auf Designflexibilität und Benutzerfreundlichkeit limitiert. Bibliotheksabhängige Lösungen wie Bootstrap, React und Vue.js erweitern zwar die Möglichkeiten, bringen aber zusätzliche Abhängigkeiten und Einarbeitungsaufwand mit sich. jQuery-basierte Lösungen bieten eine verbesserte Benutzererfahrung, sind jedoch ebenfalls von externen Bibliotheken abhängig.
(W3Schools, 2023) Das select
-Tag von HTML bietet nur sehr begrenzte Möglichkeiten in der Gestaltung bzw. Darstellung der Auswahl-Elemente. Grosse Datenmengen benutzerfreundlich darzustellen stellt sich als sehr schwierig dar. Das HTML-Element wird von allen Browsern unterstützt und nimmt nur vorgegebene Werte an.
(W3Schools, 2023) Eine HTML-datalist
ist an ein Input-Feld gebunden und bietet ebenfalls fast kein Spielraum für ein eigenes Design. Dabei können eigene Werte eingegeben werden, was nicht in allen Fällen erwünscht ist. Ein Vorteil ist, die Liste filtert bzw. passt sich bei einer Eingabe automatisch an.
Tabelle 2.1 - Vergleich der Konkurrenz Produkte
HTML select
Browserübergreifende Unterstützung
Begrenzte Gestaltungsmöglichkeiten
Einfach, nimmt nur vorgegebene Werte an
HTML datalist
Automatische Filterung bei Eingabe
Begrenztes Design, ermöglicht eigene Werte
Bindung an ein Input-Feld
use-bootstrap-select
Umfangreiche Gestaltungsmöglichkeiten
Erfordert Einarbeitung in die Bibliothek
Unterstützt Suchfunktion, Mehrfachauswahl
EasyDropDown.js
Leichtgewichtig, anpassbar
Dokumentation notwendig
Drei Designs verfügbar
React Dropdown
Unterstützt Optgroups, Platzhalter
Abhängig von React
Einfache Installation mit npm
React Bootstrap Dropdown
Umfangreiche Anpassungsoptionen
Erfordert mehrere Abhängigkeiten
Unterstützt verschiedene Grössen und Ausrichtungen
Vue-Multiselect
Multi-Selektion, Tagging
Abhängig von Vue.js
Ermöglicht benutzerdefinierte Vorlagen
Chosen (jQuery-basiert)
Suchfunktion, Multi-Selektion
Abhängig von jQuery
Anpassbares Erscheinungsbild
Kolibri Dropdown
Unabhängig, benutzerfreundlich
Kolibri Toolkit spezifisch programmiert
Einfache Integration, anpassbar, hohe Performance
Diese Lösungen stellen Entwickler oft vor Herausforderungen hinsichtlich der Integration, Anpassungsfähigkeit und Performance. Insbesondere bei grossen Datenmengen und spezifischen Designanforderungen offenbaren sich die Grenzen herkömmlicher Dropdown-Elemente.
Die Kolibri Dropdown-Komponente soll unabhängig von externen Bibliotheken funktionieren. Diese Komponente zeichnet sich durch eine hohe Flexibilität, einfache Integration und benutzerfreundliche Interaktion aus. Sie folgt den Design- und Codierungsstandards von Kolibri und sie soll einfach in verschiedene Webprojekte integrierbar sein.
Unabhängigkeit von Drittbibliotheken: Die neue Komponente benötigt keine externen Abhängigkeiten, was die Sicherheit und Stabilität erhöht.
Benutzerfreundlichkeit und Zugänglichkeit: Die Komponente entwickelt sich mit Fokus auf eine intuitive und barrierefreie Benutzererfahrung.
Anpassungsfähigkeit und Erweiterbarkeit: Sie lässt sich leicht an unterschiedliche Designrichtlinien und Anforderungen anpassen.
Technische Effizienz: Durch die Vermeidung unnötiger Bibliotheken wird eine hohe Performance erreicht.
Die Kolibri Dropdown-Komponente soll ein Fortschritt in der Entwicklung von benutzerzentrierten, technisch effizienten Webanwendungen sein. Als Reaktion auf die Einschränkungen bestehender Lösungen entsteht diese Selektionskomponente und erweitert das Kolibri Toolkit um eine wichtige und flexible Funktionalität.
Die meisten anderen Konkurrenz-Auswahlkomponenten benötigen möglicherweise eine längere Einarbeitungszeit, da eine Dokumentation durchgelesen werden muss oder die Anwendung sehr komplex sein kann. Weiter haben viele Library-Lösungen Abhängigkeiten zu weiteren Komponenten oder externen Ressourcen wie einem Package Manager. Die Verwendung von Bibliotheken hat zur Folge, dass Vertrauen auf die Sicherheit und Verfügbarkeit der Ressourcen erforderlich ist. Anderenfalls ist mit Abstrichen zu rechnen. Einige Konkurrenzprodukte erfordern viele Codezeilen, um die gewünschte Funktionalität zu erreichen. Häufig ist die Definition spezifischer Konfigurationen notwendig. Diese Kenntnisse unterstützen die Recherche nach Umsetzungsmöglichkeiten.