Web-Applikationen mit Echtzeit-Verbindung erstellen

Phoenix Framework: Mit Erlang und Elixir zu performanten Web-Apps
Kommentare

Elixir ist eine der heiß gehandelten Programmiersprachen auf dem Markt – und zwar, weil sie auf Erlang basiert. Erlang zeichnet sich durch gute Skalierbarkeit, Parallelität und Fehlertoleranz aus, was Anwendungen wie CouchDB und WhatsApp bereits zu schätzen wissen. Gerade im Hinblick auf das Trendthema Internet of Things und verteilte Echtzeit-Anwendungen bietet sich eine funktionale, nebenläufige Sprache wie Elixir an. Das macht sich das Phoenix Framework zunutze, das auf Elixir basiert und der Erstellung hochverfügbarer, performanter Web-Applikationen dient.

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

 

Aufmacherbild: Fiery Phoenix von Shutterstock / Urheberrecht: smartape

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -