Phoenix Is Not Your Application

Understand the details of updating the framework in this lesson.

We'll cover the following

It’s important to think about how we got into this situation, so we know how to get out of it.

Web applications

The way we talk about web applications gets us in trouble right away. We say, “I’m building a Rails app” or an Ember app or a Phoenix app, or an Elm app.

However, that’s not true. What we’re really doing is building a chat app, a banking app, or a game called Islands with a Phoenix, Ember, or Elm interface.

The problem is deeper than that, though. There are a number of ways to look at it, but this makes the most sense. ORMsObject-relational mapping lead us directly into this coupling of business logic and framework components.

ActiveRecord models in Rails offer the clearest example of this, but the same idea applies across many frameworks. Let’s say we are working in a domain in which one of the entities is a bicycle. We could begin modeling this with a plain Ruby class:

class Bicycle
  # We define bicycle-specific properties and behavior here.
end

Get hands-on with 1200+ tech skills courses.