11 Working with components
This chapter covers
- Creating OTP applications
- Working with dependencies
- Building a web server
- Configuring applications
It’s time to turn our attention toward producing releasable systems that can be deployed and started simply. To reach that goal, you need to learn about OTP applications, which let 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.