Beim Phoenix Framework handelt es sich um ein auf Elixir aufbauendes Framework zur Erstellung von skalierbaren Webapplikationen mit Echtzeit-Verbindung zu allen Clients. Phoenix kombiniert die nützlichen Eigenschaften von Erlang und Elixir und ermöglicht so unter anderem die Entwicklung von APIs und HTML5-Apps. Wer sich bereits mit Web-Frameworks wie Ruby on Rails oder Pythons Django beschäftigt hat, dem werden einige Komponenten und Konzepte von Phoenix bekannt vorkommen.
Features von Phoenix
Das Phoenix Framework kombiniert das Beste aus Erlang und Elixir: eine hohe Produktivität und eine hohe Anwendungs-Performance. Aber auch neue Features, wie Channels zum Implementieren von Echtzeit-Funktionen und vorkompilierte Templates, bringt Phoenix mit. Das Framework unterteilt sich in vier Layer: Phoenix, Plug, Ecto und den Erlang-HTTP-Server Cowboy.
Phoenix ist der Top-Layer des Frameworks und besteht aus unterschiedlichen Teilen, die alle einen eigenen Zweck und Ziel beim Erstellen einer Web-Applikation haben. Dazu gehört zum Beispiel der Endpoint, der alle Requests bearbeitet und der Router, der diese übernimmt und zur richtigen Anwendung bzw. Controller sendet. Der Controller wiederum stellt Funktionen (actions) bereit, um Requests zu bearbeiten. Zudem gibt es Views, die Templates rendern und als Presentation-Layer fungieren.
Bei Plug handelt es sich um eine Spezifikation zum Erstellen von zusammensetzbaren Modulen, die zum Bau von Web-Applikationen nötig sind. Sie bieten Discrete Behaviors wie Header-Parsing oder -Logging. Ecto ist ein sprachintegriertes Query-Composition-Tool und Datenbank-Wrapper für Elixir. Mit Ecto kann in verschiedenen Datenbanken gelesen und geschrieben werden, auch Schutz vor Angriffsvektoren – eingeschlossen SQL-Injection – wird so gewährleistet.
Einen ersten Überblick über die Funktionen des Phoenix Frameworks bietet das folgende, rund einstündige Video des Entwicklers Chris McCord:
Alle Informationen zum Phoenix Framework finden sich auf GitHub sowie in der Dokumentation auf der Projektwebsite. Dort steht Phoenix auch zur Installation bereit.
Name | Phoenix Framework |
---|---|
Hersteller | Chris McCord |
Projektwebsite | http://www.phoenixframework.org/ |
GitHub | https://github.com/phoenixframework/phoenix |
Efficient Transformers
Christoph Henkelmann, DIVISIO
Enhancing Page Visits by Topic Prediction
Dieter Jordens, Continuum Consulting NV
Machine Learning on Edge using TensorFlow
Håkan Silfvernagel, Miles AS
Aufmacherbild: Fiery Phoenix von Shutterstock / Urheberrecht: smartape
[…] das CSS-Framework Hocus Pocus, das vor allem auf leichtgewichtige Stylesheet-Lösungen setzt, oder das Phoenix-Framework, mit dem Web-Applikationen mit Echtzeit-Verbindung erstellt werden […]