Chapter 11. Working with components

 

This chapter covers

  • Creating OTP applications
  • Working with dependencies
  • Building a web server
  • Managing the application environment

At this point, it’s time to turn your attention toward producing releasable systems that can be deployed and started in a simple manner. To reach that goal, you need to learn about OTP applications—a facility that lets you organize your system into reusable components. Applications are a standard way of building Elixir/Erlang production systems and libraries, and relying on them brings various benefits, such as dependency management; simplified system starting; and the ability to build standalone, deployable releases.

In this chapter, you’ll learn how to create applications and work with dependencies. In the process, you’ll turn your to-do system into a proper OTP application and use some third-party libraries from the Erlang and Elixir ecosystem to expose an HTTP interface for your existing system. There’s a lot of work ahead, so let’s get started with OTP applications.

11.1. OTP applications

11.2. Working with dependencies

11.3. Building a web server

11.4. Managing the application environment

11.5. Summary