Now fully updated for Phoenix 1.7!
Sign in

Learn Elixir and Phoenix fast

Using your existing knowledge of Ruby on Rails

Learning a new framework is frustating

You’re an experienced Ruby on Rails developer who wants to learn Elixir and Phoenix. You know Ruby inside and out, you’re comfortable with Rails’s architecture, and you’re good at getting things done - so it’s painful to start from scratch.

Elixir looks like Ruby at a glance, but its underlying design is very different. While Ruby is object-oriented, Elixir is a functional language where everything is immutable, there no “objects” or “classes”, and you often need to structure your code completely differently from the equivalent Ruby.

And while Phoenix takes inspiration from Rails, there’s still a learning curve. Some concepts, like “controllers”, “migrations” and the “router”, are familiar to a Rails developer - but others, like Phoenix’s “repo”, “changesets” and “components”, have no direct analogy in Rails. The result: confusion and frustration when you’re not sure how to do something in Phoenix but you know how you’d do it in Rails.

Use your existing knowledge

Learning Elixir and Phoenix when you already know Ruby on Rails is like learning Spanish when you already speak Italian. Your existing knowledge gives you a big head-start. You’d be foolish not to make the most of it.

Phoenix on Rails is a 59-lesson tutorial on web development with Phoenix and Elixir that’s specifically tailored towards Ruby on Rails programmers. It teaches you in terms that are easy to understand based on what you already know, explaining everything in an intuitive manner that makes maximum sense to a Rails developer.

Phoenix on Rails is the fastest way to learn Elixir and Phoenix if you already know Ruby on Rails.

“I’ve bought and read (or watched) a lot of Elixir resources over the last six years, and I’m really impressed with how good this is. It absolutely succeeds as a primer for Rails folks.”
“I’ve tried a lot of tutorials and this is the best. It’s nice to find a tutorial that teaches you at the right level. Using Rails as a reference point is a plus because I’ve used it before so there’s no extra verbiage to explain concepts.”
Patrick Chin
Why learn Phoenix?

Phoenix is a rising star in the world of web development. Built by a former Rails developer, Phoenix takes everything that makes Rails great and improves on it, letting you build feature-rich, maintainable apps at lightning speed.

As Rails uses Ruby, so Phoenix uses Elixir, a functional programming language that runs on the Erlang VM. Erlang is well-known for its scalability, performance and fault-tolerance. Elixir takes the power of Erlang and wraps it a beautiful, elegant, Ruby-like syntax.

Elixir and Phoenix take heavy inspiration from Ruby and Rails, and both are growing rapidly in popularity among Rails developers. Many Rails devs before you have made the switch and not looked back.

What’s included?

Phoenix on Rails is a written tutorial with 59 chapters. Throughout the course you’ll build two fully-featured Phoenix apps that will introduce you to all of Phoenix’s major concepts. You’ll learn how to accomplish all the things that you already know how to do in Rails, and more.

Every sentence of Phoenix on Rails is written with Rails developers in mind. It’ll teach you how each Elixir and Phoenix concept relates to what you already know, explaining where things are similar and where they differ, what has a direct analogy and what’s less familiar. Your existing knowledge will turbo-charge your learning.

“I was looking for an up-to-date course on the Phoenix Framework. While working through this course I learned the intricacies of Phoenix along with the best practices for structuring my code and when I had questions they were answered with a thorough explanation.”
Jean-Jacques Strydom
I really liked the course’s comparison to Rails as I am primarily working in Rails at the moment, and it took me around Elixir as a language as well as Phoenix as a framework. And it really sparked my interest in Elixir.”
Jacob Kjeldalhl
Convinced? Buy it for life
No subscription, no time limit. Lifetime access with a single payment.
Individual
  • For personal use
  • Lifetime access
  • 59 lessons + full source code
  • All future updates for free
$39
Sign up now
Team
  • Corporate license
  • Up to 10 team members
$390
$249
Sign up now

Questions? Keep scrolling down, or send an email.

You can try Phoenix on Rails 100% risk-free. Sign up, and if you find the course isn’t for you, send an email within 30 days of purchasing I’ll give you a full refund.

💡 Course outline

The 59 lessons of the tutorial are divided into four sections:

Part 1 of the tutorial introduces the Elixir language. Phoenix on Rails assumes no prior knowledge of Elixir. It teaches you all the Elixir you need to build a fully-featured Phoenix app.

Some Elixir concepts are easy for a Rubyist to understand. For example, Elixir’s “atoms” are essentially the same as Ruby’s “symbols”. Others, however, are less familiar, such as the distinction between Elixir “lists” and “tuples”, which has no direct analogy in Ruby. Phoenix on Rails takes you through every important Elixir concept, explaining how it relates to what you already know Ruby and how its different.

Phoenix on Rails Part 1

If you already know Elixir, you might still find Part 1 useful, as it will help you understand how Elixir’s concepts relate to the Ruby concepts you already know.

Phoenix on Rails Part 2

In Part 2, you’ll scaffold a simple Rails app, with a model, controller and views - then you’ll throw it away and learn how to build a similar (but much better) app in Phoenix.

Some concepts are familiar from Rails, like routers, controllers, and migrations, although they still work slightly differently from what you’re used to. Others are quite different - for example, Phoenix has no “models”, and Phoenix “views” work very differently to Rails views.

Every section ends with a recap that lays out the different concepts that have been introduced, and succinctly explains the differences (and similarities) between Phoenix and Rails (or between Elixir and Ruby.)

This summary makes a handy reference to come back to. Many students have called these recaps one of the most useful sections of the course.

Recaps
Phoenix on Rails Part 2

In Part 3, you’ll add more features to the simple app you built in part 2. This is an opportunity to learn about some more advanced concepts, like Phoenix scaffolding, using Erlang libraries in Elixir, Phoenix’s “Plug” library (similar to Rails’s “Rack”), and dependency management with Mix (similar to Bundler and the Gemfile in Rails).

Part 3 also introduces Phoenix LiveView. One of the many things developers love about Phoenix is that you don’t need Javascript to create a dynamic frontend. With Phoenix LiveView you can add interactive behaviour to your app’s frontend using Elixir alone, without the need to write any custom Javascript. Phoenix on Rails will teach you how this is done.

LiveView
Phoenix on Rails Part 4

In Part 4 you’ll build a new app from scratch that’s more advanced than the toy app you built in parts 2 and 3.

Along the way you’ll learn how to do even more with Phoenix, including a complete and secure authentication system (with no need a for third-party package like Rails’s Devise), file uploads, advanced features of Phoenix LiveView, and more.

❓❓❓ Questions ❓❓❓
Who is this course for?

Phoenix on Rails is aimed at developers who already have at least one year’s experience programming in Ruby on Rails. If you don’t know Ruby or Rails, you might still get some value from this course, but it’s not guaranteed.

What’s the stack?

The current version of the tutorial uses the latest version of everything as of 2023: Elixir 1.14, Phoenix 1.7, and LiveView 0.18.

Do I need to know Elixir?

No. Phoenix on Rails will teach you the Elixir language alongside the Phoenix framework.

Even if you already know Elixir, you might still learn something from the Elixir section of the course, as it will help you understand how Elixir’s concepts relate to the Ruby concepts you already know.

Does it cover LiveView?

Yes, Phoenix on Rails includes an introduction to LiveView. Both of the applications you’ll build will use LiveView for part of their frontends.

What about Javascript and CSS?

Phoenix, like Rails, is a server-side technology. Phoenix on Rails covers the basics of managing a Phoenix app’s frontend assets including Javascript and CSS files, but it doesn’t explain how to a build a single-page application or a highly dynamic frontend using modern Javascript frameworks like React or Vue.js.

However, one of the many things developers love about Phoenix is that you don’t need Javascript to create a dynamic frontend. With Phoenix LiveView you can add interactive behaviour to your app’s frontend using Elixir alone, without the need to write any custom Javascript. Phoenix on Rails will teach you how this is done.

What about Tailwind?

Since Phoenix 1.7, newly-generated Phoenix apps use Tailwind.css for their styling. You don’t have to use Phoenix with Tailwind - it’s easy to, for example, use SASS, LESS, or vanilla CSS instead - but Tailwind is the default.

Tailwind is a simple framework that’s very quick to learn. Phoenix on Rails will teach you how to use Tailwind, and the apps you’ll build use Tailwind for their styling.

How is this different from the book Phoenix for Rails Developers by Elvio Vicosa?

Other than general differences in format and writing style, there are two major ways I’d argue that Phoenix on Rails is a better choice than Phoenix for Rails Developers in 2023:

Firstly, Phoenix for Rails Developers teaches Phoenix 1.3, which was released in 2017 and is now very out of date. Phoenix on Rails teaches the latest version of Phoenix, 1.7., and is up to date with all the latest changes to Phoenix, Elixir, and LiveView. (Phoenix for Rails Developers doesn’t mention LiveView at all.)

Secondly, Phoenix for Rails Developers only teaches Phoenix, not Elixir itself. Phoenix on Rails covers more ground as it covers both the Phoenix framework and the Elixir language.

I’m a student / unemployed / from a poorer part of the world, can I have a discount?

Maybe. Send an email explaining your situation and I’ll see what I can do.

I have another question.

I’d love to hear it! Get in touch on contact@phoenixonrails.com.

Still unsure? Enter your email address to access Part 1 of the course for free, forever:

(Spam is for jerks, and jerks we are not. Your email address will never be shared with third parties.)
Individual
  • For personal use
  • Lifetime access
  • 59 lessons + full source code
  • All future updates for free
$39
Sign up now
Team
  • Corporate license
  • Up to 10 team members
$390
$249
Sign up now
© 2023 Phoenix on Rails