Formulaik

Introduction à Formulaik

Formulaik is a An open source initiative for defining cross-platform forms, enabling reusable components in a JSON based declarative approach. Formulaik aims to simplify form building across various front-end frameworks. Formulaik defines a protocol for defining form inputs as a sole source of truth (data type, behaviour, validation) in json, which is interpreted by a platform-specific formulaik engine.

formulaik
form

Les formulaires nous prennent une bande passante conséquente dans leur développement et leur maintenance. Ces composants d'interaction utilisateur sont critiques pour le succès de nos applications et pourtant leur complexité est une source récurrente de bugs, de régressions et de vulnérabilités.

Mon expérience douloureuse m'a poussé à concevoir Formulaik, plus qu'une bibliothèque c'est un contrat multi-plateformes et multi-langages qui adresse les points durs du développement de formulaires:

  • La définition en JSON de la nature, du comportement et de la validation des inputs d'un formulaire permet d'avoir une source unique de vérité dans le format de donnée le plus populaire
  • Chaque input est un composant standardisé entièrement séparé du formulaire, et peut être invoqué via une clé unique dans une bibliothèque de composants réutilisable
  • Un engin orchestre l'affichage, la résolution de composants, le comportement et la validation pour un framework donné. Les engins pour React et React Native sont d'ores et déjà disponibles.

Imaginez définir en séance de backlog refinement le comportement de tous vos formulaires en JSON de façon lisible, et utiliser ce même référentiel sur vos apps et sites web...

De part son architecture Formulaik permet:

  • D'éviter le code spaghetti en enforçant dès le départ du clean code via le Don't repeat yourself (DRY), l'Extreme Refactoring et le Single-Responsibility Principle
  • De développer une fois et de réutiliser avec assurance une bibliothèque de composants (inputs) qui viennent de la même équipe, de l'entreprise ou disponibles en open source
  • De transvaser facilement toute la logique de formulaire d'une plateforme à l'autre, par exemple entre le web et le mobile
  • De gagner de façon organique en efficacité et en qualité de code

Formulaik est encore en béta mais:

Toute recommendation ou contribution pour améliorer le code base (portage vers Swift, Android, Vue etc, bibliothèques, typescript etc) est la bienvenue.

Merci.