← All open source projects

Phoenix

phoenixframework/phoenix

Phoenix is an Elixir web framework for APIs, HTML applications, and realtime scenarios.

Forks 3,075
Language Elixir
License MIT
Synced 2026-06-27

In Short

Phoenix uses the strengths of Elixir and the Erlang VM: fast web apps, realtime channels, LiveView, and a resilient model for long-running services.

What It Is

Phoenix is the main web framework in the Elixir ecosystem. It fits classic HTML applications, JSON APIs, realtime channels, and LiveView interfaces.

What Is Inside

The repository contains the framework, generators, Phoenix.js, documentation, and tests. Phoenix leans on Elixir processes and gives applications a clear structure.

How People Use It

Teams choose Phoenix for services where low latency, many connections, and a convenient server model matter. Chats, dashboards, collaborative interfaces, and APIs fit the ecosystem well.

Example

Phoenix Route

Elixir syntax is shown as plain text: the example demonstrates the basic route and controller idea.

Language: Plain text
scope "/", MyAppWeb do
  pipe_through :browser
  get "/health", HealthController, :show
end

Strengths

Phoenix’s strength is a calm path from prototype to running service. LiveView allows interactive interfaces with less client-side JavaScript.

Limits

The limitation is adopting the Elixir stack. Teams need to understand OTP, processes, and deployment patterns for this platform, otherwise the framework can feel unfamiliar.

Project Context

Phoenix is maintained in the phoenixframework/phoenix repository; its public history starts on 2014-01-20. The primary metadata language is Elixir, and the license is MIT. The project also has a dedicated site: https://www.phoenixframework.org.

This context keeps the page grounded in a specific repository: the project has an owner, technical base, license, change history, and real constraints of its ecosystem.

Phoenix should be evaluated through a concrete scenario: who will maintain it, where it fits in the existing stack, which updates must be tracked, and what happens if it fails. That view is more useful than installing a project just because it is popular, because open source helps only when its role in the system is clear to the team.