来自php/ruby​​/python的人们使用play框架的优点

ope*_*sas 11 java frameworks dynamic-languages playframework

游戏框架最强大的卖点之一是它的开发周期,只需修复代码,返回浏览,重新加载,然后进行一次,所有这些都没有j2ee web开发的典型编写,编译,部署和麻烦.

然而,对于来自php,ruby或python的Web开发人员来说,这并不令人惊讶,而且它被认为是开发Web应用程序的自然方式.

此外,游戏的许多优点(高效的模板系统,快速解决错误,无状态,有趣和高效)在这些框架中被视为理所当然......

所以我想知道你认为游戏框架为来自动态语言的Web开发人员带来的主要优势是什么.

ope*_*sas 16

从我的观点来看,这些是主要优势

  • 它是java,所以如果你对java感到不舒服,并且你不愿意学习它,那可能不是一个优势.另一方面,如果你必须使用java,来自php或rails,你会感到宾至如归

  • 它是静态的(除了模板和路由,即将在下一个版本上更改),因此您需要编译器检查和安全重构.

  • 工具支持:IDE支持(eclipse,intellij,netbeans)

  • 无休止的图书馆集合,可以做你想做的一切,好吧,它只是java

  • 在jvm上运行,拥有多年的经验和优化

  • 它是编译的,所以你可能期望更好的性能

  • 它真的是fullstack:它包含了开发Web应用程序,编译器,Web服务器,内存数据库服务器,离线文档,集成数据库管理器,本地和分布式缓存管理,固定装置,演进,依赖关系管理,许多实用程序库所需的一切,单元测试,硒测试,ide支持.你不需要apache或mysql设置来启动和运行

  • 它具有高级功能,如异步请求,Web套接字,异步作业

  • 零开发环境设置:只需解压缩play.zip,玩新的我的应用程序,播放运行myapp

  • 优秀的文档

  • 伟大而快速发展的社区

  • 斯卡拉坚定地走在它的视野中,如果你来自一种动态语言,你可能会对scala之类的语言感到更舒服,即使它是静态的

  • 可以部署到任何servlet容器,如tomcat,但也有它自己的轻量级服务器

  • 它有越来越多的社区贡献模块

  • 它是云友好的,适用于gae,heroku,playapps,cloudbee,dotcloud等...(见这个问题)

  • 源代码:这是它的主要优点之一,即使它经常被忽略.源代码非常易读,易懂且不过度设计.即使没有太多的Java知识,也可以查看代码,理解它,并开始为项目做出贡献

在我的特殊情况下,来自php和经典的asp背景,播放允许我在学习java的同时启动并运行Web应用程序.它真的让我享受从动态语言到java的过渡......

与其他动态Web框架相比,Play有一些优势,但我认为如果你精通codeignter,rails,django等,如果你不愿意从java(或scala)生态系统中受益,你应该坚持你的意思知道...


Cod*_*nci 7

最近在Google网上论坛上也有类似的争论,但更具体地说是比较Play和Ruby(在Rails上).我试图整理社区为此主题提供的一些反馈,而不仅仅是给我个人观点.希望这将有一个更圆润的答案!

  1. 静态地键入业务逻辑层(并使用新的模板引擎,甚至您的视图将被静态类型化).因此,这也具有更好的IDE支持的优点.
  2. 可以使用Java和Scala,因此您不限于单个技术堆栈.
  3. 播放只是开箱即用,但也是高度可配置的,因此不会强迫您使用特定方法.
  4. 在内存DB中.非常适合刚开始使用的新开发人员.无需开始设置WAMP/LAMP服务器等.只需下载游戏,您就可以开始了!
  5. 它的Java(或Scala)!我迷上了Play,因为我不情愿地使用PHP,因为这是托管个人网站最简单的方式,但是我讨厌以我认为结构不合理的方式构建软件.Play允许我在没有大量J2EE应用程序的情况下使用Java.