3. Fiori Elements and Freestyle

There are two global approaches in UI5 development:

  1. Using the meta-framework Fiori Elements (you generate an application based on it and then add additional logic via the extension mechanism)
  2. "Freestyle" — when you write the application from scratch (from a skeleton).

Fiori Elements

  1. VERY easy and convenient to generate many generic frontends. With minimal custom logic.
  2. VERY inconvenient to extend the application if you need to do something that is not covered by the standard Fiori extension mechanism. In the end, the application becomes a mess, and it’s easier to rewrite it from scratch.

Freestyle

  1. Full freedom of UI customization, easy to extend
  2. Writing from scratch is really inconvenient, but you can smooth out the rough edges by using application generators (e.g., yeoman)

When to use which approach?

Use Fiori Elements if:

  1. All application logic is hidden on the backend (BOPF)
  2. Standard Floorplans are sufficient (see [02. Appearance and Structure of Applications])
  3. No serious customization is planned, more than just "hide/add some field"
    Then use Fiori Elements

In all other cases, use Freestyle.
If you are unsure which option to choose — use Freestyle.

The only downside of Freestyle applications: writing them from scratch is inconvenient — but this is mitigated by templates and generators.
And all the smart-component features from Fiori Elements are also available out of the box in Freestyle.


See also