How production ready is Fabulous?
See original GitHub issueI really like the Elm(ish) programming model. I’d love to try out Fabulous for a Xamarin app we currently have in production; it would likely simplify things quite a bit over the current architecture (which is a kind of homegrown, half-Elmish, MVVM/Redux-like hybrid).
But how production ready is Fabulous? I can live with a reasonable amount of breaking API changes, but I am concerned about a couple of other points:
-
Correct behaviour and general runtime stability. I don’t want our customers experiencing Fabulous-related bugs that only crop up far into or at the other side of a rewrite - or even worse, for only certain end-user devices in certain contexts (such as #343, which I realize is not Fabulous’ fault).
-
Performance. I’m not creating games or running a stopwatch at 100 FPS, but I must be able to depend on Fabulous (with necessary optimizations, e.g.
dependsOn
) handling any human typing speed. For example (intersecting with the point above concerning correct behaviour), a good while ago I started the discussion at https://github.com/elmish/Elmish.WPF/issues/40, where I attempted to explain a problem relating to feedback loops due to e.g.Entry.TextChanged
being fired both from user input and programmatic changes. This caused a feedback loop if the Elmish update loop was “too slow”. The behaviour was not too hard to provoke on a hardware-accelerated emulator, and was what prompted me to go for the hybrid MVVM architecture I mentioned (where I use view models forEntry.Text
updates). -
Any other known issues, drawbacks, caveats, or battle stories that might be good to know about.
Issue Analytics
- State:
- Created 4 years ago
- Comments:5 (2 by maintainers)
Top GitHub Comments
I made a separate issue #383 for the navigation slowdowns because I couldn’t find any existing issue for it.
With that out of the way, I think my questions here are answered: While I love the Elmish architecture and would like nothing more than for Fabulous to be the most, well, fabulous choice for app development, the navigation slowdowns alone are a no-go for us. Combined with a few other notable bugs (#158, #304), the conclusion for my part is that Fabulous is not yet mature enough to be a safe choice for production apps (low “employer/client acceptance factor”, so to speak).
YMMV, feel free to disagree. Thanks for hearing me out and responding to my concerns!
Thanks. I tried the ElmishContacts app and see what you mean.
Update: See new issue #383