Платформа Play

редактировать
Веб-фреймворк с открытым исходным кодом, написанный на Scala
Play Framework
Play Framework logo.svg
Разработчик (и) Lightbend, Zengularity и сообщество
Первоначальный выпуск2007 (2007)
Стабильный выпуск 2.8.2 / 21 мая 2020 г.; 5 месяцев назад (2020-05-21)
Репозиторий Воспроизвести репозиторий
Написано наScala
Доступно наанглийском
Типе Каркас веб-приложения
Лицензия Apache License 2.0
Веб-сайтplayframework.com

Play Framework - это открытый исходный код структура веб-приложений, которая следует модель – представление – контроллер (MVC) архитектурный шаблон. Он написан на Scala и может использоваться из других языков программирования, которые скомпилированы в JVM байт-код, например Java. Он направлен на оптимизацию производительности разработчиков за счет использования соглашения вместо конфигурации, перезагрузки горячего кода и отображения ошибок в браузере.

Доступна поддержка языка программирования Scala начиная с версии 1.1 фреймворка. В версии 2.0 ядро ​​фреймворка было переписано на Scala. Сборка и развертывание были перенесены на SBT, а шаблоны используют Scala вместо Apache Groovy.

Содержание
  • 1 История
  • 2 Мотивация
  • 3 Основные отличия от сред Java
  • 4 Среда тестирования
  • 5 Использование
  • 6 См. также
  • 7 Литература
  • 8 Ссылки
  • 9 Внешние ссылки
История

Игра создана разработчик программного обеспечения Гийом Борт, работая в Zengularity SA (ранее Zenexity). Хотя ранние выпуски больше не доступны в Интернете, есть свидетельства существования Play еще в мае 2007 года. В 2007 году предварительные версии проекта были доступны для загрузки с веб-сайта Zenexity.

История версий
ВерсияДатаПримечания
Старая версия, больше не поддерживается: 1.0Май 2008 г.Первый опубликованный код для 1.0 появился на Панель запуска. За этим последовал полный выпуск 1.0 в октябре 2009 года.
Старая версия, больше не поддерживается: 1.1ноябрь 2010 г.Выпущена после перехода с Launchpad на GitHub. Он включал миграцию с Apache MINA на JBoss Netty, поддержку Scala, собственный контейнер GlassFish, асинхронную библиотеку веб-сервисов, Поддержка OAuth, поддержка HTTPS и другие функции.
Старая версия, больше не поддерживается: 1.2апрель 2011 г.Включает управление зависимостями с Apache Ivy, поддержка WebSocket, интегрированная миграция базы данных (возврат не реализован), переход на базу данных H2 в качестве базы данных разработки по умолчанию и другие функции.
Старая версия, больше не поддерживается: 1.315 января 2015 г.обновлены библиотеки (ao netty, hibernate и т. Д.), Добавлена ​​поддержка нескольких баз данных и включено настраиваемое разрешение имен шаблонов.
Старая версия, больше не поддерживается: 1.430 октября 2015 г.Совместимость с Java 7 и удалена поддержка Java 6. Добавлена ​​возможность определять включенные протоколы ssl.
Старая версия, больше не поддерживается: 1.529 сентября 2017 г.Обновлено до Hibernate 5.x. Прекращена поддержка версии java до версии 1.8 документация
Старая версия, больше не поддерживается: 2.013 марта 2012 г.Садек Дроби присоединился к Гийому Борту в конце 2011 г., чтобы создать Play 2.0 вместе с Typesafe Stack 2.0.
Старая версия, больше не поддерживается: 2.16 февраля 2013 г.Обновлен до Scala 2.10 и представил, среди других новых функций, модульность, новый JSON API, фильтры и поддержка RequireJS.
Старая версия, больше не поддерживается: 2.220 сентября 2013 г.Поддержка SBT обновлена ​​до 0,13, улучшена поддержка буферизации, встроенная поддержка gzip и новых задач stageи distс поддержкой собственной упаковки на нескольких платформах, таких как OS X (DMG), Linux (RPM, DEB) и Windows (MSI), а также zip-файлы.
Старая версия, больше не поддерживается: 2.330 мая 2014 г.Представляем команду Activator, улучшенный инструментарий для статических ресурсов, поддержку Java 8 и Scala 2.11, лучшую производительность, Интернет Улучшение сервиса и поддержка для интеграции Актеров и Веб-сокетов.
Старая версия, больше не поддерживается: 2.426 мая 2015 г.С Внедрение зависимостей из коробки, возможность встраивать Play в другие приложения, улучшенная поддержка Java 8 в качестве пула соединений по умолчанию и улучшенные API тестирования.
Старая версия, больше не поддерживается: 2.529 марта 2016 г.переключено с Iteratees на Akka Streams для всех асинхронных операций ввода-вывода и потоковой передачи, заменены пользовательские функциональные типы с типами Java 8 (такими как CompletionStageи Optional), представили эквивалентные API-интерфейсы Java для функций, которые ранее существовали только в Scala API, таких как реализация фильтров и пользовательских парсеров тела, а также с Увеличение производительности на 20%.
Старая версия, больше не поддерживается: 2.623 июня 2017 г.Использование в качестве внутреннего сервера по умолчанию, экспериментальная поддержка HTTP / 2, поддержка Scala 2.12, не более глобальное состояние под капотом, формат веб-токена JSON для файлов cookie, улучшенная безопасность и улучшения конфигурации.
Более старая версия, но все еще поддерживается: 2.71 февраля 2019 г.Поддержка Scala 2.13, поддержка в качестве базовой реализации кеширования, обновленные версии HikariCP и Guice, улучшенные функции проверки формы и загрузки файлов.
Текущая стабильная версия: 2.813 декабря 2019 г.Поддержка Java 11, обновленный Akka, Jackson, поддержка источников предварительного поиска для результатов диапазона
Обозначения: Старая версия Старая версия, все еще поддерживается Последняя версия Последняя предварительная версия Будущий выпуск
Мотивация

Играть в значительной степени вдохновлен ASP.NET MVC, Ruby on Rails и Django и похож на это семейство фреймворков. Веб-приложения Play могут быть написаны на Scala или Java в среде, которая может быть менее Java Enterprise Edition -центричной. Play не использует ограничений Java EE. Это может упростить разработку Play по сравнению с другими платформами, ориентированными на Java.

Хотя Play 1.x также может быть упакован в виде файлов WAR для распространения в стандартное приложение Java EE серверы, приложения Play 2.x теперь предназначены для запуска исключительно с использованием встроенных веб-серверов или Netty.

Основные отличия от Java frameworks
  • Stateless : Play 2 полностью RESTful - нет сеанса Java EE для каждого соединения.
  • Интегрированное модульное тестирование: Поддержка JUnit и Selenium включена в ядро.
  • API поставляется со встроенными большинством необходимых элементов.
  • Асинхронный ввод-вывод : из-за Чтобы использовать Akka HTTP в качестве веб-сервера, Play может обрабатывать длинные запросы асинхронно, вместо того, чтобы связывать потоки HTTP, выполняя бизнес-логику, такую ​​как структуры Java EE, которые не используют асинхронную поддержку, предлагаемую Servlet 3.0.
  • Модульная архитектура: как и Ruby on Rails и Django, в Play используется концепция модулей.
  • Встроенная поддержка Scala: Play 2 внутренне использует Scala, но также предоставляет как Scala API, так и Java API, который намеренно немного отличается, чтобы соответствовать с соглашениями Java, и Play полностью совместим с Java.
Среда тестирования

Play обеспечивает интеграцию со средами тестирования для модульного тестирования и f функциональное тестирование для приложений Scala и Java. Для Scala интеграция со Specs2 предоставляется "из коробки", а для Java есть интеграция с JUnit 4. Для обоих языков также существует интеграция с Selenium (программное обеспечение). SBT используется для запуска тестов, а также для создания отчетов. Также можно использовать инструменты покрытия кода с помощью подключаемых модулей sbt, таких как scoverage или jacoco4sbt.

Usage

По состоянию на октябрь 2013 года Play Framework является самой популярной Scala. проект на GitHub. В июле 2015 года Play была третьей по популярности библиотекой Scala в Github на основе 64 562 библиотек. 21,3% ведущих проектов Scala использовали Play в качестве фреймворка.

В декабре 2010 года была выпущена первая электронная книга по фреймворку Play. Впоследствии это было также опубликовано в бумажной копии. В августе 2011 года была выпущена вторая книга, охватывающая более сложные и современные функции.

В августе 2011 года Heroku объявила о встроенной поддержке приложений Play на своих облачных вычислениях Платформа. Это следует за модульной поддержкой Play 1.0 (но не Play 2.x) на Google App Engine и документированной поддержки на Amazon Web Services.

В июле 2013 года Jelastic опубликовал учебное пособие, демонстрирующее поддержку Play 2 на его платформе облачных вычислений.

См. Также
  • Портал бесплатного программного обеспечения с открытым исходным кодом
Литература
  • Питер Хилтон; Эрик Баккер и Франсиско Канедо (2013). Играйте на Scala. Мэннинг. ISBN 9781617290794.
  • Энди Петрелла (2013). Обучение игре! Платформа 2. Публикация пакетов. ISBN 978-1-78216-012-0.
  • Николя Леру; Ситсе де Капер (2014). Играть для Java. Мэннинг. ISBN 1617290904.
  • Жюльен Ричард-Фой (2014). Играйте в Framework Essentials. Packt Publishing. ISBN 1783982403.
  • Шити Саксена (2015). Освоение Play Framework для Scala. Packt Publishing. ISBN 1783983809.
  • Александр Рилсен; Джанкарло Индуктиво (2015). Play Framework Cookbook (2-е изд.). Packt Publishing. ISBN 1783982403.
  • ПремКумар Карунакаран (2020). Представляем Play Framework (2-е изд.). Апресс. ISBN 978-1-4842-5644-2.
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-02 08:00:38
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте