5 ms·
Something I often "draw" to other developers when showing Elixir is the difference in terms of "boundaries". It is common to have: frontend <-JSON-> backend <
by thibaut_barrere 3y ago
Something I often "draw" to other developers when showing Elixir is the difference in terms of "boundaries".
It is common to have:
frontend <-JSON-> backend <-db/queue-> background jobs
Each boundary introduces complexity (marshalling / impedance mismatch / but also different HR/recruiting needs).
In Elixir you can more or less do:
front/back/background
with no boundaries or reduced boundaries (e.g. using LiveView & OBAN in the same process, even if going through Postgres as a queue).
Someone coined the term "deepstack engineer" as well recently I think, which I could draw as:
frontend <-> backend <-> background <-> machine learning
Now with Elixir you can do everything in the same process (but with isolation as required):
front/back/background/ml
And this is something I find really interesting about this stack.
- itronitron 3y agoInteresting, most of my work has been 'across the stack' but for desktop applications. This looks like a better match for me than most other approaches to web applications.
- thibaut_barrere 3y agoIt is a very good point: I did a lot of desktop apps at one point (the largest being a mixture of C# and legacy C++ wrappers), and the first time I tried LiveView it somehow reminded me of WinForms! So I can relate :-)
- Yoric 3y agoI'm curious, how do you run ML in the same process?
- thibaut_barrere 3y agoIt is just the way it is with Elixir - everything can run in the same process (or in different connected nodes): See: - https://www.youtube.com/watch?v=g3oyh3g1AtQ https://www.youtube.com/watch?v=g3oyh3g1AtQ - https://www.youtube.com/watch?v=HK38-HIK6NA https://www.youtube.com/watch?v=HK38-HIK6NA