By Simon Praetorius
What is your idea about?
Modern frontend development is based on reusable components. No matter if you prefer Bootstrap or Tailwind, or if you write your CSS from scratch, there is a huge benefit in writing reusable HTML code only once.
Fluid’s partials can be used to accomplish this, but they are error-prone and cumbersome in their current form. My proposal is to introduce a native concept of Components within Fluid, which streamlines the process of creating and reusing UI elements.
In 2018, I created “Fluid Components”, an extension that already implements something similar. This concept sparked the interest of the TYPO3 community, which lead to the Best Talk Award at TYPO3 DevDays 2022. Over time, through extensive feedback, real-world usage, and community contributions, I’ve identified both the strengths and limitations of the current approach.
Now, as a Fluid maintainer and a key contributor to the release of Fluid 4, I am ready and eager to deliver a future-proof implementation of components directly in Fluid, without an extension.
What do you want to achieve by the end of Q2 2025?
By the end of Q2 2025, I aim to release a new version of the Fluid package that includes the following features:
- ability to define an API for Fluid templates/partials (similar to ViewHelper arguments)
- ability to import and render components from within Fluid templates (similar to ViewHelper namespaces and calls)
- end-user documentation of these new features
There will also be a defined roadmap and a working prototype for the integration of these new features into the TYPO3 Core.
What is the potential impact of your idea for the overall goal?
Ever since React and other reactive frameworks gained popularity, component-based thinking heavily influenced the web design and frontend development process. The approach has clear advantages:
- more uniform look and feel
- rapid prototyping with existing components
- easier refactorings and redesigns
- decoupling of backend data structures and frontend output
In real-world projects using the Fluid Components extension, I’ve observed these benefits firsthand:
- UI and UX implementations were more consistent, especially in bigger projects
- new features and design adjustments were easier to implement
- handovers and workflows were streamlined, both design-frontend and frontend-backend collaboration improved
- we were able to parallelize frontend and backend development
Integrating native components into Fluid will give TYPO3 integrators and developers the necessary tools to unlock these advantages in their TYPO3 projects.
Which budget do you need for your idea?
7.500 Euro
Please note: After the start of the voting we can not change the idea description nor the idea outcome. If this idea is selected by the members, it must be archived as described.