Cadrul Phoenix

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Cadrul Phoenix
software
Tip Cadrul aplicațiilor web (nu este listat )
Dezvoltator Chris McCord
Ultima versiune 1.5.3 (22 mai 2020)
Sistem de operare Multiplatform
Limba elixir
Elixir (nu este listat )
Licență MIT
( licență gratuită )
Site-ul web www.phoenixframework.org/

Phoenix este un cadru web scris în limbajul de programare funcțional Elixir . Phoenix foloseste un server-side Model-View-Controller (MVC) modelul . [1] Bazat pe biblioteca Plug și în cele din urmă pe cadrul Cowboy Erlang , a fost dezvoltat pentru a oferi aplicații web performante și scalabile. În plus față de funcționalitatea de solicitare / răspuns oferită de serverul Cowboy subiacent [2] , Phoenix oferă o comunicare ușoară în timp real către clienți externi prin WebSocket sau sondaje lungi folosind funcția sa de canale independente de limbă. [3]

Phoenix a ajuns la versiunea 1.0 în august 2015 [1] .

Introducere și funcționalitate

Phoenix s-a născut dintr-o colaborare între Jose Valim și Chris McCord, ambii foști colaboratori principali ai codurilor sursă Ruby și Ruby on Rails.

Phoenix este o aplicație bazată pe ecosistemul Elixir, care rulează pe BEAM VM. La fel ca Rails, Phoenix nu are un panou de administrare, spre deosebire de Django, dar forța sa constă în aplicații soft în timp real și utilizarea Websocket-urilor . Datorită BEAM VM și Elixir , Phoenix este capabil să deservească până la 2.000.000 de conexiuni Websocket simultan. Fiind Phoenix un proiect destul de recent, exploatează deja tehnologiile văzute în alte cadre web, pentru a numi câteva:

  • Abstracția bazei de date relaționale utilizând biblioteca Ecto
  • Posibilitatea de a instala caracteristici prin biblioteci externe scrise în Elixir sau Erlang
  • API robust pentru gestionarea bazelor de date
  • Sistem de „vederi generice” care evită redactarea repetată a codului pentru anumite cazuri obișnuite.
  • Handler URL bazat pe expresii regulate
  • Protecție CSRF și suport pentru sesiune
  • Suport pentru localizare prin biblioteca Gettext
  • Inclusiv documentație accesibilă prin Hex.pm
  • Sistem pentru crearea și validarea formularelor HTML .

La fel ca în Rails, Phoenix nu este livrat în prezent cu un sistem de autentificare a utilizatorului, dar bibliotecile precum Pow pot fi exploatate. Implementarea unei biblioteci de autentificare native este în discuție.

Cu versiunea 1.5 a fost lansat Phoenix LiveView , o tehnologie care vă permite să creați aplicații soft-realtime pe partea serverului. Utilizați un mecanism de conectare constantă la server prin Websockets pentru a reda și actualiza conținutul de pe partea clientului. Spre deosebire de alte mecanisme de actualizare online, Phoenix actualizează minimul de conținut HTML și nu întreaga pagină sau porțiuni majore. Acest lucru este posibil datorită faptului că șabloanele, în Phoenix, sunt funcții sub formă de fișiere HTML și nu fișiere HTML ca în alte sisteme.


Cu versiunea 1.6 va fi lansat cu un sistem de autentificare a utilizatorului.

Notă

  1. ^ (EN) Paul Krill, framework-uri Web Phoenix crește la starea 1.0 în JavaWorld. Adus la 8 mai 2018 .
  2. ^ Chris McCord, Tate, Bruce și Valim, José, Programming Phoenix , Pragmatic Bookshelf, 2016, p. 18, ISBN 9781680504361 .
  3. ^ Sophie DeBenedetto, timber.io , https://timber.io/blog/building-a-real-time-app-with-phoenix/ . Adus la 26 februarie 2019 .

Elemente conexe

linkuri externe