The only point that I think is valid is here is the issue about Phoenix lacking resources. Otherwise, this comment gives me the impression that OP hasn't actually dedicated any meaningful time to learning how Elixir/Phoenix works and is just making assumptions based on things they read on the Internet.
> The barrier to entry is gigantic.
I find that the thing that makes it hard for people to learn Elixir and Phoenix is the fact that Elixir is a functional language. Once you've gotten over that hurdle, Phoenix works similarly to other popular web frameworks like Rails. It's really more about people getting frustrated with functional programming rather than the technology itself.
> Deploying Phoenix is a nightmare when compared to Laravel.
Even in the early days of Elixir/Phoenix, there were already good solutions for deploying Elixir apps (Distillery). Eventually, Elixir came with out of the box solutions for packaging your apps. Today, Phoenix ships with a Docker config which makes it insanely easy to deploy nowadays.
> In Phx you have to reinvent a lot of things and often, of course, choosing the wrong path.
Can you give some examples of this? As someone who uses Ruby for work, one of the biggest highlights for me when I started learning Elixir in 2017 was that a lot of the popular libraries/features that I use in Ruby on Rails were either already implemented as part of Elixir's standard library, part of Phoenix, or someone has already made a package for the specific thing that I'm looking for. This made the switch so much easier for Ruby devs.
A good example is GraphQL support. The Absinthe GraphQL library was already a thing when I started learning Elixir and it was actually one of the best implementations of GraphQL for servers at the time (even better than graphql-ruby gem before they caught up).
> Sure try the chat demo apps Phx is famous for but beyond that it's a pain in the ass unless you are very good Elixir programmer and can bug fix and reinvent-the-wheel things out.
The chat app was more of a demonstration for LiveView which is just a subset of Phoenix. Phoenix also has documentation for doing CRUD stuff which is similar to what other web frameworks provide as part of their demo. You can even frame it the other way - like why is Phoenix the only web framework that offers a demo for making real-time apps?
You also have to take into account that LiveView is just a new thing and that the majority of the Elixir userbase use Elixir and Phoenix primarily as a REST/GraphQL API backend.
I think this is more of an issue about burn out rather than Rails itself. Ryan has been releasing videos regularly for years now and it's actually surprising that it has taken him this long to want to take a break.
Not at all. It's similar to Maven in Java. The only difference is that that Maven uses XML to define a project's dependencies, while RubyGems uses Ruby.
This article sounds like pure whining to me. Now that I've expressed my opinion on the subject, I'd like to point out the fact that the things that the author is whining about are not specific to just Ruby on Rails. Things like learning the actual language, knowing the concept of MVC, doing TDD/BDD, knowing various templating languages, databases, Javascript frameworks, and deployment are all part of the things you need to know in order to do actual web development.
Also, despite how Rails makes it easier and quicker to create web applications through scaffolding, Ruby on Rails is not a beginner's framework. It has abstracted most of the concepts that a lot of experienced developers have taken for granted and spend a lot of time into to make it easier to write applications. The downside to this is that it makes it hard for beginners to understand what happens under the hood. Let's take ActiveRecord for example. I'm certain a lot of beginners don't even know what an ORM is, but I'm pretty sure a lot of experienced developers know this already. While it may seem fine at first, when you get to the point where you actually need to do low-level SQL queries, the beginners won't even know what do to do to solve their problems.
TL;DR: If you actually agree with this article, you probably should stay away from web development.
To be fair, people get bored of mobile apps, in general, pretty easily. I remember playing Draw Something constantly for a few weeks then I eventually stopped playing because it got old pretty fast. I don't think Zynga is the reason why this is happening.
> The barrier to entry is gigantic.
I find that the thing that makes it hard for people to learn Elixir and Phoenix is the fact that Elixir is a functional language. Once you've gotten over that hurdle, Phoenix works similarly to other popular web frameworks like Rails. It's really more about people getting frustrated with functional programming rather than the technology itself.
> Deploying Phoenix is a nightmare when compared to Laravel.
Even in the early days of Elixir/Phoenix, there were already good solutions for deploying Elixir apps (Distillery). Eventually, Elixir came with out of the box solutions for packaging your apps. Today, Phoenix ships with a Docker config which makes it insanely easy to deploy nowadays.
> In Phx you have to reinvent a lot of things and often, of course, choosing the wrong path.
Can you give some examples of this? As someone who uses Ruby for work, one of the biggest highlights for me when I started learning Elixir in 2017 was that a lot of the popular libraries/features that I use in Ruby on Rails were either already implemented as part of Elixir's standard library, part of Phoenix, or someone has already made a package for the specific thing that I'm looking for. This made the switch so much easier for Ruby devs.
A good example is GraphQL support. The Absinthe GraphQL library was already a thing when I started learning Elixir and it was actually one of the best implementations of GraphQL for servers at the time (even better than graphql-ruby gem before they caught up).
> Sure try the chat demo apps Phx is famous for but beyond that it's a pain in the ass unless you are very good Elixir programmer and can bug fix and reinvent-the-wheel things out.
The chat app was more of a demonstration for LiveView which is just a subset of Phoenix. Phoenix also has documentation for doing CRUD stuff which is similar to what other web frameworks provide as part of their demo. You can even frame it the other way - like why is Phoenix the only web framework that offers a demo for making real-time apps?
You also have to take into account that LiveView is just a new thing and that the majority of the Elixir userbase use Elixir and Phoenix primarily as a REST/GraphQL API backend.