Phoenix & Umbrellas: Understanding What You’re Building

By Nate Taylor

Elevator Pitch

It’s easy to write an application using the Phoenix framework for Elixir. However, sometimes the ease of writing gets in the way of good practices. This talk looks at one practice, umbrella applications, and why it’s important to incorporate them in your application.

Description

Phoenix makes it easy to get a website up and running. With just a few keystrokes you can have the boilerplate up, and be able to hit the site via the browser. When new features come in, you can issue a few more keystrokes and and have a new model, controller and view ready to go. But have you ever stopped to think about where the generated code goes, or why it’s generated that way?

In this talk, you’ll learn what an umbrella application is, and how to create a Phoenix project as part of an umbrella application. You’ll not only learn how to get it set up, but you’ll learn some of the reasons for splitting the delivery (Phoenix) from the application logic (Elixir.)

Notes

In my Pluralsight course “Getting Started With Phoenix”, I use this pattern and briefly talk about why it’s important. Whereas most of the Elixir community comes from a Ruby background, my .Net background has allowed me to see how separating a project out into different assemblies can be beneficial.

In order to get the most out of the talk, it’s assumed that listeners will have a working knowledge of Elixir. It is not required that they have used the Phoenix framework, however.