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

PragmaticBookshelf
Kevin Hoffman edited by Kelly Talbot @KellyTalbot Reality is event-sourced; your mind processes sight, sound, taste, smell, and touch to...
New
PragmaticBookshelf
Alexander Koutmos Bruce A. Tate @redrapids Frank Hunleth @fhunleth edited by Jacquelyn Carter @jkcarter The Elixir programming langua...
New
New
radar
by Ryan Bigg Joy of Elixir came about because I saw that there was not very much when it comes to absolute beginner material for lear...
New
AstonJ
Don’t forget you can get 35% off the ebook using the code ‘devtalk.com’ :023:
New
AstonJ
by Ben Marx, José Valim, Bruce Tate Bring Elixir into your company, with real-life strategies from the people who built Elixir and use i...
New
AstonJ
by by Fred Hebert Erlang is the language of choice for programmers who want to write robust, concurrent applications, but its strange ...
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
An Outsider’s Guide to Statically Typed Functional Programming by Brian Marick This book is about using statically typed functional p...
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

Other popular topics Top

danschultzer
None of the current solutions worked well for me, so I went ahead and built a user management system from scratch. This project took far...
548 29377 241
New
lessless
I believe there are people here who are dealing with CSV files import on the daily basis, and since Excel is a really popular tool there ...
New
jerry
Good day to you all. I have been struggling to get a query involving like and ilike to work. Can anyone assist me on this, please? pro...
New
stefanchrobot
What’s the safe way to decode a JSON string into a struct? I want to avoid calling String.to_atom. Jason.decode can give me a map with st...
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
ashish173
I am using Ecto timestamps with postgres, I can see the timestamps() use the :naive_dateime but for my use case I wanted to store the ti...
New
rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. ...
New
openscript
Hello! Sorry for this astonishing simple question, but I’m really stuck. I try to set up the intellij-elixir plugin, but I don’t know ho...
New
lanycrost
Hi everyone! I need implement if…else if…else condition from my elixir code, and anymore of this control flow structures not work proper...
New

We're in Beta

About us Mission Statement