13 ms·
Phoenix creator here – I'm happy to answer any questions about elixir, phoenix, or this release!
by chrismccord 5y ago
Phoenix creator here – I'm happy to answer any questions about elixir, phoenix, or this release!
- CrownSoft 5y agoWhen learning elixir and phoenix, it is hard to find updated tutorials. Whenever I try an youtube tutorial, there is always an error. Can you share some updated links/books for a beginner?
- Vitamin_Sushi 5y agoNot op, but for me the official elixir site's guide help a lot. I actually read that side by side with Sasa Juric's Elixir in Action and felt like I got a pretty good understanding of elixir. For Phoenix, I've just been using the guide in phoenix's hexdocs and reading some random blogs about anything specific.
- chrismccord 5y agoThese are great suggestions. The getting started guides on Elixir and Phoenix get you moving with the basics. Beyond that, Programming Elixir, Elixir in Action, and Programming Phoenix are great book options.
- CrownSoft 5y agoThanks!
- CrownSoft 5y agoThanks!
- scns 5y agoI bookmarked this one from the last discussion of Phoenix on HN: https://sergiotapia.com/phoenix-160-liveview-esbuild-tailwind-jit-alpinejs-a-brief-tutorial https://sergiotapia.com/phoenix-160-liveview-esbuild-tailwin...
- CrownSoft 5y agoThanks!
- ch4s3 5y agoFor liveview there's Programming Phoenix LiveView[1]. The stuff on https://pragmaticstudio.com https://pragmaticstudio.com should also be up to date. You can also check out the newsletter http://elixirweekly.net http://elixirweekly.net. [1] https://pragprog.com/titles/liveview/programming-phoenix-liveview/ https://pragprog.com/titles/liveview/programming-phoenix-liv...
- CrownSoft 5y agoThanks!
- aloukissas 5y agoChris: 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.
- chrismccord 5y agoWe'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-intelligence-with-elixir-at-pepsico/ https://elixir-lang.org/blog/2021/04/02/marketing-and-sales-... Heroku: https://elixir-lang.org/blog/2020/09/24/paas-with-elixir-at-Heroku/ https://elixir-lang.org/blog/2020/09/24/paas-with-elixir-at-... Change.org https://elixir-lang.org/blog/2020/10/27/delivering-social-change-with-elixir-at-change.org/ https://elixir-lang.org/blog/2020/10/27/delivering-social-ch... And of course Bleacher Report, which has been on Phoenix since 2014, well before 1.0. On the sponsorship side, DockYard invested in my work for the last six years where I spent the majority of the year working on oss, and I've just joined https://fly.io https://fly.io where I'll spend 85% of my time working on Phoenix and related libraries. So we are well covered on the corporate sponsorship side. We also have Michael Crumm on the Phoenix team who works at Cargo Sense, where they support a portion of his time working on LiveView. Of course it would be great for other large companies leveraging value out of our work to give back, but we're well established on the sponsorship side :)
- yetanothermonk 5y agoWhat's the other 15% of your time? :)
- mrkurt 5y agoEveryone at Fly.io spends 15% of their time listening to me ask for blog posts.
- whitepoplar 5y agoHey Chris! Is there a LiveView future where one can forego javascript frameworks altogether in creating higher-fidelity UIs?
- yetanothermonk 5y agoHave you seen Surface UI? Pretty cool. Collection of LiveView components. https://surface-ui.org/ https://surface-ui.org/
- chrismccord 5y agoThat'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 collaborative code notebook with presence, realtime updates across users and operational-transform based content updates powered by LiveView, with only ~3k lines of basic JavaScript for the client-side bits like the Monaco editor.
- nickjj 5y agoHave 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.
- ecmascript 5y agoCan 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.
- losvedir 5y agoI'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.
- alberth 5y agoHi 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)
- mrkurt 5y agoYes! What you're describing is important, and roughly matches what we want for all apps. Managing apps + databases across multiple regions should be as simple as `fly region add syd`. This takes like 5 steps right now, it should take one. We're also improving the Phoenix deploy process. I don't like it when people have to see Dockerfiles. Modern app deployment needs frameworks and infrastructure to work together. Our Elixir deployment doc (https://fly.io/docs/getting-started/elixir/ https://fly.io/docs/getting-started/elixir/) will someday be replaced with, hopefully, "mix phx.deploy".
- alberth 5y agoThat’s really exciting to hear. A few follow-ups: a. Will pre-prod environments be included in those plans you outlined above (eg Dev, Test, Stage) b. Any plans to make it easier on Developers to have local/remote environments for development? (Eg GitHub Codespaces) c. Do customers typically also use 3rd party security offerings like Cloudflare in conjunction with fly.io - or do you see more customer just using fly.io without any additional protection? d. One thing that Cloudflare Workers does that’s interesting is that it deploys your webasm code to every pop/region they have & them orchestrate the communication between the regions to keep data consistent. Is similar functionality on roadmap? e. Any rough order of magnitude on timing for what you described?
- mrkurt 5y agoOur database roadmap is: 1. Self service snapshots/restores 2. Get it out of beta 3. Single command database and apps management My time estimates are always wrong, but that feels like 3 months. The really slick Phoenix release process is going to happen in parallel but it's hard to say when.