Phoenix creator here – I'm happy to answer any questions about elixir, phoenix, or this release!
I gotta say I am a huge fan and liveview is a game changer in many ways. Great work with Phoenix.
31–40 of 62 posts
Phoenix creator here – I'm happy to answer any questions about elixir, phoenix, or this release!
I gotta say I am a huge fan and liveview is a game changer in many ways. Great work with Phoenix.
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.
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.
Phoenix creator here – I'm happy to answer any questions about elixir, phoenix, or this release!
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.
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…
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.
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.
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.
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 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.
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!
Phoenix creator here – I'm happy to answer any questions about elixir, phoenix, or this release!
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)