Have you used or are thinking about using the Ash Framework?

If you’re wanting to see examples of the compile-time validations, you can check the Ash Core source. Right here are a few files named validate_*, those are some of the post-DSL-compile checks, in this folder specifically for relationship configs. E.g. for relationships, it checks that the specified related resource exists, and that it has the attributes expected/specified, etc.

If you want examples of using Ash, Todoish and the AshHQ are the best I can think of off the top of my head.

7 Likes

For those looking for some concrete examples, part 2 of the LiveView Mastery collab video does a feature review to show various features of Ash in action. Building Twitter with Ash + Creator of Ash Framework (Part 2) - YouTube

12 Likes

That interview is very good as it shows what Ash is actually all about.

I think you mention this as well: it’s hard to get a feel for this by just looking at the docs, and hard to show that it scales with tiny programs and examples.

I’m now definitely thinking of incorporating it into my next side-project.

Edit: typos

1 Like

I just wanted to jump in here and give a shout out to @zachdaniel

I recently decided to try Ash on a section of an app that I’m working on and ran into a snag with a calculated field on an embedded resource. I joined the Ash Framework Discord and posted my problem to the support forum. Zach replied within a few seconds (and I do mean seconds). After a short discussion he determined it was a bug and had it fixed in the main branch for me to test. Unbelievable! :heart: :green_heart: :blue_heart: :purple_heart:

So yeah, I just wanted to echo what others have said. Zach is very responsive to support questions etc.

Great work Zach! Thank you!

16 Likes

For anyone interested in checking out an Ash sample application there’s now an Ash version of the RealWorld demo app at https://codebase.show/projects/realworld?category=fullstack. Realworld has a large number of demo apps that all implement the same functionality in different tech stacks, allowing you to compare implementations. The specification is to build a Medium clone called Conduit.

GIthub Repo

11 Likes

I’m just bumping this topic to get the buzz on what people think of Ash Framework these days.

I still haven’t spent a lot of time with it, but I would like to get a pulse on what the community is saying about it, since there hasn’t been a lot of meta-discussion on the subject lately.

Do you use it? Does it work for you? Pain points? Pleasure points?

Would love to hear some feedback from the Ash community. :slight_smile:

6 Likes

We use Ash at ScribbleVet. It does a lot, and imo one of the biggest benefits is having a standard way of doing things (eg. authorization policies) for all the parts of the app. There are also enough escape hatches that we’ve never gotten stuck. It definitely lives up to its promise of model your domain and derive the rest.

The biggest issue we’ve had is that it does so much and the documentation is a little hard to go through, so it can be hard to figure out the Ash way of doing things. But once you do it’s usually quite quick and elegant. I ask questions in the Discord when I’m stuck (though I think they prefer asking her in elixirforum), and I always get a quick response.

Overall Ash feels like the future (I wouldn’t be surprised to see equivalents popping up in other languages just like what happened with liveview), and joining now is being an early adopter, with the pros and cons that come with that.

10 Likes

I use it a lot since 2 years for lots of client projects (internal banking tools , ML-engines)

Ash has been a game-changer for me. It replaced a lot of home-made libraries for working with data.

The best time-saver is the migration generator for me, also “code_interface” allows
to write tons of helper functions in a future-proof way.

cons: Documentation is a pain, but that seems to be the sole goal of V3

3 Likes