Formulaik

How can Formulaik help your teams build better forms, faster?

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

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.

Extreme refactoring & a clear delimitation of components

Coined by Don Wells, Extreme refactoring is a designing rule of the Extreme Programming which is a movement itself, often shortened to its XP acronym. This principle entices teams to refactor whenever and wherever possible:

Refactor mercilessly to keep the design simple as you go and to avoid needless clutter and complexity. Keep your code clean and concise so it is easier to understand, modify, and extend. Make sure everything is expressed once and only once. In the end it takes less time to produce a system that is well groomed.

Separating the form's behaviour from the components is a major improvement Formulaik brings out of the box and further reinforces by architecture-design. It becomes easy and straightforward to add an input component to the team's library without disrupting neither other inputs nor the form's validation.

Team and platform agnostic inputs

A major strength of Formulaik is to enforce a JSON array of inputs that the engine renders. Depending on the engine's platform the look and feel may vary, but the contract is to respect the input's data constraints and validations. This not only drastically reduce each team's effort to define in code the product's validations rules, it substantially aligns your app's behaviour across devices with little to no effort. Furthermore the inputs can be stored in a repository and shared across your teams and projects, thus constituting a sole source of truth.