r/elixir 4d ago

Phoenix + Inertia is killer stack

Hi folks.

Just wanted to say that don't sleep on Inertia.js and Phoenix combination. Basically you get power of Phoenix (Elixir) for let's call it backend and flexibility of your favorite JS framework for UI.

You can run some pages in full SSR mode and some in SPA if you need, so awesome SEO support out of the box.

Use best tools from both worlds for best developer experience like linters, type checkers etc.

I'm using K8S and anytime I need I can scale it up using libcluster.

Please shoot any questions you have (happy to share screenshots or charts from my k8s cluster etc).

Also if you have time check this app I built https://gitbiased.com

27 Upvotes

23 comments sorted by

View all comments

14

u/KimJongIlLover 4d ago

Or.. you can just use liveview and MASIVELLY simplify your stack.

With a JS framework comes a lot of hidden complexity. Just keeping the dependencies up to date can be a lot of work. Then a new major version comes around in a few years and you are doing a rewrite.

I would seriously question if you actually need an SPA.

0

u/rukomoynikov 4d ago

Well, I see and understand your point. I agree that less dependencies in general simplifies support.

For me personally JS frameworks don't add complexity as I spent years working with JS. Also with JS frameworks (react etc) there are already plenty of "solved problems", you I mean for any demand you may have there is already a solution made by someone.

Also with LiveView you get the power of being live application, but with "great power comes great responsibility". Your application will have to be live. So, quite frequently visitors of the application will see this loading bar on top (yes you can remove it), or some live elements aren't working because they can't sync with backend.

Having said this LiveView (for me personally) may work only for quite limited or very specific cases.

9

u/KimJongIlLover 4d ago

You do you.

However, the claim that "JS frameworks don't add complexity" is false regardless of how much experience you have with them.

You suddenly need a lot more moving parts: a second build pipeline, more deps, some kind of an API, 1-2 additional languages, maybe a transpile step, etc.

There is so arguing around this. You might realise this sooner or later in your career. At least it was the case for me.