Pourquoi une ComboBox ne suffit pas

Vous développez des applications métier. Vous résolvez les mêmes problèmes de manière répétée.

Vous créez des recherches de clients. Vous créez des champs d'autocomplétion de produits. Vous créez des fenêtres de sélection (popups).

La plupart des bibliothèques d'interface utilisateur (UI) traitent ces éléments comme des widgets distincts. Elles les appellent des « lookups » ou des boîtes d'autocomplétion. C'est une erreur.

Ce ne sont pas des problèmes différents. C'est le même problème. J'appelle ce concept un Locator.

Les applications métier reposent sur des références.

  • Un bon de commande fait référence à un client.
  • Une facture fait référence à un fournisseur.
  • Une transaction fait référence à un produit.

Les bases de données stockent ces éléments sous forme d'identifiants (IDs). Les utilisateurs ne pensent pas en termes d'IDs. Les utilisateurs pensent en noms, en codes ou en codes-barres.

Le véritable problème n'est pas la manière dont vous stockez un ID. Le problème est la manière dont un utilisateur trouve la bonne entité en utilisant ce qu'il sait.

Une ComboBox fonctionne pour les petites listes. Utilisez-la pour les pays ou les devises. Ces listes ne comportent que quelques dizaines de lignes.

Une ComboBox échoue face à des ensembles de données volumineux. Vous ne pouvez pas faire défiler 100 000 clients. À cette échelle, vous n'êtes plus en train de sélectionner dans une liste. Vous êtes en train de localiser un enregistrement.

Un Locator n'est pas un contrôle UI. C'est un comportement.

Un Locator fait plus que simplement retourner une valeur. Il résout une référence métier.

Lorsqu'un utilisateur sélectionne un produit, l'application a besoin de plus qu'un simple ProductId. Elle a besoin du prix unitaire. Elle a besoin du taux de TVA. Elle a besoin de l'unité de mesure.

Un Locator fournit tout cela en résolvant la référence dans un contexte spécifique.

L'interface utilisateur peut changer :

  • Sur un ordinateur, cela ressemble à deux champs de recherche.
  • Dans une grille, cela ressemble à un éditeur personnalisé.
  • Sur mobile, cela ressemble à un écran de recherche.

L'apparence change, mais le comportement reste le même.

Un bon Locator respecte l'utilisateur. Les utilisateurs expérimentés utilisent le clavier. Un Locator devrait valider une sélection immédiatement s'il trouve une correspondance unique. Il ne devrait demander un choix que si plusieurs correspondances existent.

Arrêtez de traiter la recherche, l'autocomplétion et les popups comme des widgets sans lien entre eux. Reconnaissez le Locator comme un concept fondamental pour les logiciels métier.

Source : https://dev.to/tbebekis/-fundamental-concepts-of-business-applications-i-why-a-combobox-is-not-enough-pb4