Ash Framework (PragProg)

Explore the power of Ash Framework by modeling and building the domain for a real-world web application.

Rebecca Le @sevenseacat and Zach Daniel @zachdaniel

edited by Kelly Lee @k.lee

Ash Framework is the game-changing toolkit for Elixir developers. With modular, plug-and-play building blocks, Ash slashes development time, effort, and complexity, letting you do more with less code. Design declarative, customizable domain models that are easy to maintain and optimized for performance. Shift your focus to what to build, instead of how, using Ash’s intuitive design principles. Tackle bigger challenges and build scalable, future-proof web applications with confidence. Elevate your Elixir skills and revolutionize your workflow with Ash.

Discover a dynamic new way to build web applications with Elixir and Ash Framework. Ash enables you to structure and organize the code you write in a declarative programming style so you can build functionality more quickly and answer complex questions about data more easily.

Start with a Phoenix LiveView app and grow it into a fully functional system as you master Ash’s core principles. You’ll build the domain model for a music database throughout the book. As you create this model, you’ll learn how to define resources with ease, connect them through adaptable relationships, and enrich your models with calculated attributes and aggregates to make your data work smarter. Secure your app with seamless authentication and authorization policies that integrate cleanly across APIs and user interfaces. Skip the busywork by generating REST and GraphQL APIs from your resources, freeing you to focus on building standout features. From dynamic search and nested forms to pubsub and real-time updates, you’ll explore practical, real-world scenarios at every turn.

Coauthored by the creator of Ash, this book is packed with insider knowledge, best practices, and actionable guidance to get you started fast. By the end, you’ll have the skills and confidence to create applications that grow with your needs.


Rebecca Le is an active contributor to Ash Framework. She is a coauthor of Rails 4 in Action and has many years of experience in building web applications.

Zach Daniel is an experienced software engineer and the creator of Ash Framework. He has a passion for declarative design, functional programming, and contributing to the open source community.


Don’t forget you can get 35% off with your Devtalk discount! Just use the coupon code “devtalk.com" at checkout :+1:

7 Likes

Looks like a good read and given how complicated Ash seems to newbies and vets alike, it was about time this book was written :slight_smile:

Looking forward to reading it soon.

3 Likes

Never know this framework. Sound very interesting.

2 Likes

Thanks a lot for writing this book. I wanted to learn Ash for some time now.

I have one question and one comment::
Question; Why does the tunez sample use node.js?
I was so happy to get rid of it and use esbuild.

Comment: I wasn’t sure how to start to build the tunez app from scratch.
I started with phx.new tunez and then used igniter to install ash and so on.
Maybe it would be nice to explicit tell to use phx.new.
(I hope, I am right about that)

Thank you again, Heiko

1 Like

Hi there! This is one question that’s come up a couple of times, so we may remove this requirement moving forward. Our Tunez app uses DaisyUI for styling, via an npm package, and we also include another package for cute little autogenerated avatars. We may look at vendoring these libraries, or including them via CDN, to remove the NodeJS requirement.

Ash itself doesn’t require NodeJS at all, only the Tunez app does :slight_smile:

If you wanted to build a new app from scratch using Ash, you could use Igniter to set it up, following the steps in the blue box on pages 3/4 (though the reference to igniter.install should be igniter.new).

To follow along with the book and build out the Tunez app, you should clone the starter app from GitHub at GitHub - sevenseacat/tunez: The starter application for the Ash Framework book . It’s all set up ready to go to start building!

1 Like

6 posts were split to a new topic: Ash Framework Book: various errata

7 posts were split to a new topic: Ash Framework: some comments

@sevenseacat @zachdaniel @k.lee

First, thank you for making the Ash Framework book available in beta form. It’s been incredibly informative and helpful!

I noticed a small issue on page 29 of the PDF version (B1.0):

“The form has a phx-validate event handler attached…”

It seems this should refer to a phx-change event handler with the event name validate. While this is specific to LiveView and the context makes it clear enough for readers to understand, I thought it’d be helpful to point it out early.

This isn’t meant as nit-picking—just a small contribution to help polish an already fantastic resource.

Oh wow, you’re totally right! And you’re not nitpicking at all - it’s a bug in the text and I’ll fix it :slight_smile: Thank you for spotting that!

1 Like

3 posts were split to a new topic: Ash Framework: Chapter 8