I’m re-reading TLEOG and at the same time reading DSWE. Kinda helps reinforce everything.
I recently finished The Little Elixir and OTP guidebook, but it just didn’t click for me. I’m almost done with Designing for Scalability with Erlang/OTP though. That book is great!
Might be a little late to the party, but awwwwww thanks!
Going by all the questions here, I think we could do with a book on contexts and umbrella apps full of examples and perhaps with pros and cons etc…
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.
They are updating it
Maybe it could be part of a cookbook or something similar, that goes in to examples etc
I’m newbie in programming, and I do not find the current materials are easy to digest.
The PE book for examle, I have read over one third of it, feeling like a mini dictionary instead of a textbook. The book “How to design program” on the other hand only introduces few basic commands/functions at a time with lots of practice. There is little beauty in Racket language, but it clicks so easily. The “learn to program” book by Chris Pine is also very easy to learn. I am sure new comers would love books like that.
Plus, I would love to see more worked examples with Phoenix. Watching a pro building and cloing popular, medium sites would be eye openning.
This book might be of interest to you
To a certain degree that makes sense. It is targeted towards programmers who are already conversant in the higher level concepts that are typically found in most programming languages and Programming Elixir shows how to implement those concepts in Elixir, perhaps making some allowance for the reader not being familiar with the functional style.
More basic resources with a narrower scope are Introducing Elixir 2e together with Études for Elixir.
Whoa - hold your horses and slow down a bit.
While cobbling together an HTML page is pretty basic - building a web application requires the convergence of multiple technologies to put those pages inside the browser. A typical basic Phoenix project involves**:
- Core Phoenix which of course uses Elixir but in itself is an OTP application (a layer of abstraction on top of Elixir). To some extent OTP can be ignored to get started but ultimately OTP is necessary to play to Phoenix’s strengths.
- EEx for server-side rendered templates.
- Web pages use JavaScript and you need JavaScript to use Phoenix channels in the browser (or at least something that can talk to a JavaScript module).
- brunch - a build tool to wrangle the JavaScript modules and other static assets for Phoenix - and brunch uses server-side JavaScript (nodejs/npm).
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.
In fact Elixir in Action uses Plug directly in Chapter 11.3 Building a Web Server to stay focused on Elixir and not get distracted by “all that other stuff”.
** (Not to mention Ecto and PostgreSQL)
I think the elixir community would greatly benefit from a book that focuses on distribution. The Little OTP guidebook goes into more detail than other books, but IIRC kind of just stops at using nodes for failover. But ultimately, most books just kind of mention you can do RPC on connected nodes and BEAM takes care of serializing/deserializing, which is great but I don’t think any book out there right now mentions process groups. Now, maybe I’m asking for an applied distributed computing/programming book with elixir as the language which I’m sure wouldn’t be easy to write, but considering that distribution is one of the key features of BEAM, there seems to be a major deficit of learning material surrounding it.
Following Peer’s thread on event driven architecture I’d love to see a book on this with Elixir (particularly interested in the event sourcing/logging aspect).
Maybe it’s time to cast your gaze over to @slashdotdash’s work like Building a CQRS/ES web application in Elixir using Phoenix.
3 posts were split to a new topic: Building Conduit - Applying CQRS/ES to an Elixir and Phoenix web app (self-published)
I think having a focused book that covers deployments well would be a very welcome addition to the Elixir books collection.
Personally I would love to see more books echo the sentiment of PragDave in his online course - specifically, utilising the Replaceable Component Architecture as I’m really drawn to this way of building systems.
I’d like to see an app built with multiple components using different DBs (where those DBs excel - a r/ships component with a graph DB for example, a registrations component with Postgres perhaps).
I think as apps get bigger (they’re only going to get bigger and more complex) more and more teams are going to look to architectures and principles that are better equipped to deal with these challenges as well as which languages make them easy.
I often think about the Rails monolith and how far that is from how Elixir and Phoenix encourages you to build systems - Umbrellas, Contexts and more recently via people like PragDave, the replaceable component architecture (although he just calls it components).
+1!
There are absolutely no books covering embedded devices and Nerves.
It would be useful to have a book focusing on TDD in Elixir especially regarding TOP.
I would like to see a book on building distributed systems using elixir/erlang.
Please no more chat applications or games
I also think there are more than enough books and courses for beginners, what I want to see is a book or a course building REAL WORLD projects from start to finish.
I would like a book on all the information that was not readily available at the time I was building my last application. Things like deployment with ci integration, how to connect nodes on application start, fault tolerance across nodes, more in depth look at mnesia(although I switched away from it because I was having issues with dynamic node membership), distributed topics like how to handle split brain ect. Basically like others have stated. A book that goes beyond the basics would be an instant buy for me.