AstonJ
I’m not sure about anyone else, but I’ve been more than content with the promise of Phoenix; a fast, highly scalable and productive (i.e. enjoyable!) web framework. So I haven’t really been thinking about a Phoenix wish-list since it’s already giving me what I wanted.
LiveView changed that! ![]()
So that got me thinking - what else is there that we might love to be in Phoenix - no matter how big of a leap or a dream it might be ![]()
Trending in Discussions
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
New
Hey there,
It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
I am happy to introduce the very α version of the new programming language compiled to BEAM.
Welcome Cure.
It has literally three kille...
New
Quite interesting article Google brought me. Didn’t find any mentions about it here.
What do you think in general? Would you use togethe...
New
Since we have deprecated our Erlang sections (as we have dedicated Erlang Forums now) let’s add this thread for those who’d like to post ...
New
:warning: Security advisory: Decimal DoS vulnerability
A vulnerability has been published for decimal where very large exponents can cau...
New
What IDE or editor are you using for Elixir development?
Personally, I use Zed, and I really like it, but sometimes I wish there were a ...
New
Other Trending Topics
Hi there! We created Gust: A task orchestrator inspired by Airflow.
For those who have never heard about Aiflow, it’s a Python-based wor...
New
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself.
My main conc...
New
Aludel - LLM Evaluation Workbench
Aludel is an embeddable Phoenix LiveView dashboard for evaluating and comparing LLM prompts across mult...
New
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #library
- #deployment
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #elixirconf
- #channels
- #exunit
- #discussion
- #code-sync
- #podcasts
- #javascript
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixirconf-us
- #ai
- #blog-post
- #elixir-ls
- #phoenix_html
- #iex
- #graphql
- #genstage
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #hex
- #security
- #metaprogramming










Showing Posts 1 to 10- Show Best Posts
- Show All (oldest first)
- Show All (newest first)
AstonJ
For me, so far Phoenix ticks two of the boxes (speed/scalability, and soon, making front end easier thanks to LiveView) and the only other thing that would make me even more ecstatic is… doing something similar for Mobile! Imagine if we could create native mobile apps (even if just via their web view - like some of the current Mobile frameworks) as easily as what LiveView is going to enable us to do for web apps? How cool would that be?
Wonder if we all chip in and buy Chris a pack of these each it might actually happen?
https://twitter.com/chris_mccord/status/1039190145927454720
dimitarvp
I think you nailed the two near-future aspects:
What I would like to see in Phoenix next would be something a bit more academic: state machines. For example, I already coded orders, carts, line items, fulfillment etc. e-commerce details in PHP, Ruby and Elixir about 12-13 times in the last 5 years already. And the truth is, a rather straight-forward (if a bit hard to express and code initially) state machine would have eliminated most bugs right from the get go. No small amount of real-world abstractions can be coded with state machines. Of course, the trouble comes when you have to ask the question: “alright this is so well working and abstracted now but what about special cases X, Y and Z?” – and there’s always something like that happening. Not sure I have a good solution for that yet.
yurko
why would you want it in Phoenix? Erlang has it so we can use it right now gen_statem — OTP 29.0.2 (stdlib 8.0.1) but all in all imo it’s somewhat low level for a web framework.
dimitarvp
Exactly because of what you said – it’s low level and if we have more first-class-citizen support that would help us reduce bugs.
But it’s mostly just a desire without me giving it much thought yet. Elixir is pretty good at making DSLs so I imagine that would be the easy part. How would that integrate with the rest of Phoenix and not confuse people however, would definitely be much more challenging.
kokolegorille
As a side note there is an Elixir wrapper for gen_statem.
https://github.com/ericentin/gen_state_machine
yurko
Well wouldn’t it make sense to just use the Erlang’s one “under the hood” in the services that need it and expose the public API for Phoenix related parts (channels, controllers etc.)?
dimitarvp
As of today, yes, of course it does. This still entails the mandatory steps of you devising a flow using REST / GraphQL / something-else which will utilize the state machine under the hood. My point here is to have a SM + Phoenix implementation that can generate routes and “controller” (state movement?) functions, allowing you to plug custom code at places, all the while keeping all the SM + network delivery mechanisms (again: REST / GraphQL / what-have-you) cruft to a minimum.
The curse of digging a bit deeper into the scientific part is beginning to notice how the world invents and reinvents wheels all the time, and stumbles at the same problems almost every time. So this is just a generic high-level laundry wish-list borne from that feeling.
yurko
OK, I understand, though I’d rather implement it myself using low level functionality then have it in Phoenix - it would be way too magick-y otherwise.
There is definitely some truth to that
dimitarvp
I sympathize with that point of view. I myself also don’t want the feeling of “things just somehow work” that I got when I was working with Rails. Functional languages’ explicitness is a a huge breath of fresh air for the brain.
Having an optional SM would be the optimal solution – an “advanced” tool for whoever has the experience to use it. However, having a bunch of optional features can only make the framework complex and confusing with time so it’s probably for the best for this to be a community project and not a part of Phoenix…
yurko
Well, that’s a +1