Jump to content

Игровая платформа

Игровая платформа
Разработчик(и) Сообщество
Первоначальный выпуск 2007  ( 2007 )
Стабильная версия
3.0.3 [1]  Отредактируйте это в Викиданных / 7 мая 2024 г .; 2 месяца назад ( 7 мая 2024 г. )
Репозиторий Воспроизвести репозиторий
Написано в Скала
Доступно в Английский
Тип Фреймворк веб-приложений
Лицензия Лицензия Апач 2.0
Веб-сайт игровая платформа

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

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

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

История версий
Версия Дата Примечания
Старая версия, больше не поддерживается: 1.0. май 2008 г. Первый опубликованный код для 1.0 появился на Launchpad . [8] За этим последовал полноценный выпуск 1.0 в октябре 2009 года. [9]
Старая версия, больше не поддерживается: 1.1. ноябрь 2010 г. Выпущен после перехода с Launchpad на GitHub . Он включал миграцию с Apache MINA на JBoss Netty , поддержку Scala, собственный контейнер GlassFish , библиотеку асинхронных веб-сервисов , OAuth поддержку , поддержку HTTPS и другие функции. [10]
Старая версия, больше не поддерживается: 1.2. апрель 2011 г. В него входило управление зависимостями с помощью Apache Ivy , поддержка WebSocket , интегрированная миграция баз данных (реверсия не была реализована). [11] ), переключение на базу данных H2 в качестве базы данных разработки по умолчанию и другие функции. [12]
Старая версия, больше не поддерживается: 1.3. 15 января 2015 г. обновлены библиотеки (ao netty, hibernate и т. д.), добавлена ​​поддержка нескольких баз данных и включено настраиваемое разрешение имен шаблонов.
Старая версия, больше не поддерживается: 1.4. 30 октября 2015 г. Совместим с Java 7 и удалена поддержка Java 6. Добавлена ​​возможность определять включенные протоколы SSL.
Старая версия, больше не поддерживается: 1.5. 29 сентября 2017 г. Обновлен до Hibernate 5.x. Прекращена поддержка версий Java до 1.8.
Старая версия, больше не поддерживается: 1.6. 15 марта 2021 г. Совместимость с Java 14, библиотеки обновлены.
Старая версия, больше не поддерживается: 1.7. 3 апреля 2022 г. Совместимость с Java 17, библиотеки обновлены, поддержка версии Java до 11 прекращена, скрипты Play обновлены до Python 3.
Старая версия, больше не поддерживается: 2.0. 13 марта 2012 г. Садек Дроби присоединился к Гийому Борту в конце 2011 года для создания Play 2.0. [13] в сочетании со Typesafe 2.0. стеком [14]
Старая версия, больше не поддерживается: 2.1. 6 февраля 2013 г. Обновлен до Scala 2.10 и, среди других новых функций, представлен модульность, новый API JSON, фильтры и поддержка RequireJS. [15]
Старая версия, больше не поддерживается: 2.2. 20 сентября 2013 г. Обновлена ​​поддержка SBT до версии 0.13, улучшена поддержка буферизации, встроена поддержка gzip и новые возможности. stage и dist задачи с поддержкой встроенной упаковки на нескольких платформах, таких как OS X (DMG), Linux (RPM, DEB) и Windows (MSI), а также zip-файлов.
Старая версия, больше не поддерживается: 2.3. 30 мая 2014 г. Представляем команду Activator, улучшенные инструменты для статических ресурсов, поддержку Java 8 и Scala 2.11, лучшую производительность, усовершенствование веб-служб и поддержку интеграции актеров и веб-сокетов.
Старая версия, больше не поддерживается: 2.4. 26 мая 2015 г. Благодаря внедрению зависимостей встроенному , возможности встраивания Play в другие приложения, улучшенной поддержке Java 8, HikariCP в качестве пула соединений по умолчанию и улучшенным API-интерфейсам тестирования.
Старая версия, больше не поддерживается: 2.5. 29 марта 2016 г. Переключен с Iteratees на Akka Streams для всех асинхронных операций ввода-вывода и потоковой передачи, заменены пользовательские функциональные типы типами Java 8 (такими как CompletionStage и Optional), представил эквивалентные Java API для функций, которые ранее существовали только в Scala API, таких как реализация фильтров и пользовательских анализаторов тела, а также с увеличением производительности на 20%.
Старая версия, больше не поддерживается: 2.6. 23 июня 2017 г. Использование Akka HTTP в качестве серверной части сервера по умолчанию, экспериментальная HTTP/2 поддержка состояния , поддержка Scala 2.12, отсутствие глобального внутреннего , формат JSON Web Token для файлов cookie, улучшенная безопасность и улучшения конфигурации.
Старая версия, больше не поддерживается: 2.7. 1 февраля 2019 г. Поддержка Scala 2.13, поддержка Caffeine в качестве базовой реализации кэша, обновленные версии HikariCP и Guice , улучшенные функции проверки формы и загрузки файлов. [16]
Старая версия, но все еще поддерживается: 2.8. 13 декабря 2019 г. Поддержка Java 11, обновлен Akka, Jackson, поддержка источников предварительного поиска для результатов диапазона. [17]
Текущая стабильная версия: 2.9. 25 октября 2023 г. [18] Поддержка Scala 3, Java 17 и Java 21. [19]
Текущая стабильная версия: 3.0. 25 октября 2023 г. [20] Поскольку Akka больше не является открытым исходным кодом, Play перешла с Akka на Apache Pekko. [21]
Legend:
Старая версия
Старая версия, все еще поддерживается
Последняя версия
Последняя предварительная версия
Future release

Мотивация

[ редактировать ]

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

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

Основные отличия от фреймворков Java

[ редактировать ]
  • Без сохранения состояния : Play 2 полностью RESTful — для каждого соединения нет сеанса Java EE.
  • Интегрированное модульное тестирование: поддержка JUnit и Selenium включена в ядро.
  • API поставляется со встроенными наиболее необходимыми элементами.
  • Асинхронный ввод-вывод : благодаря использованию Akka HTTP в качестве веб-сервера Play может обслуживать длинные запросы асинхронно, вместо того, чтобы связывать потоки HTTP, выполняющие бизнес-логику, например, платформы Java EE, которые не используют асинхронную поддержку, предлагаемую Servlet 3.0. [24]
  • Модульная архитектура: как и Ruby on Rails и Django, Play использует концепцию модулей.
  • Встроенная поддержка Scala: Play 2 использует Scala внутри, но также предоставляет как API Scala, так и API Java, который намеренно немного отличается, чтобы соответствовать соглашениям Java, и Play полностью совместим с Java.

Платформа тестирования

[ редактировать ]

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

Использование

[ редактировать ]

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

По состоянию на октябрь 2013 г. Play Framework был самым популярным проектом Scala на GitHub . [27]

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

Корпоративными пользователями Play Framework являются Coursera , HuffPost , Hootsuite , Janrain , LinkedIn и Connectifier . [29]

См. также

[ редактировать ]

Литература

[ редактировать ]
  • Уэйн Эллис (2010). Знакомство с игровой платформой. [30]
  • Александр Рилсен (2011). Поваренная книга Play Framework. Пакт Паблишинг. ISBN   1849515522 . [31]
  • Питер Хилтон; Эрик Баккер и Франсиско Канедо (2013). Играйте за Скалу . Мэннинг. ISBN  9781617290794 .
  • Энди Петрелла (2013). Учимся играть! Рамки 2 . Пакт Паблишинг. ISBN  978-1-78216-012-0 .
  • Николя Леру; Ситсе де Капер (2014). Играйте на Яву . Мэннинг. ISBN  978-1617290909 .
  • Жюльен Ришар-Фой (2014). Играйте в Основы платформы . Пакт Паблишинг. ISBN  978-1783982400 .
  • Шити Саксена (2015). Освоение Play Framework для Scala . Пакт Паблишинг. ISBN  978-1783983803 .
  • Александр Рилсен; Джанкарло Индуктиво (2015). Поваренная книга Play Framework (2-е изд.). Пакт Паблишинг. ISBN  978-1783982400 .
  • Прем Кумар Карунакаран (2020). Знакомство с игровой платформой (2-е изд.). Апресс. ISBN  978-1-4842-5644-2 .
  1. ^ «Выпуск 3.0.3» . 7 мая 2024 г. Проверено 9 мая 2024 г.
  2. ^ «Игра с Play Framework для Java — @codemonkeyism» . Codemonkeyism.com . 22 марта 2010 г. Архивировано из оригинала 29 мая 2010 г. Проверено 31 июля 2018 г.
  3. ^ «Игровой фреймворк на практике — Devoxx09 — Devoxx» . 13 октября 2009 г. Архивировано из оригинала г. 13 октября 2009 Проверено 31 июля 2018 г.
  4. ^ «playframework/twirl» . Гитхаб . Проверено 31 июля 2018 г.
  5. ^ Борт, Гийом. «Гийом Борт – дизайнер программного обеспечения» . guillaume.bort.fr . Проверено 31 июля 2018 г.
  6. ^ «Группы Google» . groups.google.com . Проверено 31 июля 2018 г.
  7. ^ "Играть!" . 29 октября 2007 г. Архивировано из оригинала г. 29 октября 2007 Проверено 31 июля 2018 г.
  8. ^ "~play-developers/play/1.0: версия 1" . Базар.launchpad.net . Проверено 31 июля 2018 г.
  9. ^ «Загрузки» . Playframework.org . Архивировано из оригинала 17 января 2013 года . Проверено 31 июля 2018 г.
  10. ^ "releasenotes-1.1 - 1.1" . Playframework.org . Архивировано из оригинала 6 июня 2012 года . Проверено 31 июля 2018 г.
  11. ^ «Модули» . Playframework.org . Архивировано из оригинала 4 апреля 2012 года . Проверено 31 июля 2018 г.
  12. ^ "releasenotes-1.2 - 1.2" . Playframework.org . Архивировано из оригинала 22 марта 2012 года . Проверено 31 июля 2018 г.
  13. ^ «Философия – 2.0» . Playframework.org . Архивировано из оригинала 26 мая 2012 года . Проверено 31 июля 2018 г.
  14. ^ «Представляем Typesafe Stack 2.0 — @lightbend» . Блог.typesafe.com . Проверено 31 июля 2018 г.
  15. ^ «Основные моменты – 2.1.0» . Playframework.com . Проверено 31 июля 2018 г.
  16. ^ «Основные моменты — 2.7.х» . Playframework.com . Проверено 3 марта 2019 г.
  17. ^ «Основные моменты — 2.8.х» . Playframework.com . Проверено 29 февраля 2020 г.
  18. ^ Релиз 📣 Play 2.9.0 · playframework/playframework
  19. ^ "Highlights29 - 3.0.x" . playframework.com . Проверено 8 ноября 2023 г.
  20. ^ Релиз 📣 Play 3.0.0 · playframework/playframework
  21. ^ «Основные моменты30 — 3.0.x» . playframework.com . Проверено 8 ноября 2023 г.
  22. ^ Играйте! Удобство использования платформы. Архивировано 13 июля 2011 г. на Wayback Machine.
  23. ^ «Блог Томаса Хойта: Play Framework на JBoss AS 7 — разработчик JBoss» . Community.jboss.org . Проверено 31 июля 2018 г.
  24. ^ «Play Framework и асинхронный ввод-вывод» . Engineering.linkedin.com . Проверено 31 июля 2018 г.
  25. ^ «Играй! на Heroku» . Блог.heroku.com . Проверено 31 июля 2018 г.
  26. ^ «Играем с Amazon RDS» . IBM.com . 19 июля 2011 года . Проверено 31 июля 2018 г.
  27. ^ «GitHub: Поиск звезд>1» . Гитхаб . Проверено 5 октября 2013 г.
  28. ^ «100 лучших библиотек Scala в 2015 году — на основе 64 562 библиотек GitHub>1» . Архивировано из оригинала 15 августа 2015 года . Проверено 19 июля 2015 г.
  29. ^ Инк, Лайтбенд. «Сообщения в блоге | play-framework | @lightbend» . Изгиб света . Проверено 11 сентября 2022 г. {{cite web}}: |last= имеет общее имя ( справка )
  30. ^ «Представляем игровую платформу» . The-play-book.co.uk . Архивировано из оригинала 17 мая 2014 года . Проверено 31 июля 2018 г.
  31. ^ «Поваренная книга Play Framework — PACKT Books» . Packtpub.com . Архивировано из оригинала 13 марта 2014 года . Проверено 31 июля 2018 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 93e5a7a7d1bab68b012c65757c960f80__1699372500
URL1:https://arc.ask3.ru/arc/aa/93/80/93e5a7a7d1bab68b012c65757c960f80.html
Заголовок, (Title) документа по адресу, URL1:
Play Framework - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)