Live data from Hacker News

Phoenix 1.0

phoenixframework.org

41–50 of 228 posts

Re: Phoenix 1.0

#41
post #33

This is awesome! I've been working with Phoenix for a bit now, and aside from the fact hex/phoenix doesn't yet have all the libraries that rubygems/rails have, Phoenix has blown my expectations out of the water. For such a big and complex framework, the entire functional plug system (functional is love, functional is life) makes the whole thing easy to grok in a way utterly unimaginable in a traditional rails framewo…

> By the way, in case core team is reading, what's the motivation behind removing infer_model_view from the render functions?

I'm not on the core team, but speaking as an Elixir user, explicitness trumps all virtues.

Re: Phoenix 1.0

#42
post #22

Earlier quoted context omitted.

Do you have any blog posts on task-queues and email sending/receiving? I'm trying to learn Phoenix and Elixir by rewriting an app I have that does just this. Sidekiq has been great as a background worker, but I'd like to try concurrency elsewhere.

Just wrote something on [sending errors by emails]( http://reganmian.net/ ). The full code is here: https://github.com/houshuang/survey , including my job module https://github.com/houshuang/survey/blob/master/lib/job_work... . The code worked well for me, mostly because it registers errors and retries (I had problems with rate-limiting of Amazon SES), however it's not parallel right now. I will probably rewrite it t…

Wow, this is awesome. Thanks for sharing!

Re: Phoenix 1.0

#43
If this framework gets too popular they'll probably rename it to Firebird. Let's just hope there isn't already another open source software called Firebird.

Re: Phoenix 1.0

#44

I primarily use Django REST Framework for APIs... has anyone moved from Django to Phoenix and can give a report on how the developer productivity compares currently? If it's not there yet I'm sure it will get there as the community grows but how is it now?

I'm a Django developer working who works with Phoenix in my free time, and I can say I prefer it.

However "Developer productivity" seems like an excessively vague term, and would be hard to compare in any meaningful way.

Re: Phoenix 1.0

#45
Does Elixir have any kind of signal processing capabilities ala numpy/scipy for the Python ecosystem? I'm doing some stuff right now using a django/nodejs hybrid system (glued together manually) and I'd love to be able to do everything in one language. But the DSP support (seemingly) isn't there in the javascript ecosystem yet.

I'd really love something built on erlang because of all the theoretical problems that just don't happen because of the way it's built.

Re: Phoenix 1.0

#46

I primarily use Django REST Framework for APIs... has anyone moved from Django to Phoenix and can give a report on how the developer productivity compares currently? If it's not there yet I'm sure it will get there as the community grows but how is it now?

Phoenix is more like Flask in that regard and definitely doesn't come batteries included like Django (no auth, no admin, no cache backends etc) so it would be more work to build something as full-featured as DRF on top of it.

Having said that, I've found it easy to get along with retuning JSON and the actual speed of responses is incredible. Completely anecdotal and unscientific but one service I recently converted from DRF to Phoenix saw drops in avg response time of 350ms to about 15ms.

Re: Phoenix 1.0

#47
post #22

Phoenix and Elixir are really great tools. I spent the summer building a bunch of interactive components for an EdX MOOC ( https://imgur.com/a/rAXVz ), and got to try out a lot of Phoenix capabilities (channels/websocket support is great!), but also using underlying Elixir/Erlang libraries for task-queues, email sending and receiving, etc. Super stable, never able to get our server above a few percent of CPU :)

Do you have any blog posts on task-queues and email sending/receiving? I'm trying to learn Phoenix and Elixir by rewriting an app I have that does just this. Sidekiq has been great as a background worker, but I'd like to try concurrency elsewhere.

If you're curious about the framework as well, here's the source for an app I made for peer-to-peer file sharing in Phoenix: https://github.com/hayesgm/fuego. You can try it out here: https://fuego.link

Phoenix has really been exciting to use. It's a great way to get introduced into the OTP system from Erlang (plus all of Erlang's modules), it's incredibly fast, and the immutable data structures make it easy to reason about your concurrent code. I would strongly suggest giving it a try.

Re: Phoenix 1.0

#48
post #39

Earlier quoted context omitted.

Ecto isn't an ORM since Elixir isn't OO. Terminology aside, Ecto identifies more as an Integrated Query Language in a similar vein as LINQ does in the .NET ecosystem. As someone who has used lots of ORMs I find the switch to a libary like Ecto very refreshing. It has an intuitive and very composable querying API and friendly DSLs for defining schemas and validations. These are the baseline features of any database/mo…

I've worked with multiple ORMs (Hibernate, Rails ActiveRecord, and Grails GORM), and I've always been able to easily switch betweens RDBMS's unless I specifically decided to step out of the ORM and use a DB-specific feature or query. I'm not sure what you mean here?

By switching I mean I want one query to go to this database and another query to go to a completely different database at the same time. Can you do this in other ORMs? Yes. Does it almost always involve a third party library that monkey patches your ORM's connection pool? Yes.

Re: Phoenix 1.0

#50
Congratulations to the whole team! Thank you for all your hard work! Phoenix has so far been a joy to work with.
Post reply on HN