3. Fiori Elements and Freestyle
There are two global approaches in UI5 development:
- Using the meta-framework Fiori Elements (you generate an application based on it and then add additional logic via the extension mechanism)
- "Freestyle" — when you write the application from scratch (from a skeleton).
Fiori Elements
- VERY easy and convenient to generate many generic frontends. With minimal custom logic.
- 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
- Full freedom of UI customization, easy to extend
- 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:
- All application logic is hidden on the backend (BOPF)
- Standard Floorplans are sufficient (see [02. Appearance and Structure of Applications])
- 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.