Chris McCord, Bruce Tate, and José Valim

Pragmatic Programmers


book eBook


94%
34.0% 57.0% 8.0%

Check price

Programming Phoenix

Productive |> Reliable |> Fast

Don’t accept the compromise between fast and beautiful: you can have it all. Phoenix creator Chris McCord, Elixir creator José Valim, and award-winning author Bruce Tate walk you through building an application that’s fast and reliable. At every step, you’ll learn from the Phoenix creators not just what to do, but why. Packed with insider insights, this definitive guide will be your constant companion in your journey from Phoenix novice to expert, as you build the next generation of web applications.

Phoenix is the long-awaited web framework based on Elixir, the highly concurrent language that combines a beautiful syntax with rich metaprogramming. The authors, who developed the earliest production Phoenix applications, will show you how to create code that’s easier to write, test, understand, and maintain.

The best way to learn Phoenix is to code, and you’ll get to attack some interesting problems. Start working with controllers, views, and templates within the first few pages. Build an in-memory repository, and then back it with an Ecto database layer. Learn to use change sets and constraints that keep readers informed and your database integrity intact. Craft your own interactive application based on the channels API for the real-time, high-performance applications that this ecosystem made famous. Write your own authentication components called plugs, and even learn to use the OTP layer for monitored, reliable services. Organize your code with umbrella projects so you can keep your applications modular and easy to maintain.

This is a book by developers and for developers, and we know how to help you ramp up quickly. Any book can tell you what to do. When you’ve finished this one, you’ll also know why to do it.


Reviews

Elixir Forum @elixirforum
We've teamed up with the awesome Pragmatic Bookshelf to bring you a great competition - a chance to win a copy of the highly acclaimed Programming Phoenix by Chris McCord, Bruce Tate, and José Valim.

positive

Daniel @ThrashAbaddon
For ASP.NET Core you said great IDE is a plus, well here you wont need an IDE. Now if you want to see how an elixir & webapp looks like take a good look at Programming Phoenix.

positive

Marciol @marciol
I'm now reading Programming Phoenix and Learn You Some Erlang for the Great Good, and after that Elixir in Action and Designing for Scalability with Erlang/OTP (O’Reilly), so I think that start Programming Phoenix would be a good choose.

positive

Sasha Fonseca @sashaafm
Programming Phoenix is a wonderful book and great for beginners.

positive

Aston @AstonJ
If so why not read Programming Elixir 1.3 up to the end of chapter 14 (the language bits) then switch to Elixir in Action which will help reinforce what you've learnt but also give you a great insight into concurrency and OTP, and then back to the rest of PE when you've finished EIA. After that, go on to Programming Phoenix and any other books that interest you.

positive

alamba78 @alamba78
Does Prag Prog ever give discounts above 25%? I'd really like to get Programming Phoenix and Designed for Use 2E. 25% off through this forum is nice but I think Prag Prog could step it up a bit, at least when you buy 2 or more books.

positive

alamba78 @alamba78
Oh wow, I was hoping to get into Programming Phoenix by May.

positive

Chris @Chris
I'm working through the Programming Phoenix book, and am enjoying myself so far - I've learned a whole bunch, it's a great book.

positive

Ryan Bigg @radar
It would be good to get some information from a newbie like yourself which goes into detail about what things the Programming Elixir / Programming Phoenix books did not explain too well.

positive

Sasha Fonseca @sashaafm
The Programming Phoenix book and other beginner friendly resources use Comeonin which has Bcrypt (not sure if it can be considered exactly the same as Guardian?). I've been using it in my project and it's nice.

positive

@tme_317
In my case, starting from zero having some knowledge of Ruby/Rails helped immensely with learning Elixir/Phoenix. Basically I went through Michael Hartl's excellent Ruby on Rails tutorial (https://www.railstutorial.org/) . Then I read the Dave Thomas' Elixir book followed by Chris McCord's "Programming Phoenix". Finally I re-read the Hartl tutorial from start to finish implementing solving everything with Elixir/Phoenix instead.

positive

@beedsson
First of all, I hope it is allowed to ask questions about a specific book, yet since "Programming Phoenix" seems to be fairly widespread inside this circle, I'm bold enough to do so.

positive

Lance Halvorsen @lance
If not, the fabulous Programming Phoenix book will more than fill in any gaps.

positive

Vasspilka @vasspilka
Lastly about learning Phoenix there is the Phoenix book, "Programming Phoenix", its a really good book to get you up and started, I know 2 books to buy might be a bit too much.

positive

Christiansakai @christiansakai
Looking at the rest of the topics, I don't see it in any way that any of topics are advanced (Reusable Button Component, Connecting Redux, Basic Redux, Connecting React Channels, Validating Forms, Basic of Analytics, to name just a few, etc). Again, I feel that it looks like a blogpost (or a Quickstart docs). On the contrary, Programming Phoenix, though basics, but filled with detail sections of how Phoenix, Ecto, Plug, and Channel works.

positive

Marc Linsangan @kabisote
When I first discovered Phoenix, I fell in love with it because I understood it easily and got productive with it quickly because of the official guides and the Programming Phoenix book.

positive

Marc Linsangan @kabisote
I really really hope that the official guides and the Programming Phoenix book will be updated very soon.

positive

James Anderson @james
When I create new projects from scratch everything works great (going through the PragPro programming Phoenix book).

positive

@peerreynders
So it is not surprising that Programming Phoenix assumes basic familiarity with Elixir, HTML and JavaScript - and as such "Phoenix Examples" would likely not make good examples for beginning programmers.

positive

@Fernando
Programming Phoenix 1.2 its still good for 1.3?, or are there many changes?

positive

Yurii Bodarev @Molly101
@kujua Thanks, I just want to understand how to compare this book contents with Programming Elixir and Programming Phoenix books

positive

Sasha Fonseca @sashaafm
I personally haven't seen guides online but I've read the Programming Phoenix book and can totally recommend it for Phoenix in general and to learn how to test Phoenix applications.

positive

Andrew MacKenzie @mackenza
I would really like to get Programming Elixir and Programming Phoenix... the problem is I am sort of old school in that I have not had much luck learning from eBooks and prefer hard copy.

positive

Barry @brightball
The absolute best thing I can tell you is to pickup a copy of Programming Phoenix.

positive

David Kuhta @david
I'll second @sashaafm's recommendation for the Programming Phoenix book, as it has some really helpful tutorials on ExUnit testing.

positive

Andrei Skorokhod @andre1sk
I am pretty sure Programming Phoenix 1.4 will be even better

positive

@axelclark
I realized I needed to understand the fundamentals better, so I went back through the Programming Phoenix OTP chapter. I added an app to my project to get the status of the docks for the local bike share service using the OTP chapter as a guide.

positive

Barry @brightball
Gave me a solid foundation to experiment and tweaked my interest enough to get the Programming Phoenix book.

positive

Murphy @murphy
However if you want to start learning elixir by doing something practical, i can recommend the programming phoenix book tho.

positive

@ion
Yes, you're right. ( I've also read the book ) To clarify, I was referring to an emphasis on the rumbrella app architecture in the Programming Phoenix 1.3 book than the 1.2 version since the latter focused mainly on the Rumble app architecture, and I think the Rumbrella architecture would be the right approach (with exceptions) for large and/or disparate enough apps.

positive

Aston @AstonJ
I think I am going to go through this course after finishing Programming Elixir (hopefully Programming Phoenix will be updated by the time I am done )

positive

Patryk Nowak @PatNowak
I read Programming Phoenix and for me it wasn't that much advanced (I have RoR and Python background), but I'm pretty sure that this book is not harder to grasp than eg.

positive

Sam Corcos @samcorcos
Fair enough, though I'm not sure your premise that books are way cheaper is accurate: Programming Phoenix is $47, or $23 if you just get the digital version.

positive

Tobias Pfeiffer @PragTob
I can say that I liked the programming phoenix book a lot.

positive

Jamie Dumont @jdumont
I've read through the Ecto docs, re-read the relevant sections in Programming Phoenix, and even tried to get the "a-ha!" moment from looking at projects like Phoenix Trello, as it has similar associations.

positive

@peerreynders
As far as I recall, Brunch 2.1.3 was installed locally via Phoenix 1.1.6 which is the recommended package for working through Programming Phoenix.

positive

Alex Wochna @awochna
I've read (Programming Elixir and Programming Phoenix), made a presentation and presented it (Introduction to Phoenix and Elixir), and now I'm working on building a project to help with distributed web applications, creating open source packages in Elixir as I go.

positive

Voger @voger
Right now I am reading again programming phoenix and I saw "custom types". This got me thinking how many features like this does Ecto have and I am not aware of them.

positive

Scott Thompson @easco
When "Programming Phoenix" was in beta, I commented to the writers about the fact that the book sort of starts from an assumption that you are a web application developer, and to a lesser degree, a developer familiar with Rails. They were sympathetic but mentioned that they had to choose a starting point and began there.

positive

Daniel @ThrashAbaddon
elixir & elm, something like in programming phoenix book.

positive

Stuart Bain @stuartbain
I own a copy of Programming Phoenix by Chris/Bruce/Jose and, like many, I am eagerly waiting for the updated edition that covers Phoenix 1.3.

positive

James Wheaton @uranther
Overstock.com has Programming Phoenix, and last I heard they still support checkout with Bitcoin.

positive

Jonathan Soifer @jaysoifer
• Programming Phoenix: Productive |> Reliable |> Fast (USD 30.82)

positive

Nathanl @nathanl
It sounds like the original statement in "Programming Phoenix" may have been based on some assumptions rather than specific measurements.

positive

Sam Corcos @samcorcos
But just for the sake of argument, Programming Phoenix (which I also own) doesn't cover many advanced topics either.

positive

Henrietta Alexander @halexander
He is author of Crafting Rails Applications and Programming Phoenix as well as an active member of the Open Source community.

positive

Juan @sotojuan
Can someone remind me if Programming Phoenix book will be a free upgrade for 1.3?

positive

Tristan Edwards @t4t5
"Programming Phoenix" is a great book, no doubt about that!

positive

Aston @AstonJ
Also don't forget you can get 25% off both Programming Elixir and Programming Phoenix via your control panel on our competition sites (we are giving away a copy of each per month).

positive

Trevoke @Trevoke
Unfortunately I don't know where to find the documentation for the javascript code, I've always just reached for the Programming Phoenix book.

positive

Aston @AstonJ
I'm not sure whether to finish Programming Elixir next, or start Programming Phoenix (or maybe read them together?) - I'm itching to get a Phoenix done... but not sure whether I should wait for the book to be updated for 1.3 (/contexts etc).

neutral

Aston @AstonJ
I might continue with PE for now then, and see if we hear anymore of when Programming Phoenix might get updated...

neutral

Aston @AstonJ
Are there many things out of date in the current version of Programming Phoenix?

neutral

Aston @AstonJ
Programming Phoenix - due to be updated for Phoenix 1.3.

neutral

Aston @AstonJ
I think once Programming Phoenix is updated to cover contexts people will 'get it'.

neutral

Aston @AstonJ
Programming Phoenix

neutral

Aston @AstonJ
Programming Phoenix is out today

neutral

Aston @AstonJ
The only Phoenix book I know of at the moment is Programming Phoenix - however I have not read it myself yet.

neutral

Aston @AstonJ
After this I'm not sure whether I will start reading Programming Phoenix (quite possibly if it's been updated for Phoenix 1.3) or I might get started on my first Phoenix app.

neutral

Aston @AstonJ
Programming Phoenix

neutral

Aston @AstonJ
Programming Phoenix

neutral

Willie Loh @willieLOH
Programming Phoenix (67%)

neutral

Willie Loh @willieLOH
Currently reading Programming Phoenix.

neutral

Paul Andrei @TeddySmoker
I am currently at chapter 8 in Programming Phoenix (and I love it so far), but I've encountered this strange error while testing login with a password mismatch.

neutral

Ryan Bigg @radar
I later read through Programming Elixir and Programming Phoenix.

neutral

Muhammad Hilmy Fauzan @muhifauzan
After all of that, I'm planning on moving to Programming Phoenix book.

neutral

Ckhrysze @ckhrysze
I began the programming phoenix book, but then got involved with a side project with some friends.

neutral

Ckhrysze @ckhrysze
- reading and working through programming phoenix

neutral

Hugo Estrada @hugoestr
I have read Elixir in Action, Metaprogramming in Elixir, halfway through Programing Elixir and Programming Phoenix.

neutral

Sasha Fonseca @sashaafm
I'm not sure but I think I bought Programming Phoenix with 40% off during the Christmas discounts.

neutral

Sasha Fonseca @sashaafm
Programming Phoenix - by @chrismccord, @josevalim and Bruce Tate

neutral

Sasha Fonseca @sashaafm
I've got Programming Elixir by Dave Thomas, Programming Phoenix, Introduction to Elixir (haven't read this one yet) and Little Elixir and OTP Guide (midway reading it).

neutral

Juan @sotojuan
Programming Phoenix has been updated a couple of times, and Programming Elixir was given an update for 1.2.

neutral

Juan @sotojuan
I've watched this and it's not really much different than Programming Phoenix.

neutral

Juan @sotojuan
I started with Programming Elixir 1.2 and now going through Programming Phoenix.

neutral

Mike Buhot @mbuhot
Programming Phoenix

neutral

@peerreynders
However anybody working through Programming Phoenix has been advised to use phoenix version 1.1.6:

neutral

@peerreynders
Programming Phoenix

neutral

Shankardevy @shankardevy
I also explain various deployment options that you can put to use in your project, which doesn't have any mention in "Programming Phoenix".

neutral

@peerreynders
True, sticking with the most current version can deepen the learning experience - if one is prepared to accept the (sometimes significant) additional time investment and frustration - which in the case of "Programming Phoenix" shouldn't be too bad - though in general to a large extent it depends on one's background and experience.

neutral

@hbs
I'm about to tackle Phoenix with the book "Programming Phoenix".

neutral

Christiansakai @christiansakai
* Programming Phoenix

neutral

Benjamin Milde @LostKobrakai
The book "Programming Phoenix 1.3" is scheduled for release in December this year.

neutral

SM @sriki
I have been reading Dave Thomas's Elixir 1.0 book and just finished Part-II (OTP & Agents section). I bought the Programming Phoenix book today and debating whether I should jump into that rightaway or finish part-III of the Elixir book

neutral

Denis @dgamidov
I suggest it after Programming Elixir and Programming Phoenix.

neutral

Denis @dgamidov
Use RailsConf16_phoenix on Programming Phoenix by Chris McCord, Bruce Tate, and José Valim

neutral

Denis @dgamidov
Next day after I have bought Programming Phoenix and Programming Elixir there was 40% off on these books!

neutral

Denis @dgamidov
I suggest it after Programming Elixir and Programming Phoenix.

neutral

Nicola Hauke @jasinai
I bought 'programming phoenix' and now I'm here to ask questions, if I have some.

neutral

@jamilabreu
However, the official guides and the Programming Phoenix book haven't been updated yet for Phoenix 1.3.

neutral

@Fernando
Now im learning phoenix, first i read programming phoenix with documentation or searching when i didnt understand something.

neutral

James Wheaton @uranther
-- Programming Phoenix

neutral

Kelvin Stinghen @kelvinst
I would wait for Programming Phoenix 1.3, or would not update to 1.3 yet.

neutral

Nelson @nelsonic
while trying to follow the examples in Programming Phoenix (book) release P1.0,

neutral

Jsonify @jsonify
I also went through the Programming Phoenix book a couple of time and then have also been following some detailed Medium posts as of late.

neutral

Boris Gnezdilov @sysashi
Also looking forward to get Programming Phoenix when it's out and gonna be on sale

neutral

Andrei Skorokhod @andre1sk
Programming Phoenix Book and

neutral

Shankardevy @shankardevy
But in general, it should be comparable to the size of Programming Phoenix or Rails Tutorial.

neutral

Shankardevy @shankardevy
I am one of the early adopters of both Elixir and Phoenix and have read the book "Programming Phoenix" from the creators.

neutral

Jose Samonte Jr. @dyowee23
Still, can't wait enough for Programming Phoenix 2nd ed

neutral

Chris @chrisalley
Chris McCord's Programming Phoenix covers some of these, although you may need to do further reading for more in depth explanations of some concepts.

neutral

Saša Jurić @sasajuric
I don't have any plans to write a Phoenix book, since I think this space is nicely filled with Programming Phoenix, and upcoming Functional Web Development with Elixir, OTP, and Phoenix.

neutral

Saša Jurić @sasajuric
Personally, I think Programming Phoenix and Functional Web with Phoenix cover the Phoenix space very well, so I don't have plans to cover that space

neutral

David W @sudostack
It gives you the context you need to understand "behaviours". Then, as others suggested, read the Programming Phoenix book.

neutral

FrigidCode @frigidcode
Once I finish Learning Elixir, I am moving to Programming Phoenix, and then Elixir In Action.

neutral

@ion
If I recall correctly, this topic (e.g., umbrella applications) was going to be addressed in an update to the Programming Phoenix book (1.3 update?). If that is the case, it makes grokking this concept easier for readers and beginners, alike.

neutral

Stefan Houtzager @StefanHoutzager
I worked myself through some tutorials: mainly "programming elixir", "elixir in action" and at last "programming phoenix". After that I started on a learning project for which I thought elixir with it's actor model and phoenix with it's channels (soft real-time communication) would be ideal.

neutral

Marc Linsangan @kabisote
However, the official guides and the Programming Phoenix book haven't been updated yet for Phoenix 1.3.

neutral

Kostonstyle @kostonstyle
When will the book Programming Phoenix 1.3 going to be release?

neutral

Rich Johnson @shaolingeek
I am walking through the Rumbl app in Programming Phoenix, though I have renamed it to Shaolin.

neutral

@zinclozenge
It wasn't until I went over Programming Phoenix that I saw a 'real-world' example with the wolfram infosys backend that gets built in the book as part of the Rumbl app.

neutral

@zinclozenge
Then I went through Programming Phoenix and quite a few phoenix tutorials, especially channels.

neutral

Wyattbenno777 @wyattbenno777
So when is the release date for the paperback version of Programming Phoenix..?

neutral

@snake117
I've been learning through Programming Elixir 1.2, Programming Phoenix, learnelixir.tv, and learnphoenix.tv

neutral

Aston @AstonJ
Programming Phoenix is also in the process of being updated

neutral

Jeremy Montesinos @JeremM34
It appears the book "Programming Phoenix 1.3" is released since December 2017 but in : https://github.com/phoenixframework/phoenix/releases

neutral

Hoegbo @Hoegbo
Then just get stared with the Programming phoenix book and read up in programming elixir as you need.

neutral

@ciastek
I've started with "Programming Elixir" and then moved to "Programming Phoenix".

neutral

Dina @soundstruck
|> Programming Phoenix

neutral

Paulsullivanjr @paulsullivanjr
I would read Programming Phoenix.

neutral

Adam Libuša @adamlibusa
All the tutorials that I have gone through as well as the book "Programming Phoenix" by McCord, Tate and Valim just covered basic uses cases.

neutral

Jamie Dumont @jdumont
My thought was that when a button is clicked from the page, a create action on the ConversationController fires with data about the Item and using Repo.preload the Item's user (the seller). The buyer's user account could then be picked up from the connection as per Programming Phoenix.

neutral

Charles Han @omin
If you have Programming Phoenix book, You can follow along the book or jump to a section by using git tags.

neutral

@idiot
Maybe try comparing your code with https://github.com/terakilobyte/rumbl or some other github repo which can be found by googling "github:programming phoenix".

neutral

Andrejs @andrejsm
So I read the afore mentioned book along with Programming Phoenix and in 2 weeks I started to rewrite Meteor project into Phoenix framework.

neutral

Wilmar @Asimov
I am just going through the step by step sample application in Programming Phoenix (by Chris McCord, Bruce Tate, and José Valim). I am on chapter nine.

neutral

Voger @voger
In "Programming Phoenix" page 186 it says

neutral

Stuart Welham @swelham
Currently working my way through Elixir in Action and Programming Phoenix

neutral

alamba78 @alamba78
I can't wait to get into Programming Phoenix as well!

neutral

Andrés Pérez @Oxyrus
Those are my exact same thoughts for Programming Phoenix, I don't know how many things have changed since they published the book, but for sure there are a couple.

neutral

Digitalcraftsman @digitalcraftsman
After reading 'Programming Phoenix' I'm planning to write a Wunderlist clone.

neutral

Nathanl @nathanl
"Programming Phoenix" includes this statement:

neutral

@agustif
Wouldn't just make more sense for the Prag team to update it's book to Programming Phoenix 1.3: Umbrellas in Contexts, they updated their Elixir book, don't see why not do it with the phoenix counterpart.

neutral

@axelclark
I was looking through the Programming Phoenix book and found the implementation for the Wolfram Info System in the OTP chapter is very similar to what I'm doing. It uses a Supervisor with a strategy of :simple_one_for_one, starts a Task for each request, then awaits the results.

negative

Shankardevy @shankardevy
Also most of the topics covered are different from what Programming Phoenix covers to avoid overlaps.

negative

Barry @brightball
When I first read Programming Phoenix and saw advocating using the database constraints to avoid race conditions instead of the "do everything in the framework" mentality I'd observed from so many others I had to do a triple take to make sure I wasn't dreaming.

negative

@tme_317
I found Elixir through tweets and blog comments from like-minded rebels then went through the guides of Elixir then Phoenix then Programming Elixir followed by Programming Phoenix. Finally I went through the Hartl tutorial again, re-developing it all with Elixir/Phoenix instead. Although as a beginner you are spending a little extra time learning some Ruby before getting into Elixir I didn't feel like any of this was a waste. You don't spend too much time dealing with OOP patterns and Rails magic to be unlearned and I found everything learned was VERY easily applied to Elixir/Phoenix due to the similar syntax of the language, iex vs irb, mix vs bundler+rake, routing framework/helpers, exunit vs minitest, eex vs erb, etc. With this foundation, Elixir and Phoenix is actually much easier to understand actually since you can much more easily introspect the inner workings of the framework.

negative

Shankardevy @shankardevy
I consider all the three approaches above to be different from "Programming Phoenix" as it doesn't cover them. (at least as of the latest published version). Please correct if I am wrong.

negative

@JamboJustin
I've got authentication working using the same session-based system as in Programming Phoenix but some of the tests have been failing.

negative

@Desty
That was about 2 months ago, and since then I worked through "Take Off With Elixir", most of the Elixir School and am about halfway through "Programming Phoenix", although there are a couple of errors or outdated bits in it.

negative

Nelson @nelsonic
On the "Programming Phoenix" book's errata page: https://pragprog.com/titles/phoenix/errata there is another person reporting an issue with the same code but their error is different ...

negative

Christiansakai @christiansakai
No offense, but I am enrolled in upcase.com, elixirsips.com, learnelixir.tv, learnphoenix.tv, and I also have metaprogramming elixir, programming elixir, programming phoenix, OTP in action.

negative

@shifters
Any ideas? Is this a real problem or am i doing soemthing stupid - following programming phoenix P21

negative

@ion
In chapter 8 of Programming Phoenix, the user_test.exs failed, located in testing_mvc/listings/rumbl/test/models/user_test.exs, and it's not clear what the problem is. (context)

negative

Juan @sotojuan
Where I get lost is OTP applications... I get the basic GenServer API, Agent API, etc but say, I get lost in Chapter 11 of Programming Phoenix or part four of the official guide.

negative