Hrajte Framework - Play Framework
![]() | tento článek příliš spoléhá na Reference na primární zdroje.Září 2010) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
![]() | |
Vývojáři | Lightbend, Zengularity a komunita |
---|---|
První vydání | 2007 |
Stabilní uvolnění | 2.8.5 / 9. listopadu 2020[1] |
Úložiště | Přehrát úložiště |
Napsáno | Scala |
K dispozici v | Angličtina |
Typ | Rámec webových aplikací |
Licence | Licence Apache 2.0 |
webová stránka | herní rámec |
Hrajte Framework je open-source rámec webových aplikací který následuje po model – pohled – řadič (MVC) architektonický vzor. Je napsán v Scala a použitelné z jiných programovacích jazyků, do kterých jsou kompilovány JVM Bytecode, např. Jáva. Jeho cílem je optimalizovat produktivitu vývojářů pomocí konvence nad konfigurací, opětovné načtení horkého kódu a zobrazení chyb v prohlížeči.[2]
Podpora pro Scala programovací jazyk je k dispozici od verze 1.1 rámce.[3] Ve verzi 2.0 bylo jádro architektury přepsáno ve Scale. Build and deployment was migrated to SBT, a šablony použijte Scala[4] namísto Apache Groovy.
Dějiny
Play vytvořil softwarový vývojář Guillaume Bort, který pracoval ve společnosti Zengularity SA (dříve Zenexity).[5] Ačkoli první vydání již nejsou k dispozici online, existují důkazy o existenci Play již v květnu 2007.[6] V roce 2007 byly předběžné verze projektu k dispozici ke stažení na webových stránkách Zenexity.[7]
Verze | datum | Poznámky |
---|---|---|
1.0 | Květen 2008 | První publikovaný kód pro verzi 1.0 se objevil na panel.[8] V říjnu 2009 následovalo plné vydání verze 1.0.[9] |
1.1 | Listopad 2010 | Vydáno po přechodu z Launchpadu na GitHub. Zahrnovalo to migraci z Apache MINA na JBoss Netty, Podpora Scala, nativní GlassFish kontejner, asynchronní webové služby knihovna, OAuth Podpěra, podpora, HTTPS podpora a další funkce.[10] |
1.2 | Dubna 2011 | Zahrnovalo správu závislostí s Apache Ivy, podpora pro WebSocket, integrovaná migrace databáze (reverze nebyla implementována[11]), přepnutí na H2 databáze jako výchozí vývojová databáze a další funkce.[12] |
1.3 | 15. ledna 2015 | upgradovány knihovny (a.o. netty, hibernate atd.), přidána podpora více databází a zahrnuto přizpůsobitelné řešení názvu šablony. |
1.4 | 30. října 2015 | Kompatibilní s Java 7 a odstraněná podpora pro Java 6. Přidaná možnost definovat povolené SSL protokoly. |
1.5 | 29. září 2017 | Upgradováno na režim Hibernate 5.x. Zrušena podpora pro verzi Java před dokumentací 1.8 |
2.0 | 13. března 2012 | Sadek Drobi se připojil ke Guillaume Bort koncem roku 2011 a vytvořil Play 2.0[13] ve spojení s Bezpečné Zásobník 2.0.[14] |
2.1 | 6. února 2013 | Upgradováno na Scala 2.10 a představeno mimo jiné nové funkce, modularizaci, nové JSON API, filtry a podporu RequireJS.[15] |
2.2 | 20. září 2013 | Vylepšená podpora pro SBT na 0,13, lepší podpora pro ukládání do vyrovnávací paměti, integrovaná podpora pro gzip a nové etapa a dist úkoly s podporou nativního balení na několika platformách, jako jsou OS X (DMG), Linux (RPM, DEB) a Windows (MSI), stejně jako soubory zip. |
2.3 | 30. května 2014 | Představujeme příkaz Activator, lepší nástroje pro statické prostředky, podporu prostředí Java 8 a Scala 2.11, lepší výkon, vylepšení webových služeb a podporu integrace herců a webových zásuvek. |
2.4 | 26. května 2015 | S Závislost injekce ihned po vybalení možnost vložit Play do jiných aplikací, vylepšená podpora Java 8, HikariCP jako výchozí fond připojení a lepší testování API. |
2.5 | 29. března 2016 | Přepnuto z Iteratees na Akka proudy pro všechny asynchronní IO a streamování byly nahrazeny vlastní funkční typy typy Java 8 (například Dokončení a Volitelný ), představil ekvivalentní Java API pro funkce, které dříve existovaly pouze v Scala API, jako je implementace filtrů a vlastních analyzátorů těla a se zvýšením výkonu o 20%. |
2.6 | 23. června 2017 | Použitím Akka HTTP jako výchozí back-end serveru, experimentální HTTP / 2 podpora, podpora Scala 2.12, nic víc globální stav pod kapotou, Webový token JSON formát souborů cookie, vylepšené zabezpečení a vylepšení konfigurace. |
2.7 | 1. února 2019 | Podpora Scala 2.13, podpora pro Kofein jako základní implementace mezipaměti aktualizovány HikariCP a Guice verze, vylepšené ověřování formulářů a funkce nahrávání souborů.[16] |
2.8 | 13. prosince 2019 | Podpora Java 11, Aktualizováno Akka, Jackson, podporuje zdroje předběžného vyhledávání výsledků rozsahu[17] |
Stará verze Starší verze, stále udržovaná Nejnovější verze Nejnovější verze náhledu |
Motivace
Hra je silně inspirována ASP.NET MVC, Ruby on Rails a Django a je podobný této rodině rámců. Webové aplikace pro přehrávání lze psát v prostředí Scala nebo Java v prostředí, které může být menší Java Enterprise Edition -centrický. Play nepoužívá žádná omezení Java EE. Díky tomu může být vývoj Play jednodušší ve srovnání s jinými platformami zaměřenými na Javu.[18]
Ačkoli Play 1.x může být také zabalen jako VÁLKA soubory, které mají být distribuovány na standardní prostředí Java EE aplikační servery,[19] Aplikace Play 2.x jsou nyní navrženy tak, aby je bylo možné spouštět pomocí vestavěného Akka HTTP nebo Netty výhradně webové servery.
Hlavní rozdíly od rámců Java
- Bez státní příslušnosti: Hra 2 je plně Klidný - na jedno připojení neexistuje relace Java EE.
- Integrovaná jednotka testování: JUnit a Selen podpora je součástí jádra.
- API je dodáván s nejpožadovanějšími zabudovanými prvky.
- Asynchronní I / O: díky použití protokolu Akka HTTP jako svého webového serveru může služba Play obsluhovat dlouhé požadavky asynchronně, místo aby vázala vlákna HTTP a prováděla obchodní logiku jako rámce Java EE, které nepoužívají asynchronní podporu nabízenou Servletem 3.0.[20]
- Modulární architektura: stejně jako Ruby on Rails a Django přichází Play s konceptem modulů.
- Nativní podpora Scala: Play 2 používá Scala interně, ale také odhaluje jak Scala API, tak Java API, které se záměrně mírně liší, aby vyhovovalo konvencím Java, a Play je zcela interoperabilní s Java.
Rámec testování
Play poskytuje integraci s testovacími rámci pro testování jednotky a funkční testování pro aplikace Scala i Java. Pro Scala integrace s Scalatest a Specs2 jsou poskytovány ihned po vybalení a pro Javu existuje integrace s JUnit 4. Pro oba jazyky existuje také integrace s Selen (software). SBT se používá ke spuštění testů a také ke generování zpráv. Je také možné použít nástroje pro pokrytí kódu pomocí pluginů sbt, jako je špejle nebo jacoco4sbt.
Používání
Od října 2013[Aktualizace]„Play Framework je nejpopulárnějším projektem Scala GitHub.[21] V červenci 2015 byla Play 3. nejoblíbenější knihovnou Scala v Githubu na základě 64 562 knihoven. 21,3% z nejlepších projektů Scala použilo Play jako rámec své volby.[22]
V prosinci 2010 první elektronická kniha byl vydán rámec Play.[23] Toto bylo následně rovněž zveřejněno v tištěná kopie. V srpnu 2011 byla vydána druhá kniha, která pokrývá složitější a modernější prvky.[24]
V srpnu 2011 Heroku oznámila nativní podporu pro aplikace Play na svém cloud computing plošina.[25] Toto následuje po modulové podpoře pro Play 1.0 (ale ne Play 2.x) na Google App Engine a dokumentovaná podpora na Webové služby Amazon.[26]
V červenci 2013 Jelastic zveřejnil výukový program, který ukazuje podporu pro Play 2 na jeho cloud computing plošina.[27]
Viz také
Literatura
- Peter Hilton; Erik Bakker a Francisco Canedo (2013). Hrajte za Scalu. Manning. ISBN 9781617290794.
- Andy Petrella (2013). Učit se hrát! Rámec 2. Packt Publishing. ISBN 978-1-78216-012-0.
- Nicolas Leroux; Sietse de Kaper (2014). Hrajte pro Javu. Manning. ISBN 1617290904.
- Julien Richard-Foy (2014). Hrajte Framework Essentials. Packt Publishing. ISBN 1783982403.
- Shiti Saxena (2015). Mastering Play Framework pro Scala. Packt Publishing. ISBN 1783983809.
- Alexander Reelsen; Giancarlo Inductivo (2015). Hrajte rámcovou kuchařku (2. vyd.). Packt Publishing. ISBN 1783982403.
- PremKumar Karunakaran (2020). Představujeme Play Framework (2. vyd.). Apress. ISBN 978-1-4842-5644-2.
Reference
- ^ Hrajte tým. „Přehrát seznam změn“. Citováno 2020-06-04.
- ^ „Hraní s Play Frameworkem pro Javu - @codemonkeyism“. Codemonkeyism.com. 22. března 2010. Archivovány od originál dne 29. května 2010. Citováno 31. července 2018.
- ^ „Play framework in practice - Devoxx09 - Devoxx“. Web.archive.org. 13. října 2009. Citováno 31. července 2018.
- ^ „playframework / twirl“. GitHub. Citováno 31. července 2018.
- ^ Bort, Guillaume. "guillaume bort - návrhář softwaru". guillaume.bort.fr. Citováno 31. července 2018.
- ^ „Skupiny Google“. groups.google.com. Citováno 31. července 2018.
- ^ "Hrát si!". Web.archive.org. 29. října 2007. Citováno 31. července 2018.
- ^ „~ play-developers / play / 1.0: revize 1“. Bazaar.launchpad.net. Citováno 31. července 2018.
- ^ „Stahování“. Playframework.org. Citováno 31. července 2018.
- ^ "releasenotes-1.1 - 1.1". Playframework.org. Citováno 31. července 2018.
- ^ "Moduly". Playframework.org. Citováno 31. července 2018.
- ^ "releasenotes-1.2 - 1.2". Playframework.org. Citováno 31. července 2018.
- ^ „Filozofie - 2,0“. Playframework.org. Citováno 31. července 2018.
- ^ „Představujeme Typesafe Stack 2.0 - @lightbend“. Blog.typesafe.com. Citováno 31. července 2018.
- ^ „Nejdůležitější - 2.1.0“. Playframework.com. Citováno 31. července 2018.
- ^ „Nejdůležitější - 2.7.x“. Playframework.com. Citováno 3. března 2019.
- ^ „Nejdůležitější - 2.8.x“. Playframework.com. Citováno 29. února 2020.
- ^ Hrát si! Použitelnost rámce Archivováno 13.07.2011 na Wayback Machine
- ^ „Blog Thomase Heuteho: Play Framework na JBoss AS 7 -JBoss Developer“. community.jboss.org. Citováno 31. července 2018.
- ^ „Play framework and async I / O“. engineering.linkedin.com. Citováno 31. července 2018.
- ^ „GitHub: Hledat hvězdy> 1“. Citováno 5. října 2013.
- ^ „100 nejlepších knihoven Scala v roce 2015 - založeno na 64 562 knihovnách GitHub> 1“. Citováno 19. července 2015.
- ^ „Představujeme rámec Play“. The-play-book.co.uk. Archivovány od originál dne 17. května 2014. Citováno 31. července 2018.
- ^ „Play Framework Cookbook - PACKT Books“. Packtpub.com. Archivovány od originál dne 13. března 2014. Citováno 31. července 2018.
- ^ „Play! On Heroku“. Blog.heroku.com. Citováno 31. července 2018.
- ^ „Hraní s Amazon RDS“. Ibm.com. 19. července 2011. Citováno 31. července 2018.
- ^ „Výukový program pro nasazení 2 webových aplikací“. Blog.jelastic.com. 2. července 2013. Citováno 31. července 2018.