shankardevy

shankardevy

Ash Framework Build Fast, Model Right (self-published)

Dear Elixir Alchemists

I’m happy to share that I’m working on my 2nd series of books (See my first one here) and this time it’s about Ash Framework. I have been using Ash lately for all my projects and I simply love it. It greatly reduces the amount of code that I write and helps me express my business requirements clearly once I understand how to use the Ash Framework.

What I noticed is that there aren’t enough structured learning resources for Ash Framework. Elixir Forum is a great place to get specific answers for problems you might encounter with Ash. I’m grateful for the Ash Core team who are always available to answer these questions. It’s my main learning resource. Ash Docs is a great place to look into for a detailed reference guide. Finally, the Ash Core team has recently released a book (currently in beta).

What I missed in my learning journey is, given a set of most common tasks that I would do in building an app, how can I get it done in Ash Framework. This is exactly what I’m covering in my upcoming books in the series Ash Framework Inside Out Series.

The first book “Ash Framework: Build Fast, Model Right” is in progress. With due respects to all the available resources that I have mentioned above, this book addresses the gap in quickly adopting Ash Framework. As there are ample resources for learning Phoenix and LiveView, this book exclusively focuses on Ash—helping you rapidly build models, relationships, migrations, and all types of simple to complex queries using an example of building a complete project management app.

The book covers more than 150+ common tasks that developers face in building applications using concrete examples.


What will you learn?

The book contains 10 different chapters with over 150+ learning objectives.

Ash Domain & Resources
Learn how to define structured data models using Ash. You’ll set up resources, organize data, and understand how Ash simplifies domain modeling.

Attributes
Define and manage data fields with type safety, default values, and constraints like required fields or unique values.

Relationships
Learn all the standard one-to-one, one-to-many, and many-to-many relationships, polymorphic associations the Ash way.

Aggregates
Fetch summarized data like counting tasks in a project or calculating averages without writing complex queries.

Calculations
Compute dynamic values, such as formatting names, calculating totals, or deriving statuses based on other fields.

Validations
Ensure data integrity by enforcing rules, like checking email formats, preventing empty fields, or restricting input ranges.

Identities
Set up unique identifiers like emails or usernames to prevent duplicate records and improve data consistency.

Actions
Learn to define how data is created, updated, deleted, or retrieved, using meaninful business-model related action names.

Changes & Preparations
Learn how to use Changes and Preparations to modify data before saving or modify how the data is fetched.

Notifiers
Trigger real-time updates, send emails, or call webhooks when data changes, making your app more interactive.

The book costs $39.95 when released but right now on pre-order, the book is available for ~40% discount at $23.95. Besides a great deal of savings, your pre-order is also a great motivation for me as I write this book. The book releases on 30 April, 2025. Preorder the book at:

with much regards to the community

Thank you
Shankar

Most Liked

zachdaniel

zachdaniel

Creator of Ash

I haven’t finished it yet, but it is very impressive! :clap:. Not that anyone should have doubted it, but I can vouch for the correctness and utility of at least the first 3rd of the book. Well done!

And of course @shankardevy, thanks for the shoutout :person_bowing:. Nothing makes me happier than seeing what people are able to accomplish with the tools that myself and the Ash community build :heart:

Will continue my read through this weekend :smiley:

EDIT: it may not have been clear, but I recommend this book for anyone who wants to use Ash to its fullest extent :fire:

shankardevy

shankardevy

Thank you to everyone who pre-ordered the book. I’m truly grateful for your trust and patience. I’ve just emailed the copies to all of you.

For others who are wanting to purchase the book, you can buy it now from devcarrots.com for a 20% special launch week discount!!

Happy learning Ash!

zachdaniel

zachdaniel

Creator of Ash

Very cool :heart:. So excited to have more resources for folks to learn and apply Ash! Best of luck on the book :tada:

Where Next?

Popular in Books Top

meraj_enigma
New book from Packt publication that goes into teaching how to write a web framework using Elixir. About this book Elixir’s functional...
New
AstonJ
By Simon St. Laurent If you’re new to Erlang, its functional style can seem difficult, but with help from this hands-on introduction, y...
New
radar
:wave: You might remember me as the author of Joy of Elixir: https://forum.elixirforum.com/t/joy-of-elixir-self-published-free/ I’ve got...
New
PragmaticBookshelf
Sean Moriarity @seanmor5 edited by Tammy Coron @Paradox927 From finance to artificial intelligence, genetic algorithms are a powerful to...
New
New
PragmaticBookshelf
Tony Hammond Series editor: Bruce A. Tate @redrapids Developmental editor Jacquelyn Carter @jkcarter Data is everywhere—it’s just not ...
New
Eiji
The Ecto recipes were originally written for the “What’s new in Ecto 2” ebook and then made open-source by Plataformatec. Since then, the...
New
PragmaticBookshelf
Andrea Leopardi @whatyouhide edited by Jacquelyn Carter @jkcarter TCP, UDP, DNS, HTTP, and more: these are the network protocols that ma...
New
peerreynders
by Darin Wilson and Eric Meadows-Jönsson Languages may come and go, but the relational database endures. Learn how to use Ecto, the prem...
New
peerreynders
Don’t forget you can get 35% off the ebook with your forum discount, use code ‘devtalk.com’ :023: Available in beta now
New

Other popular topics Top

sen
Hi All, I set a environment variables in dev.exs , like below code. when i start server, how can i set the ${enable} value? thanks. d...
New
New
sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
985 42920 311
New
TunkShif
This post is an instruction guide to help you setup your Neovim for Elixir development from scratch. It includes general information on h...
274 41539 114
New
Nvim
Anybody knows a comprehensive comparison of Django and Phoenix, thanks for the help. Where are they similar? Where do they differ the m...
New
vrod
I am using the Starship cross-shell prompt – it seems pretty nice, but I get some errors: [WARN] - (starship::utils): Executing command ...
New
sergio_101
I am VERY much an elixir newbie. I have taken one elixir course and one phoenix course on Udemy. During that course, I saw the instructor...
New
AstonJ
Please see the new poll here: Which code editor or IDE do you use? (Poll) (2022 Edition) It’s been a while since we first asked this, I...
208 31142 143
New
Brian
What is the proper way to load a module from a file in to IEX? In the python world, doing something like this pretty standard: from ....
New
axelson
This post is a wiki (feel free to hit the edit button near the bottom right of this post to add your own changes!) This post collects co...
239 47930 226
New

We're in Beta

About us Mission Statement