4 ms·
After spending nearly 7 years in the Ruby and Rails ecosystem, I changed jobs and have been working in with Elixir and Phoenix for nearly 3 months. I have been
by oomkiller 11y ago
After spending nearly 7 years in the Ruby and Rails ecosystem, I changed jobs and have been working in with Elixir and Phoenix for nearly 3 months. I have been very satisfied with the process. The community is amazing, the tooling is unbeatable, and the quality and availability of open source libraries is great, especially for such a young project. The future looks very bright for Elixir and Phoenix!
- rhizome31 11y agoDo you mind sharing what kind of project you develop? And even maybe what company you work for?
- oomkiller 11y agoCan't say much about the details yet, but I work here: http://www.reactionhousing.com/ http://www.reactionhousing.com/ :)
- jjbohn 11y agoThat looks fun :)
- hartator 11y agoMaybe a stupid question, but why would you need something like exilir?
- oomkiller 11y agoI like Elixir because of its ability to do distributed computing, fault tolerance/HA, binary pattern matching, speed, and more. You don't need Elixir, but it makes a lot of stuff much easier to do.
- ffn 11y agoAgreed. One of the many things that makes Phoenix/Elixir great for us rails/ruby refugees is that it's built by other rails/ruby refugees. In many ways, we have all the good things that our old masters DHH trailblazed with rails, but at the same time, very little of the mess that also came with the trail-blazing. That being said, I do miss active_support though; Elixir's utility libraries (fox, pipe, croma, etc.) doesn't yet have all the easy automagic that made rails so simple to develop on.
- aaron-lebo 11y agoI downvoted you and I wanted to say why: 1) Referring to DHH and others as a "our old masters" instinctively bothered me. 2) While I appreciate that Elixir and Phoenix have Rails connections and can learn from it, I'd prefer it not become just a place for Rails refugees where it turns into a huge circle jerk about how Rails is terrible and Phoenix is great (which happens all too often in communities). Other than that, I agree. But we should start something new.
- fredoliveira 11y agoI appreciate the honesty here, but don't see how this is a reason to downvote his comment. His comment contributes meaningfully to the discussion.
- hackerboos 11y agoThe flip side is that everyone is trying to write Ruby packages and projects in Elixir rather than thinking out of the box as to what is best for this new programming paradigm.
- fierycatnet 11y agoHypothetically speaking, why would you choose Phoenix over Rails for a new app?
- colbyh 11y agoBetter for building out services. Parallel processing. The supervised process abstractions are incredibly powerful. If you're building another Twitter I would still use Rails. You'll be much more productive. On the other hand, if you need to run parallel tasks or have mission-critical (aka can't go down for anything) work to be done I think you'll find Elixir the perfect combination of Ruby's syntax and Erlang's power. Just my $.02 - I'm having a blast with Elixir at the moment.
- aaron-lebo 11y agoNah, if you really are trying to build the next Twitter Rails is a poor choice for architectural and scaling reasons. No need to repeat Twitter's own mistakes. On the other hand, if you are just building another web app, Rails is the better choice...
- colbyh 11y agoI mean, if you're building an app for Twitter scale on day one you're already doing something wrong. But yeah.
- ghayes 11y agoPhoenix shares many features with Ruby on Rails, e.g. a strong MVC model, an integrated ORM, a routing system, etc. What Phoenix on Elixir excels at is concurrency and distributed computing. For applications, this means you can have many active web sockets, for instance, where Rails applications tend to break down when you have too many active connections. Phoenix uses erlang processes for these tasks, which are lightweight and can number millions on a single machine. As an example, Heroku uses cowboy (the erlang web server that Phoenix uses) for load-balancing incoming connections to all Heroku applications. The erlang VM (BEAM) is great for these types of highly concurrent, highly available, distributed tasks. The original use case for erlang was highly available phone switching for Ericsson.