Ash will be your Django models. Once you have models (ash resources) built; you can use the Ash ecosystem to get things like a graphql or JSON endpoint (or both!) for those resources with just a few lines of code.
Right and unlike an ORM which only models the "nouns" and "relationships" of your business domain model, Ash also models the verbs.
This allows it to reveal the actions of your system externally via GraphQL or JSON API as well as modelling the data for your relational schema (although data layers are swappable and are not always relational).
But you aren’t required to use Phoenix with an Ash project. Ash will happily work as a standalone CLI, terminal app or some other Elixir web framework that comes out tomorrow.
The forms https://hexdocs.pm/ash_phoenix/AshPhoenix.Form.html seem even more low level than Django forms, and those are notorious for being too low level and annoying to work with. This to me seems to run counter to the tagline. Compare with iommi for Django where you can truly "derive the rest" from the domain model to get forms and tables.
There is definitely room for the Phoenix Form helpers to do more. Iommi looks like a really interesting approach I hadn't seen before.
For example AshAdmin (https://github.com/ash-project/ash_admin) takes these ideas further and generates a full super admin interface for you. It's a bit clunky and you should ultimately write your own admin, but it lets you focus on the important parts first.
For anyone else who hasn't seen it Iommi's motivation and docs are here:
Yea, the thing with the transparent APIs thing in iommi is that there's an admin and you can customize it just as much and as detailed as your own code. So you don't get the thing with the Django admin where you get a rough thing first and then spend hours and hours customizing and then when you hit the limit, you have to throw all that away and start from scratch. I hate that.
You can literally take 100% of the iommi admin config and copy paste it into your own custom edit forms or tables or whatever it is. It's the same config language.
I already owned the house free and clear. Was offered stupid (good) terms for a mortgage so I took it. Used the money to create a return that pays back the monthly interest and principle while still creating a return AND tax deduction.
I have changed it to explicitly state within the first paragraphs that "htmz is an experiment" now. I started this as a joke but turned into a fun working solution - I myself am not sure if this is just a joke or a thing. Maybe I'll use it in some smaller projects, or maybe not!
All power to you! No need to decide if it is a joke or not! ;)
In fact I clicked on it just because the name was so hilarious and already indicated pretty well what might be to expect (I didn't expect your particular solution though, kudos)
I also would choose Elixir/Phoenix. Having spent my career in Python/Django, Elixir/Phoenix/Live View is on another level of productivity.
For anyone needing a reason to jump into Elixir, take 40 minutes and watch this talk [1] by Sasa Juric. He communicates things so well as to all the benefits of Elixir/Erlang/BEAM.
Then take the time to read Elixir in Action book (again, Sasa) and you'll be off to the races.