Play Framework
![Abbozzo software](http://upload.wikimedia.org/wikipedia/commons/thumb/7/77/Computer_n_screen.svg/44px-Computer_n_screen.svg.png)
Play Framework software | |
---|---|
Genere | Framework per applicazioni web |
Sviluppatore | Lightbend Inc. |
Ultima versione | 3.0.3 (7 maggio 2024) |
Sistema operativo | Multipiattaforma |
Linguaggio | Java Scala |
Licenza | Apache 2.0 (licenza libera) |
Sito web | www.playframework.com/ |
Modifica dati su Wikidata · Manuale |
Play è un framework open source, scritto in Java e Scala, che implementa il pattern model-view-controller. Il suo scopo è quello di migliorare la produttività degli sviluppatori usando il paradigma convention over configuration, il caricamento del codice a caldo e la visualizzazione degli errori nel browser.
Nella versione 1.1 è stato aggiunto il supporto a Scala, mentre nella versione 2.0 la parte principale del framework è stata riscritta in Scala. La compilazione ed il dispiegamento sono stati migrati su Simple Build Tool. Per i template viene usato Scala anziché Groovy.
Motivazione
Play è fortemente ispirato a Ruby on Rails e Django ed è simile a questa famiglia di framework. Viene usata la macchina virtuale di Java per costruire applicazioni web in un ambiente diverso dalle implementazioni della specifica Java EE. Questo può rendere lo sviluppo con Play più rapido rispetto ai framework tradizionali.
Peculiarità
Le caratteristiche distintive di questo framework sono elencate di seguito:
- privo di stato: non viene mantenuta alcuna sessione sul server relativa ai dati dell'utente corrente;
- metodi statici: tutti i metodi dei controller che vengono invocati dal framework sono statici; o, nel caso in cui si usi la versione Scala, sono funzioni di oggetti di Scala;
- gestione asincrona dell'input e dell'output: grazie all'uso di Netty, Play può gestire le richieste lunghe in modo asincrono;
- architettura modulare: come per Rails e Django, ci sono i moduli;
- supporto nativo per Scala: non solo Play è fatto internamente in Scala, ma espone anche delle interfacce Scala; le interfacce Java sono state messe appositamente in package diversi affinché possano seguire le convenzioni di Java.
Collegamenti esterni
- (EN) Sito ufficiale, su playframework.com.
- Repository sorgenti di Play Framework, su github.com.
- (EN) Yevgeniy Brikman, Play framework and async I/O, su engineering.linkedin.com. URL consultato il 15 aprile 2015.
- (EN) James Ward, Everyone Wants to Play!, su typesafe.com, 4 dicembre 2013. URL consultato il 15 aprile 2015.
V · D · M | |
---|---|
C++ | CppCMS · Wt |
CLI | ASP.NET (Core · AJAX · Dynamic Data · MVC · Razor · Web Forms) · Blazor · DNN · BFC · MonoRail · OpenRasta · Umbraco · WebSharper |
ColdFusion | CFWheels · ColdBox Platform · ColdSpring · Fusebox · Model-Glue |
Common LISP | Caveman2 · CL-HTTP · Weblocks |
Haskell | Yesod · Snap |
Java | AppFuse · Flexive · Grails · GWT · ICEfaces · ItsNat · JavaServer Faces · JHipster · Jspx · JWt · OpenXava · Play · Remote Application Platform · RIFE · Seam · Sling · Spring · Stripes · Struts · Tapestry · Vaadin · Vert.x · WebWork · Wicket · WaveMaker · ZK |
JavaScript | Angular/AngularJS · Backbone.js · Chaplin.js · Closure · Dojo Toolkit · Ember.js · Express.js · Ext JS · jQuery · Knockout · Meteor · MooTools · Next.js · Node.js · OpenUI5 · Prototype · React · Rico · script.aculo.us · Sencha Touch · SproutCore · Svelte · Vue.js · Wakanda |
Perl | Catalyst · Dancer · Mason · Maypole · Mojolicious · WebGUI |
PHP | CakePHP · CodeIgniter · Drupal · Fat-Free · FuelPHP · Flow · Grav · Gyroscope · Horde · Joomla! · Kohana · Laravel · Li3 · Midgard · MODX · Nette · Phalcon · PHP-Fusion · Pop PHP · PRADO · ProcessWire · Qcodo · Silex · SilverStripe · Symfony · TYPO3 · WordPress · XOOPS · Yii · Zend Framework |
Python | BlueBream · CherryPy · Django · Flask · Grok · Nevow · Pyjs · Pylons · Pyramid · Quixote · TACTIC · Tornado · TurboGears · web2py · Webware · Zope 2 |
Ruby | Camping · Merb · Padrino · Ruby on Rails · Sinatra |
Scala | Lift · Play · Scalatra |
Smalltalk | AIDA/Web · Seaside |
Altri | Vibe.d (D) · Application Express (PL/SQL) · Grails (Groovy) · Kepler (Lua) · OpenACS (Tcl) · Phoenix (Elixir) · Ash (Elixir) · SproutCore (JavaScript-Ruby) · Yaws (Erlang) |
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/77/Computer_n_screen.svg/24px-Computer_n_screen.svg.png)