As someone who follows the react introduction to the Foreman from the very beginning, I thought it may be good to share my feelings (not data):
- I keep hearing “we’re almost there” for 1 year, the effort goes on for 2 years at least
- I don’t feel we’re there yet, both infrastructure-wise (slot/fill is not done, plugins are not solved, snapshot testing is not good enough and we don’t have other option yet) and component portfolio-wise (ERB helpers still gives me more tools like counter fields, blank_or_inherit, link_to_if_authorized family, action_buttons, truct_with_tooltip)
- we see (s)low adoption rate among developers
- critical and complicated pages are in ERB - hosts detail, host creation, the same for hostgroup, compute resource and profile, smart proxy detail - partially, report detail page, facts page
- there is a technical debt already
This puts me under impression, we’re not close to a point we should stop investing to ERB helpers. New CRUD pages or bigger changes in core should go fully react though. Adding more helpers internally using react gives plugin maintainers to get benefits of react early and without much work.
The progress or improvements I saw last year
- UI team is aware of problems and work on them
- there are some developers outside of UI team contributing and even reviewing
- great improvements are being added in react - auto complete, datetime picker, tasks dashboard, templates editor, graphql being introduced
- communication and knowledge transfer is better both directions, still potential to improve
which makes me feel we’re going that direction and one day, devs will default to consume react “natively”.
I think the big question we’ve been avoiding to answer loudly for some time is, is the end goal react only UI? I keep hearing two different opinions consistently. If we can come to a consensus on this, it may help accelerate the effort, regardless of the direction. I personally don’t have problem with having ERB around next 3 years, but I’d like to have more improvements added in react (host detail page, host form, smart proxy) and ideally not only rewritten but redesigned.
As I noted, these my are feelings not necessarily based on data and I can be proven wrong