What's next after learning Elixir and Phoenix?

I’m a beginner. After learning Elixir and Phoenix, what should I learn? Postgresql or Graphql

It really depends on what you want to do. Do you have any ideas of what you want to accomplish? Learning something is easier with a goal.


Nothing but learning,what is easy and best to start first?

They both can be easy but have depth and if you have no goal it really doesn’t matter which you learn first.

yeah i have goal,to build a web chat app.

Well you won’t actually need to know either for that if you are using phoenix. So I’d suggest you flip a coin and start with which ever one that chooses. :slight_smile:


I’m not sure if you know all about phoenix. Make sure you know how to use Channel API (for WebSockets), because it’s definitely better option than XHR requests.

Make sure writing documentation and tests is not problem for you (maybe even try once TDD for small app).

You should also compare:
Enum > Stream > Flow (library)
There is even ecto API for streaming data from database which makes is really worth especially when you think about huge responses and WebSocket connections.

B(inary) ER(lang) T(erm) is simple and really interesting. Many people miss that just because functions for it are in Erlang core.

Definitely you should know ecto and jason. Those libraries are really often used and are also related to phoenix.

In storage topic next are: :ets + :dets + :mnesia

Look for ecto related libraries for example support for: enums and SQLite

If you want easy project to start on then go to your favorite news page and scrape some data from it (for example last n articles).

Sooner or later you would need to use metaprogramming which is really helpful in some special (not really rare) cases.

Finally I highly recommend scenic and nerves topics.

Possibly related pages:


You should learn OTP :slight_smile:

It is what follows, it’s all about good design with processes.


I agree with @kokolegorille. Learn OTP and then go through theBeamBook. After that, you should get some practice building and deploying a non-trivial Elixir app. For that part I would suggest setting up a repo, CI/CD, and hosting it in a cloud environment like Azure. That way you can learn about other things like Certificate Issuance and usage, Secrets providers (like Azure’s KeyVault or AWS’s Secrets Manager), Network groups, Resource Groups, and API Gateways.