Yes, but everyone knows that scaling will come and how costly rewrites are (many won’t happen). Phoenix is already known to scale and should just keep its current performance characteristics.
I think Chris will continue to tackle the hard challenges of advanced distributed systems and José continues to increase the quality of life for us alchemists even further. They (and all contributors) already are extremely nice, so let’s also be nice (one meme that made ruby great!).
The key aspect of ruby’s success was rails, many people come for frameworks first and learn the language later. So, Phoenix’ Performance, scalability, features and ease of use is already on a great level. The “other” frameworks have just one advantage: getting started initially may be faster due to the availability of plugins for common tasks. This is where we as a community can make the difference. Eg:
- drop-in Admin panel like django (exadmin is pioneering here, but still not as automated as it could be)
- zero config users/auth plugin. José doesn’t want just another Devise clone. But we should experiment and pick a single winner, fragmentation on this critical functionality is very bad. Have a look how this topic is solved in meteor.js directly in the core, the best and most dev-friendly solution i’ve seen.
- many small packages that make rails great
I have seen many people choose their tech stack based on those two points alone. For example:
“hey, in meteor i have the complete User Account system with login via email/facebook/… already available without a single line of code! Start a Project, choose a place for the login buttons, done!”
Yes, I know its just 10 minutes in phoenix to get going by hand (as seen in the phoenix book), and there are some plugins that require quite a bit of setup time. But do not underestimate the importance of zero-config here. Many projects get started as “what if…” Throwaway stuff and almost everyone requires user logins, maybe even at late night when I don’t feel like configuring for minutes before trying my idea. The accessible accounts functionality right in the core is the primary reason why my colleagues and me pick Meteor for fast prototypes (which often end up in production). And you see how often people ask for this exact feature.
This is an example of something that we as a community can tackle, and it WILL make a difference if done properly. I personally can’t do this right now, but I will give back on topics where I’m good at (eg my elixir-scrape and more to come).
Sorry for the long post, but I just wanted to highlight that we’re not far away from being a great “getting started” framework with phoenix and it is in out hands to achieve it. This is the last huge advantage of the earlier frameworks. And if phoenix wins by raw objective advantages across the board, elixir will win, and great things may happen.