I tried to like Phoenix and the ecosystem, I really tried.

But the experience so far has been very rough and off-putting.

First, the installation process. I tried to install Ellxir following the docs on the elixir website on my mac. I ended up with being unable to compile new Phoenix project and spend an hour of installing and uninstalling asdf then native libraries etc. Until this day I am not sure if the things I installed are good or the Erlang versions are bad and Elixir as well.

The docs are not good at all. Very, very spotty, API reference like, not a good experience compared to Laravel docs. You should really put more effort, at least for the installation part and maybe do it yourself on a fresh mac computer if it works what you write in docs.

Then the IDE experience. I am using the official Elixir LS extension and Phoenix extensions and there is no hightlighting in parts, formatting is weird. Emmet is spotty, bad, bad first impression. PHP support in VS Code seems to be great (which compared to JS/TS is very bad) compared to Elixir/Phoenix. So, again, disappointment.

Then the tutorials and the lack of them or their quality or out-of-date-ness. This is mostly targeted at Phoenix and Liveview specifically. Elixir tutorials seems to be pretty accurate and things works if you follow them.

But the Phoenix and especially Liveview tutorials are not-working 9 out of 10 times.
Also, the tutorials seems to be of lower quality than from PHP or JS world where you can find some excellent people who know a lot and are good communicators.

Low quality of basic stuff. This was my biggest surprise. I was SHOCKED when I saw that the official auth library has hardcoded strings for text the user sees despite Phoenix having Gettext out of the box.

This is a rookie mistake and I don’t know what to think about that. Either you don’t care - which makes things even worse, or you have not enough experience with real life web projects and what is the real life necessity of websites.

And my next observation of the lack of named routes just proved my point. As I said in the other post of mine there is a reason why Laravel after the version 2 adopted named routes in the version 3. Now it’s at version 11, just to let that sink in. I won’t be repeating myself again but in that link post I write about why named routes are a non-negotiable thing.

There are projects like Routex that could possibly make this named routing a bit better, if one could rename the original default language or not. I don’t know because I wasn’t able to make it work, you can read more about this experience of mine here. The git cloned thing of the demo didn’t work either. You can try for yourself: GitHub - BartOtten/routex_example

The other mentioned cldr localized routes library doesn’t work either because the docs mention something about installing a backend and some other additional extension but doesn’t provide links to them or any explanation. You should probably follow the author for a year first and familiarize with this libraries from his tweets/exes.

As I spend time in this ecosystem I noticed a trend of unfinished, half-finished, beta mentality. In Laravel, you can pick any core library or any library from Spatie and you are 100% sure it WILL WORK.

This is not a thing with Phoenix. I haven’t found a library that would work flawlessly. Even the aforementioned phx.gen.auth library by the core team is not working as expected, things flicker when you click on buttons, it’s rough. Everything is hardcoded - seriously I still can’t fathom how this is accepted.

And I hear people on this forum that nobody is using phx.gen.auth anyway. Wtf?

I am sorry I can’t after that take the developers seriously.

Either you care about your product or not.

Look at this website or the Phoenix website. They look abandoned. When I go to Laracasts forum or Laravel official website, they improve it all the time, add new features, do styling updates and fix bugs. Here? This website and Phoenix website look super old, non-presentable to a person from 2024 who is experiencing other websites on the Internet.

For example, the video about the chat application on Phoenix website will be probably 10 years old next year.

The syntax highlighting on this forum is broken and doesn’t work as it should as can be seen here.

The design is subjective but if we are being objective both this forum and Phoenix official website are not very good looking. Let’s be honest.

Take a look at the Gleam’s website. I really suspect it was created as a revenge to Elixir/Phoenix and showing you guys how it should be done. Young blood I guess. They even have a language tour: https://tour.gleam.run/

Elixir and Phoenix don’t care.

The thing is that… this is a two-way thing.

Now, I don’t care.

Is my experience unique? Do others have great time with Phoenix?

People in the comments will say: “Yes”.

The reality will say: “No”.

And the reality matters, so don’t believe the media, Theo, Prime, and others when they say Phoenix is great. No, it’s not. It’s beta at best… in both senses of the word.