HN2new | past | comments | ask | show | jobs | submitlogin

Phoenix is great because it gives you the same productivity benefits that Rails does, but it doesn't have any of the crazy "magic", which makes it both fast and also easy to understand. When you want to learn about how something works you can pop the hood and read the source code, and it's both well-documented and easy to understand. Elixir is also functional as opposed to object-oriented, which means no leaky abstractions!

I like Vue because it's easy to pick up and it gets out of your way. It's not as complex as React, but still very powerful and extensible. Vue's browser extension is also top-notch.

I like working with them as a stack because they are both very transparent, which makes it easy to reason about when you're passing data back and forth between the server and the client. The only way I can describe it is that it feels very "natural".



How much time would you recommend spending with Elixir before moving into a Phoenix app?


Time-wise, it's hard to say. I went through Saša Jurić's Elixir in Action[1] before diving into Phoenix. But that's because I was coming from an object-oriented background (Ruby, some C#) and wanted a bit more exposure to functional programming.

Elixir is a fairly deep language, but you don't need to know it inside out to become productive with Phoenix. Obviously it depends on what type of app you want to develop, but you can probably piece together a simple CRUD app just by reading the official Phoenix guides. Everyone has a different style of learning though so it's hard to say beyond that. Ultimately, just like with Rails, knowing the language itself (i.e. Ruby) will be very helpful once you get beyond the basics.

Specifically, there were a few things that took a while for me to fully wrap my mind around. For example, data is immutable, so loops are written differently. Instead of a traditional for loop to loop over a collection, you would instead use recursion. So if you're like me and are used to reaching for a for loop or a while loop to iterate over collections, you'll need a bit of time to get used to some of Elixir's mechanisms.

[1]https://www.amazon.com/Elixir-Action-scaron-Juri-cacute/dp/1...


Awesome. Thanks for the reply. I'm comfortable with full-stack development when I'm on MEAN but I've definitely been looking to branch out. I think you convinced me to try Phoenix.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: