Marco web de código abierto escrito en Scala
Play Framework es un marco de aplicación web de código abierto que sigue el patrón arquitectónico modelo-vista-controlador (MVC) . Está escrito en Scala y se puede utilizar desde otros lenguajes de programación que se compilan en bytecode JVM , por ejemplo Java . Su objetivo es optimizar la productividad del desarrollador mediante el uso de convenciones sobre configuración , recarga de código activo y visualización de errores en el navegador. [2]
El soporte para el lenguaje de programación Scala está disponible desde la versión 1.1 del marco. [3] En la versión 2.0, el núcleo del marco se reescribió en Scala. La compilación y la implementación se migraron a SBT y las plantillas usan Scala [4] en lugar de Apache Groovy .
Historia
Play fue creado por el desarrollador de software Guillaume Bort, mientras trabajaba en Zengularity SA (anteriormente Zenexity). [5] Aunque las primeras versiones ya no están disponibles en línea, hay evidencia de que Play existía desde mayo de 2007. [6] En 2007, las versiones preliminares del proyecto estaban disponibles para descargar desde el sitio web de Zenexity. [7]
Motivación
Play está fuertemente inspirado en ASP.NET MVC , Ruby on Rails y Django y es similar a esta familia de frameworks. Las aplicaciones web de Play se pueden escribir en Scala o Java, en un entorno que puede estar menos centrado en Java Enterprise Edition . Play no utiliza restricciones de Java EE. Esto puede hacer que Play sea más simple de desarrollar en comparación con otras plataformas centradas en Java. [22]
Aunque Play 1.x también podría empaquetarse como archivos WAR para distribuirse a servidores de aplicaciones Java EE estándar , [23] las aplicaciones Play 2.x ahora están diseñadas para ejecutarse utilizando exclusivamente los servidores web Akka HTTP o Netty integrados .
Diferencias principales con los frameworks de Java
- Sin estado : Play 2 es completamente RESTful : no hay sesión Java EE por conexión.
- Pruebas unitarias integradas: el soporte para JUnit y Selenium está incluido en el núcleo.
- La API viene con la mayoría de los elementos necesarios incorporados.
- E/S asincrónica : debido al uso de Akka HTTP como su servidor web, Play puede atender solicitudes largas de forma asincrónica en lugar de atar hilos HTTP haciendo lógica de negocios como los marcos Java EE que no usan el soporte asincrónico ofrecido por Servlet 3.0. [24]
- Arquitectura modular: al igual que Ruby on Rails y Django, Play viene con el concepto de módulos.
- Compatibilidad nativa con Scala: Play 2 usa Scala internamente, pero también expone una API de Scala y una API de Java que es deliberadamente ligeramente diferente para adaptarse a las convenciones de Java, y Play es completamente interoperable con Java.
Marco de prueba
Play ofrece integración con marcos de prueba para pruebas unitarias y pruebas funcionales para aplicaciones Scala y Java. Para Scala, las integraciones con Scalatest y Specs2 se proporcionan de manera predeterminada y, para Java, existe integración con JUnit 4. Para ambos lenguajes, también existe integración con Selenium (software) . SBT se utiliza para ejecutar las pruebas y también para generar informes. También es posible utilizar herramientas de cobertura de código mediante complementos de sbt como scoverage o jacoco4sbt.
Uso
En agosto de 2011, Heroku anunció soporte nativo para aplicaciones Play en su plataforma de computación en la nube . [25] Esto siguió al soporte basado en módulos para Play 1.0 en Google App Engine y al soporte documentado en Amazon Web Services . [26]
En octubre de 2013 [actualizar], Play Framework era el proyecto Scala más popular en GitHub . [27]
En julio de 2015, Play fue la tercera biblioteca Scala más popular en GitHub, con base en 64,562 bibliotecas. El 21,3% de los principales proyectos Scala usaron Play como su marco de elección. [28]
Entre los usuarios corporativos de Play Framework se incluyen Coursera , HuffPost , Hootsuite , Janrain , LinkedIn y Connectifier . [29]
Véase también
Literatura
- Wayne Ellis (2010). Introducción al marco de juego. [30]
- Alexander Reelsen (2011). Libro de recetas de Play Framework. Packt Publishing. ISBN 1849515522. [31 ]
- Peter Hilton; Erik Bakker y Francisco Canedo (2013). Obra para Scala . Manning. ISBN 9781617290794.
- Andy Petrella (2013). ¡Aprender jugando! Marco 2. Packt Publishing. ISBN 978-1-78216-012-0.
- Nicolás Leroux; Sietse de Kaper (2014). Juega para Java . Manning. ISBN 978-1617290909.
- Julien Richard-Foy (2014). Fundamentos de Play Framework . Packt Publishing. ISBN 978-1783982400.
- Shiti Saxena (2015). Dominando el marco de juego para Scala . Packt Publishing. ISBN 978-1783983803.
- Alexander Reelsen; Giancarlo Inductivo (2015). Libro de cocina de Play Framework (2.ª edición). Packt Publishing. ISBN 978-1783982400.
- PremKumar Karunakaran (2020). Presentamos Play Framework (2ª ed.). Presione. ISBN 978-1-4842-5644-2.
Referencias
- ^ "Versión 3.0.3". 7 de mayo de 2024. Consultado el 9 de mayo de 2024 .
- ^ "Jugando con Play Framework para Java - @codemonkeyism". Codemonkeyism.com . 22 de marzo de 2010. Archivado desde el original el 29 de mayo de 2010 . Consultado el 31 de julio de 2018 .
- ^ "Play framework in practice - Devoxx09 - Devoxx". 13 de octubre de 2009. Archivado desde el original el 13 de octubre de 2009. Consultado el 31 de julio de 2018 .
- ^ "playframework/twirl". GitHub . Consultado el 31 de julio de 2018 .
- ^ Bort, Guillaume. «Guillaume Bort – Software Designer». guillaume.bort.fr . Consultado el 31 de julio de 2018 .
- ^ "Grupos de Google". groups.google.com . Consultado el 31 de julio de 2018 .
- ^ "¡A jugar!". 29 de octubre de 2007. Archivado desde el original el 29 de octubre de 2007. Consultado el 31 de julio de 2018 .
- ^ "~play-developers/play/1.0 : revision 1". Bazaar.launchpad.net . Consultado el 31 de julio de 2018 .
- ^ "Descargas". Playframework.org . Archivado desde el original el 17 de enero de 2013. Consultado el 31 de julio de 2018 .
- ^ "releasenotes-1.1 - 1.1". Playframework.org . Archivado desde el original el 6 de junio de 2012 . Consultado el 31 de julio de 2018 .
- ^ "Módulos". Playframework.org . Archivado desde el original el 4 de abril de 2012 . Consultado el 31 de julio de 2018 .
- ^ "releasenotes-1.2 - 1.2". Playframework.org . Archivado desde el original el 22 de marzo de 2012 . Consultado el 31 de julio de 2018 .
- ^ "Filosofía - 2.0". Playframework.org . Archivado desde el original el 26 de mayo de 2012. Consultado el 31 de julio de 2018 .
- ^ "Presentación de Typesafe Stack 2.0 - @lightbend". Blog.typesafe.com . Consultado el 31 de julio de 2018 .
- ^ "Aspectos destacados de la versión 2.1.0". Playframework.com . Consultado el 31 de julio de 2018 .
- ^ "Aspectos destacados de la versión 2.7.x". Playframework.com . Consultado el 3 de marzo de 2019 .
- ^ "Aspectos destacados de la versión 2.8.x". Playframework.com . Consultado el 29 de febrero de 2020 .
- ^ Lanzamiento 📣 Play 2.9.0 · playframework/playframework
- ^ "Highlights29 - 3.0.x". playframework.com . Consultado el 8 de noviembre de 2023 .
- ^ Lanzamiento 📣 Play 3.0.0 · playframework/playframework
- ^ "Highlights30 - 3.0.x". playframework.com . Consultado el 8 de noviembre de 2023 .
- ^ Usabilidad del marco Play! Archivado el 13 de julio de 2011 en Wayback Machine
- ^ "Blog de Thomas Heute: Play Framework en JBoss AS 7 -JBoss Developer". community.jboss.org . Consultado el 31 de julio de 2018 .
- ^ "Play framework y E/S asincrónica". engineering.linkedin.com . Consultado el 31 de julio de 2018 .
- ^ "Play! on Heroku". Blog.heroku.com . Consultado el 31 de julio de 2018 .
- ^ "Jugando con Amazon RDS". Ibm.com . 19 de julio de 2011 . Consultado el 31 de julio de 2018 .
- ^ "GitHub: Buscar estrellas > 1". GitHub . Consultado el 5 de octubre de 2013 .
- ^ "Las 100 mejores bibliotecas de Scala en 2015, según 64 562 bibliotecas de GitHub>1". Archivado desde el original el 15 de agosto de 2015 . Consultado el 19 de julio de 2015 .
- ^ Inc, Lightbend. "Entradas de blog | play-framework | @lightbend". Lightbend . Consultado el 11 de septiembre de 2022 .
- ^ "Introducción al marco de juego". The-play-book.co.uk . Archivado desde el original el 17 de mayo de 2014 . Consultado el 31 de julio de 2018 .
- ^ "Play Framework Cookbook - PACKT Books". Packtpub.com . Archivado desde el original el 13 de marzo de 2014. Consultado el 31 de julio de 2018 .
Enlaces externos
- Página de inicio de Play Framework