patrickbucher

patrickbucher

How much "Elixir in Action" (i.e. OTP) to get started with Phoenix?

I worked through the first six chapters of Elixir in Action (Third Edition), ans so far absolutely like the book. The first four chapters are about the language, and chapters five and six are about concurrency primitives and generic server processes.

However, starting with chapter 7, the book is mostly about OTP, which is a bit overwhelming at the beginning.

Now my goal is to write some PostgreSQL-backed CRUD applications providing a REST API. How much of OTP am I required to master until I can seriously start working with Phoenix and Ecto?

Most Liked

venkatd

venkatd

From my own personal experience, you do not need to learn OTP, processes, GenServers, etc to get started with Phoenix.

What’s nice is that Phoenix and Ecto both use OTP and processes under the hood. So you’re getting a good amount of concurrency and fault tolerance for free. For example, every HTTP request to Phoenix already spawns a process to handle that request.

A common mistake for beginners in Elixir is to use GenServers when plain Elixir will get the job done.

LostKobrakai

LostKobrakai

I’d argue after the chapters you’ve gone through you’re fine digging into phoenix and ecto. I’d however suggest not dropping the book. Even if things might go over your head right now there will come the place where having read about those things will become something you need.

vkryukov

vkryukov

Personally, I would read at least chapters 7-10, it’s not as hard at it might seem, and explains important concepts.

You could probably start writing Phoenix apps right aways with your current knowledge (plus asking your favorite LLM to explain certain aspects from time to time), but having the right understanding of fundamentals is very very useful in the long term.

You can also just skip the hard parts and continue reading; the things will get progressively easier once you revisit the book after some real experience with the language.

Where Next?

Popular in Chat/Questions Top

davearonson
I am looking for smallish problems to solve, using Elixir concepts beyond the basic syntax and concepts of Elixir as a language, such as ...
New
sadcad
I love the Phoenix and Elixir docs, but I always tend to learn faster when I watch a video of someone explaining things and then I implem...
New
Fl4m3Ph03n1x
Background Hey guys, recently I bought a book on TDD that I am reading. The books is really nice and has some really juicy things on arch...
New
Lincxx
Hello, I’m sure this has been asked a bunch, but where to start. I do prefer vodeos over books, but recently I have found books to be mor...
New
phykos
In Ruby, which is very similar to Elixir I do this: def test yield end test do puts("sup there") end Here, the yield keyword will be...
New
venomnert
Background I have been a backend elixir developer for about 3 years now. I have been mainly working on simple CRUD applications. Context...
New
wolfiton
Hi everyone, How can i retrieve the name from a structure like this? %{"id" => "1570", "name" => "Croque Monsieur"} My test loo...
New
boddhisattva
Greetings everyone, At my current workplace we’re evaluating different ways of building a microservices architecture for some parts rela...
New
g5becks
Hello everyone. So I just got done reading all of the introduction to Elixir and working through the basics of the language. I am not new...
New
younes-alouani
I’m studying Phoenix Framework but I want to understand basics first. Which book/mooc explains better the Design of Network-based Softwar...
New

Other popular topics Top

New
Harrisonl
We have an ECS cluster with 4 services, where each task joins a single cluster, via discovery ECS discovery service. Currently when I de...
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
gshaw
What is the idiomatic way of matching for not nil in Elixir? E.g., First way: defp halt_if_not_signed_in(conn, signed_in_account) when...
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
fireproofsocks
Forgive me if this is obvious, but how does one delete a database record WITHOUT selecting it first? Ecto.Repo — Ecto v3.14.0 has exampl...
New
aesmail
Hello guys, I have finally made it. I created an admin interface for a framework. It’s been on my todo list for years and with the curre...
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
Emily
I have VueJS GUIs with the project generated using Webpack. I have Elixir modules that will need to be used by the VueJS GUIs. I forese...
New
gausby
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
1207 39297 209
New

We're in Beta

About us Mission Statement