Advice for choosing between elixir and nodejs

I have been lurking around here some days now and heard (read) lot of good about this community.

Now I could need some advice or a second opinion for choosing elixir for my personal projects. All my ideas are web related and some are in IoT world. So far I have used Angular6 for frontend, and nodeJs/typescript for backend REST service and I deploy with kubernetes.

Stack is mostly chosen based on tech that is used at work.

I just started developer career, I have background in QA/automation engineer, so I do not have much experience of writing big applications yet.

Im kind of between 2 choices NodeJs or elixir.

1 Like

Im kind of between 2 choices NodeJs or elixir.

I’d suggest you try writing an “MVP” version of your project in both and continue with the one you like best.

Have a look at this thread :003:

That chapter of Programming Phoenix is free to download :023:

1 Like

Without knowing anything about what you are building, I’ll agree with the “build a small version in both” and compare. There’s a lot to see.

If you are doing any amount of websocket work, you’re going to like Phoenix channels. I’ve had Node developers tell me they chose node for websockets and will never go back after using channels.

There’s a lot to love. From a practicality standpoint, knowing Node is always going to be beneficial. From a branching out standpoint, never stop learning.

It reall depends on what your goal is:

  1. If you want to make it into software development as a career, you should chose node.js as the number of jobs available for a node.js dev is an order of magnitude higher than jobs available for Elixir devs.
  2. If you are doing this for other reasons, you should definitely give Elixir a try, Elixir has an awesome project called nerves which should be great for IoT stuff.

Book “Programming Phoenix” has by far best opening chapters I have ever read.

This “” looks pretty amazing.

At first I thought would miss something out if I try elixir. Like using kubernetes to deploy elixir app.
But that’s not the case and now I don’t really have any good reason not to try out elixir.
I will give it a try, If anything it can only make one a better developer.

1 Like

I like the decoupling between your frontend (angular) and backend (whether it’s nodejs or elixir or …).
this will make it a lot easier for you to extend your web app into a native app or something else (re)using the same backend (and approach in general) for all of them.
I use nodejs/mongodb for small projects that aren’t critical to anyone and don’t require a lot of maintenance - it’s very fast to set up and works just fine.
as soon as data integrity becomes a factor you’ll probably want postgresql… at which point you’ll probably want to use elixir/ecto rather than nodejs.