Phoenix (web framework)

Last updated
Phoenix
Original author(s) Chris McCord
Stable release
1.7.14 [1]   OOjs UI icon edit-ltr-progressive.svg / 18 June 2024;12 months ago (18 June 2024)
Repository
Written in Elixir
Platform BEAM
Type Web framework
License MIT License
Website www.phoenixframework.org   OOjs UI icon edit-ltr-progressive.svg

Phoenix is a web development framework written in the functional programming language Elixir.

Contents

Details

Phoenix uses a server-side model–view–controller (MVC) pattern. [2] Based on the Plug library, [3] and ultimately the Erlang HTTP server Cowboy, [4] it was developed to provide highly performant and scalable web applications. In addition to the request/response functionality provided by the underlying Cowboy server, [5] Phoenix provides soft realtime communication to external clients through WebSockets or long polling using its language agnostic channels feature. [6] [7]

Two notable features of Phoenix are LiveView and HEEx. LiveView provides real-time user experiences with server-rendered HTML over HTTP and WebSocket. [8] HEEx is Phoenix's templating language which provides HTML-aware compile time checking. [9]

See also

References

  1. "phoenixframework/phoenix".
  2. Krill, Paul. "Phoenix Web framework rises to 1.0 status". JavaWorld. Retrieved 2018-05-08.
  3. "plug". Hex.
  4. "Nine Nines: Cowboy User Guide". ninenines.eu.
  5. McCord, Chris; Tate, Bruce; Valim, José (2016). Programming Phoenix. Pragmatic Bookshelf. p. 18. ISBN   9781680504361.
  6. "elixir and phoenix so far, channels - Tech Dominator". blog.techdominator.com.
  7. DeBenedetto, Sophie. "Building a Real Time App With Phoenix" . Retrieved 2019-02-26.
  8. "Phoenix.LiveView — Phoenix LiveView v0.18.2". hexdocs.pm. Retrieved 2022-10-10.
  9. "Assigns and HEEx templates — Phoenix LiveView v0.18.2". hexdocs.pm. Retrieved 2022-10-10.