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
Bruce A. Tate @redrapids and Sophie DeBenedetto @SophieDeBenedetto edited by Jacquelyn Carter @jkcarter The days of the traditional requ...
New
peerreynders
Don’t forget you can get 35% off the ebook using the code: devtalk.com :023: Note: Check out this thread for help running code in lat...
New
AstonJ
https://www.packtpub.com/sites/default/files/B04907_MockupCover_Normal.jpg by Kenny Ballou Elixir, based on Erlang’s virtual machine a...
New
AstonJ
By Simon St. Laurent, J. David Eisenberg Elixir is an excellent language if you want to learn about functional programming, and with thi...
New
AlchemistCamp
EARLY ACCESS (currently in writing, estimated length: 40 pages) Hi. I’m Mark and over the past two and a half years, I’ve been teaching ...
New
PragmaticBookshelf
Isaak Tsalicoglou Built for the curious, this isn’t your average programming book—it’s nearly 500 pages of hands-on mentorship beyond cod...
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
AstonJ
Don’t forget you can get 35% off the ebook using the code ‘devtalk.com’ :023:
New
AstonJ
by Lance Halvorsen Elixir and Phoenix are generating tremendous excitement as an unbeatable platform for building modern web application...
460 27861 124
New
arpan
:waving_hand: Hey Elixir Enthusiasts! I’ve got something cool for you. It’s a free book on Elixir that dives into the nitty-gritty of co...
New

Other popular topics Top

senggen
Erlang/OTP 25 [erts-13.2.2] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] 15:22:35.803 [error] gen_event {lager_file_backend...
New
lastday4you
I wanted to check elixir version in phoenix because i found that my elixir is 1.5 but when i use Enum.chunk_by it said the function is un...
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
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
Lily
In templates/appointment/index.html.eex: <%= for appointment <- @appointments do %> <tr> <td><%= appoi...
New
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New
aalberti333
As the title describes, I’m trying to run Enum.map() over a list of key/value pairs, where the value is a map. My data looks like this: ...
New
fayddelight
I tried installing elixir 1.11.2 erlang 23.3.4 via asdf in my zsh shell. Enabled the versions locally and globally. When I list them ...
New
jason.o
In the code below, if the create action is not set to accept “extra_key” as an input, it errors out with a message shown above. Is there ...
New

We're in Beta

About us Mission Statement