Ash Framework (Pragmatic Bookshelf)

PragmaticBookshelf
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:

Latest Threads About This Book Top

jaeyson
Write naive tests for your policies that test as many combinations of per- missions as possible, to verify that the behaviour is what yo...
New
jaeyson
in Chapter 6. Authorization: What Can You Do? • 138 06/lib/tunez/accounts.ex base_route"/users", Tunez.Accounts.User do # ... ➤ post...
New
swrenn
Tunez is secure, authorization-wise, as it is right now, but there’s no guarantee that it will stay thay way.
New
jaeyson
Ash Framework B4: passing map instead of string in search_artists! (page 85) Custom Actions with Arguments • 67 Hi! search_artists! a...
New
swrenn
We do need some way of changing an user’s role though, otherwise Tunez will never have any editors or admins! I expected ‘a user’s role...
New
Margaret
Ask Me Anything with Zach Daniel and Rebecca Le @zachdaniel and @sevenseacat On February 24 and 25, we are giving you a chance to ask...
New
Chrichton
Dear Jessica. I am reading the new Chapter 8 now. On page 200 we create a Test Album with 3 Tracks via iex. Then the editing of the Tr...
New
daniel-gagnon
There is a mention on page 199 that support for atomic updates will be improved in the future. Could there be a link to the github issue ...
New
arcanemachine
When starting fresh with the chapter-6 branch (commit hash #bff7f585), the second test in chapter 7 fails with the following error: 1)...
New
arcanemachine
When starting Chapter 7 (All About Testing), there is an aside that says: There’s no code for you to write in this chapter — Tunez come...
New

Most Active This Week Top

swrenn
We do need some way of changing an user’s role though, otherwise Tunez will never have any editors or admins! I expected ‘a user’s role...
New
jaeyson
in Chapter 6. Authorization: What Can You Do? • 138 06/lib/tunez/accounts.ex base_route"/users", Tunez.Accounts.User do # ... ➤ post...
New
jaeyson
Write naive tests for your policies that test as many combinations of per- missions as possible, to verify that the behaviour is what yo...
New
swrenn
Tunez is secure, authorization-wise, as it is right now, but there’s no guarantee that it will stay thay way.
New

Most Active This Month Top

Margaret
Ask Me Anything with Zach Daniel and Rebecca Le @zachdaniel and @sevenseacat On February 24 and 25, we are giving you a chance to ask...
New
mattvanhorn
In the “Defining an update action” section artist = Tunez.Music.get_artist_by_id!(​"​​an-artist-id"​) should be: {:ok, artist} = Tunez...
New
jaeyson
Ash Framework B4: passing map instead of string in search_artists! (page 85) Custom Actions with Arguments • 67 Hi! search_artists! a...
New

Most Active This Year Top

PragmaticBookshelf
Explore the power of Ash Framework by modeling and building the domain for a real-world web application. Rebecca Le @sevenseacat and ...
New
daniel-gagnon
The regex on page 48 is hard to read: ~r/(^https:\/\/|\/images\/).+(\.png|\.jpg)$/ It can be improved by changing the delimiters which ...
New
arcanemachine
When starting fresh with the chapter-6 branch (commit hash #bff7f585), the second test in chapter 7 fails with the following error: 1)...
New
arcanemachine
When starting Chapter 7 (All About Testing), there is an aside that says: There’s no code for you to write in this chapter — Tunez come...
New
dkuku
I’ve worked through the book and it starts to click in my head. What’s missing for me are examples how to fallback to some lower level st...
New
daniel-gagnon
On page 15 there we load a seed file with fake bands names and info. One of them is in French and the name is not grammatically correct, ...
New
daniel-gagnon
Page 113 has the text “we can’t trust everyone in it to have free reign”. This is a famous eggcorn, the correct expression is free rein....
New
pcharbon70
Since the project is using AshPhoenix, adding a simple paragraph about ash_phoenix.gen.live could probably help newcomers to the Ash fram...
New
daniel-gagnon
The ash_phoenix.gen.live generator should be mentioned somewhere in the book because while it is not needed in any of the example given t...
New
daniel-gagnon
There is a mention on page 199 that support for atomic updates will be improved in the future. Could there be a link to the github issue ...
New
justinbkay
On page 72, near the bottom is should be " it supports sorting on multiple columns, when we only have a single drop"
New
Chrichton
I created my own tunez app from scratch using mix new tunes_hg I successfully followed the book creating the ash_resource ‘artist’. I c...
New
New
justinbkay
Because policies as part of resource definitions, should be “Because policies are part of resource definitions”
New
Chrichton
Hi Rebecca. Thanks for your quick reply. I cloned the starter app. But I think it doesn’t include the blank project? I wanted to start...
New

Most Active Last Three Years Top

Chrichton
Dear Jessica. I am reading the new Chapter 8 now. On page 200 we create a Test Album with 3 Tracks via iex. Then the editing of the Tr...
New
New

Most Active Over Three Years Top

Book Info

Publisher: Pragmatic Bookshelf
Tag: #book-ash-framework
Threads: 24

Are you this book's author? To be notified of all posts made about it, sign up an account then click here, then select 'watching' from the bell icon in the top right corner.

Get money off!

The Pragmatic Bookshelf

35% off any eBook

Simply use coupon code "devtalk.com" at checkout. See full details here.