Packages Glossary
View SourceBy default, Phoenix applications depend on several packages with different purposes. This page is a quick reference of the different packages you may work with as a Phoenix developer.
The main packages are:
- Ecto - a language integrated query and database wrapper 
- Phoenix - the Phoenix web framework (these docs) 
- Phoenix LiveView - build rich, real-time user experiences with server-rendered HTML. The LiveView project also defines - Phoenix.Componentand the HEEx template engine, used for rendering HTML content in both regular and real-time applications
- Plug - specification and conveniences for building composable modules web applications. This is the package responsible for the connection abstraction and the regular request- response life-cycle 
You will also work with the following:
- ExUnit - Elixir's built-in test framework 
- Gettext - internationalization and localization through - gettext
- Swoosh - a library for composing, delivering and testing emails, also used by - mix phx.gen.auth
When peeking under the covers, you will find those libraries play an important role in Phoenix applications:
- Phoenix HTML - building blocks for working with HTML and forms safely 
- Phoenix Ecto - plugs and protocol implementations for using phoenix with ecto 
- Phoenix PubSub - a distributed pub/sub system with presence support 
When it comes to instrumentation and monitoring, check out:
- Phoenix LiveDashboard - real-time performance monitoring and debugging tools for Phoenix developers 
- Telemetry Metrics - common interface for defining metrics based on Telemetry events