When elixir and phoenix are worth using?

Hello everyone! I hope I can make myself clear about this topic basically I want to know when is worh using elixir and phoenix. When we search about elixir/phoenix we hear a lot about distribution and scalability but most of web applications I risk saying the great majority are ‘‘simple’’ CRUD with some business rules. On these cases is elixir worth using or is better to keep using those most common solutions as java, php, .NET and so on

Hello! It is perfectly fine to use it for a “simple” CRUD app. Very easy in fact as the generators build most of that for you, if you go in for that sort of thing. Probably be a whole lot quicker than doing it in .NET or Java.

Also, it might not be as popular as those languages you mentioned, but certainly not uncommon.

1 Like

Yeah I know it can be used but is it worth using elixir to solve these kinda of problems? Why would a team choose elixir to build their internal plataform to register their products and things like that over some php, java or other popular language solution?

Whether or not it’s “worth” it to you to use elixir/phoenix is an entirely personal decision and not one the forum can make for you. But for some perspective I’ve been running Phoenix on a single node quite happily for the past few years, at a scale where it largely doesn’t matter what tech stack we use. The reason that I’ve decided this path is because 1) the high quality of libraries in the elixir ecosystem. I much prefer ecto’s model to active record, for instance. And also 2) I generally prefer functional programming to OOP, and I find the strict rules on immutability to remove several mental hoops I felt like I needed to jump through to determine what was happening at any one given point in my system. As a bonus, pattern matching. I did not come to elixir for pattern matching but having gotten used to it, it’s the one feature I could not live without in any programming language that comes after elixir.

As you may have noted, these reasons are all highly personal, because for me elixir is the best choice. But that doesn’t mean it’ll be the best choice for everyone or maybe even for you. Hopefully this gives you something to think on.

1 Like

Because they enjoy using it of course :wink:. The developer experience is great and it is so quick to build things with Elixir, Phoenix and LiveView.

But you might choose the language that everyone in the team already knows, if that exists.

If you are happy with your current tech stack, don’t switch. Most people here will not evangelize Elixir/Phoenix as a religion unsolicited. If you have a unfulfilled need please come back to ask whether Elixir/Phoenix can help you in that case.

2 Likes

I’ve written many Sinatra scripts in Ruby. Fast and simple. But I could never get Ruby multi-threading to work reliably.

Now instead of Sinatra, I use Elixir with Mix.install and Plug.Cowboy. Easy to write a single-file rest service in a few minutes.

The Elixir win comes when your server process has to perform multiple functions concurrently. You can run a Rest Service side-by-side with Websocket server, pubsub, counters, job processors, etc.

IMO Elixir and OTP is the best platform for multi-function concurrent services. :wink:

1 Like

You need to provide us with the bigger context. “Worth” implies some kind of investment that’s needed to do this in Elixir vs some other stack.

Did you mean to ask: “is it worth investing time in learning Elixir to build a simple CRUD app when we already know and are proficient with some other stack X?”

To that I answer:

  • If you want to learn Elixir and have the relevant resources (time, managerial approval) - yes,
  • Otherwise, no.

I’ve built a simple CRUD app in Elixir as a side project because I just :heart: Elixir. And it’s my main programming language at this point.

1 Like