Live data from Hacker News

Phoenix 1.6, RC0 released

phoenixframework.org

31–40 of 62 posts

Re: Phoenix 1.6, RC0 released

#31

Phoenix creator here – I'm happy to answer any questions about elixir, phoenix, or this release!

Can you answer another, more personal question: How do you stay motivated and productive? What is your best tips?

I gotta say I am a huge fan and liveview is a game changer in many ways. Great work with Phoenix.

Re: Phoenix 1.6, RC0 released

#32
post #19

Earlier quoted context omitted.

Chris: how do you feel about what's needed to make Phoenix as "core" of a technology like other similar projects like Django or Rails? The latter are used by huge companies, which have vested interest in keeping these technologies around and evolving. Is it corporate sponsorship from companies using Phoenix? Note, I've used Phoenix/Elixir as the core technology in the last of the 3 companies I've been in.

Ruby companies like AirBNB, Stripe ended up edging out their competitors using the relatively glacial Java or C++ frameworks. We will need to see a new generation of Phoenix winners before Elixir is taken seriously. It could be that the marginal performance gain from using Elixir is not worth the hassle of training and hiring in a whole new language. It remains to be seen.

Sorry but i can't help myself, "marginal"? Bleacher Report replaced 150 Ruby servers with 8 running Elixir.

Re: Phoenix 1.6, RC0 released

#33
post #23

Earlier quoted context omitted.

We're already there. We have huge companies using elixir and phoenix, with phoenix powering the web platform for the majority of them. Several great case studies exist on elixir-lang.org if you're interested, ie: Pepsi: https://elixir-lang.org/blog/2021/04/02/marketing-and-sales-... Heroku: https://elixir-lang.org/blog/2020/09/24/paas-with-elixir-at-... Change.org https://elixir-lang.org/blog/2020/10/27/delivering-so…

It's worked out really well for us at PepsiCo, it's basically our go to for in house application development on the eCommerce side. We'll be hiring some elixir devs again soon.

Would you happen to know if you (the company) hire international candidates?

Re: Phoenix 1.6, RC0 released

#34

Phoenix creator here – I'm happy to answer any questions about elixir, phoenix, or this release!

I've dabbled with Phoenix 1.6-dev (after seeing it in action and being mindblown in the livebook code), and think the new HEEX components are great.

Building a LiveView app out of components, and sending messages back to the server and re-rendering, feels a lot like building a react app! This is a real intuitive and easy to use flow. (I remember when react came on the scene and its "one way dataflow" was so groundbreaking to me.) That said, a react app where every state update is a round-trip to the server is probably not ideal. I know that there's the PETAL stack for this sort of thing. I guess my question is: with so much functionality available in pure Elixir/LiveView, what's your decision process when embarking on a new app about when to try to get by with just that, vs bringing in react or a full SPA frontend and simple API backend?

Separate question: what's the best dev environment and tooling for Elixir/Phoenix/LiveView these days? My VSCode setup is pretty great for React, particularly with format-on-save nesting and indenting my JSX properly. I miss that when working in (h)eex templates.

Re: Phoenix 1.6, RC0 released

#35
I'm loving the direction that Phoenix and Elixir is taking. I am well invested in my current company but one day if I get a chance to work with it professionally I will be very happy. The tooling is evolving at a quick pace and is super powerful already out of the box.

Re: Phoenix 1.6, RC0 released

#36

Earlier quoted context omitted.

Hey Chris! Is there a LiveView future where one can forego javascript frameworks altogether in creating higher-fidelity UIs?

That's really the goal, and for a large class of applications we are already there. Higher-fidelity UIs is pretty vague and there is absolutely a limit to where you necessarily need a bunch of code running on the client. Google maps & docs? Millions of lines of JS is inescapable, but dashboards, feeds, chats? LiveView excels here. We don't yet know where the limit is, but if you look at Livebook, we have a collaborat…

Have you done any comprehensive profiling of Livebook? It would be really interesting to see how it runs on low end or average cloud hosting providers under load.

I'd love to see how many thousands of concurrent users could be interactively using and collaborating on a Livebook that's running on something like a $15 / month server. You could show off the memory, CPU usage and the latency of responses with varied amounts of load.

IMO that would be a very useful thing to look at and could push folks into using Phoenix more so than they already do because having a bunch of tiny websocket connections open (the old 2 million connection benchmark) isn't really relatable to a typical web application that you mentioned people are building like dashboards, feeds and other things. Livebook is a concrete application with features that might appear in many other web apps.

Something like that would be worthy of a demo video at a talk or even your YouTube channel if you were ever fishing around for what people in the community might want to see.

Re: Phoenix 1.6, RC0 released

#37
post #19

Earlier quoted context omitted.

Chris: how do you feel about what's needed to make Phoenix as "core" of a technology like other similar projects like Django or Rails? The latter are used by huge companies, which have vested interest in keeping these technologies around and evolving. Is it corporate sponsorship from companies using Phoenix? Note, I've used Phoenix/Elixir as the core technology in the last of the 3 companies I've been in.

Ruby companies like AirBNB, Stripe ended up edging out their competitors using the relatively glacial Java or C++ frameworks. We will need to see a new generation of Phoenix winners before Elixir is taken seriously. It could be that the marginal performance gain from using Elixir is not worth the hassle of training and hiring in a whole new language. It remains to be seen.

Stripe, Shopify and GitHub are still largely relying on Ruby as far as I know (and while there are reimplementations of some of their services in some languages, I don't think C++ or Java have been publicly mentioned often).

That said, I think one important asset of Elixir (in my view) is not the raw performance, but the overall "total cost of ownership" (including maintenance work, and software is a lot of maintenance).

Being able to simplify architectures is something that is nicely done with Elixir, actually.

If a part of an app needs to play a "proxy" role (like here https://github.com/etalab/transport-site/tree/master/apps/un...), then I just add a component to the app, and I can keep the incoming connections under hand, all while issuing external queries etc.

If there is a need to do some rich interactive dashboards, I can use LiveView.

If I need to demonstrate some simple stuff, I can use "Mix.install" to create one-off scripts.

If I need to do more data-science, I can tap into LiveBook, VegaLite etc.

All this with a small team or as a solo developer, is quite great, much more than raw performance, in my eyes.

Re: Phoenix 1.6, RC0 released

#38
post #19

Earlier quoted context omitted.

Chris: how do you feel about what's needed to make Phoenix as "core" of a technology like other similar projects like Django or Rails? The latter are used by huge companies, which have vested interest in keeping these technologies around and evolving. Is it corporate sponsorship from companies using Phoenix? Note, I've used Phoenix/Elixir as the core technology in the last of the 3 companies I've been in.

Ruby companies like AirBNB, Stripe ended up edging out their competitors using the relatively glacial Java or C++ frameworks. We will need to see a new generation of Phoenix winners before Elixir is taken seriously. It could be that the marginal performance gain from using Elixir is not worth the hassle of training and hiring in a whole new language. It remains to be seen.

I am really confused by this comment. "Companies leveraging a quick to develop in, batteries included framework, with really poor performance, beat out companies using highly performant but less quick to develop in languages/frameworks, is reason why I'm suspect about a quick to develop in, batteries included framework that also prioritizes real time communication, with quite solid performance, and really predictable latencies".

I mean...the argument about "the hassle of training and hiring in a whole new language" applied just as much when Rails took off. While Ruby had been around since the mid-90s, it was definitely an esoteric language for the decade or so prior to Rails.

Will Phoenix penetrate as broadly as Rails? Probably not, since Rails already exists, and now benefits from having a lot of people who know it. But being able to reduce hardware costs by 90% while giving up little of the flexibility, and bundling in a lot of real time features can be quite compelling; we'll just have to see.

Re: Phoenix 1.6, RC0 released

#39
"Phoenix also now includes swoosh by default for mailer support and a new phx.gen.notifier task for generating a notifier for sending email along with a dev mailbox for local development."

Crap. I literally just built this out for a personal Phoenix project two weeks ago (using Bamboo instead of Swoosh because I could get it working for SES more easily). Guess I'll see about adopting the official and probably far better solution. Since there are also published upgrade steps. CURSE YOU FOR BEING SO HELPFUL, PHOENIX DEVS!

Re: Phoenix 1.6, RC0 released

#40

Phoenix creator here – I'm happy to answer any questions about elixir, phoenix, or this release!

Hi Chris

Excited to see in this thread you joining fly.io

Can talk about what (if) any plans exist to make deploying Phoenix apps at fly easier.

Said another way, I’d love to click a button to deploy my app to be (a) globally distributed, (b) managed global database, (c) managed operating systems, (d) managed dns.

Basically heroku for Phoenix (and more)

Post reply on HN