I know ELM and LiveView both impact the browser content in a different way.
In fact at first I was wondering if LiveView could be seen as a replacement for ELM (in order to simplify my development stack/toolset).
However, since LiveView doesn’t cover the pure client-side use cases (offline !), I reconsidered ELM.
But then I thought: maybe combining them would offer some advantages?
What I had in mind as a use case:
- ELM could cover the basic page setup + the offline cases whereas LiveView could be used in all other cases (as long as it is fast enough).
- Indeed, many (most?) cases don’t require a (browser managed) client-side approach.
and LiveView is particularly fast because of the super lightweight payload in communicating between server and client.
- Also LiveView benefits of the OTP (BEAM) via Elixir with all its advantages.
So the big deal could be a central management (+ maintenance) and less client-specific issues.
What we might also need to take into account:
I hoped to find discussions between experienced people from which I could deduce what to choose as a development stack/toolset.
I’d like to avoid weeks and weeks of wasted time to discover myself the hard way what works and what doesn’t.
I read quite some opposite opinions on ELM. Some are very strong in favour of ELM and even those who moved to another stack, still admit they miss many of the facilities that come with ELM.
The latter convinces me to start and try ELM anyway.
Summary of criticisms about ELM:
- the fact that ELM is lead in a rather “dictatorial” way (although I believe a good dictator can do much better than a bad democracy ;-))
- fear: some ELM features on which one counts, may suddenly disappear without any warning?
- fear: what long-term guarantee do we have that the great leader will not suddenly find another passion and leave the ELM-ship without command in the wild ocean?
- the fact that important issues would not be dealt with, that stability of ELM would be in danger?
- an criticism also refers to difficulty of integrating ELM with external libraries (even more so in 0.19)
Thanks a lot for your thoughts on this. Do not hesitate to challenge my ideas, I’m open to it :-).