【问题标题】:advantages of play framework for people coming from php / ruby / python来自php / ruby​​ / python的人玩框架的优势
【发布时间】:2011-11-18 20:00:13
【问题描述】:

play 框架的最大卖点之一是它的开发周期,只需修复代码,返回浏览器,点击重新加载,然后继续运行,所有这些都没有 j2ee Web 开发典型的编写、编译、部署和麻烦.

尽管如此,对于来自 php、ruby 或 python 的 web 开发人员来说,这并不奇怪,而且它被认为是开发 web 应用程序的自然方式。

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

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

【问题讨论】:

    标签: java frameworks playframework dynamic-languages


    【解决方案1】:

    在我看来,这些是主要优势

    • 它是 java,所以如果你对 java 不适应,又不愿意学习它,那可能不是优势。另一方面,如果您必须使用 java,来自 php 或 rails,您会感到宾至如归

    • 它是静态的(模板和路由除外,这将在下一版本中更改),因此您可以进行编译器检查和安全重构。

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

    • 无穷无尽的库集合来做你想做的一切,好吧,它只是 java

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

    • 已编译,因此您可能会期待更好的性能

    • 它真的是全栈:它配备了开发 Web 应用程序、编译器、Web 服务器、内存数据库服务器、离线文档、集成数据库管理器、本地和分布式缓存管理、固定装置、演变、依赖项所需的一切管理、大量实用程序库、单元测试、硒测试、IDE 支持。您无需安装 apache 或 mysql 即可启动和运行

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

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

    • 优秀的文档

    • 伟大且快速发展的社区

    • scala 坚定地在它的视野中,如果你来自动态语言,你可能会觉得像 scala 这样的语言更舒服,即使它是静态的

    • 可以部署到任何servlet容器,比如tomcat,也可以自带轻量级服务器

    • community contributed modules 的集合不断增加

    • 它对云很友好,适用于 gae、heroku、playapps、cloudbee、dotcloud 等...(请参阅this 问题)

    • 源代码:这是它的主要优势之一,尽管它经常被忽视。源代码可读性强、易于理解且没有过度设计。即使没有太多 Java 知识,也可以查看代码、理解代码并开始为项目做出贡献

    在我的特殊情况下,来自 php 和经典的 asp 背景,play 让我在学习 java 的同时启动并运行了一个 web 应用程序。它真的让我享受从动态语言到 Java 的过渡......

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

    【讨论】:

    • 缺点呢?看起来它根本不是面向组件的。
    • 你是对的,play 是一个基于请求的框架,而不是一个组件。我不知道这是优点还是缺点,这取决于你的喜好(虽然我对游戏有点偏见)看看这个问题stackoverflow.com/questions/1247627/…
    【解决方案2】:

    最近在 Google Groups 上进行了类似的辩论,但更具体地比较了 Play 和 Ruby(在 Rails 上)。我试图整理社区对此主题提供的一些反馈,而不仅仅是给我个人观点。希望这将使答案更全面!

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

    【讨论】:

    • 是的,我刚刚看到了这个问题......我也在和一个来自 php 世界的朋友讨论这个问题
    【解决方案3】:

    播放框架。 Play 深受 Ruby on Rails 和 Django 的启发。熟悉这些框架中的任何一个的开发人员都会有宾至如归的感觉。

    1) Play 利用 Java 的强大功能构建 Web 应用程序,通过解除 Java EE 的限制,Play 为开发人员提供了一个易于开发且优雅的堆栈,旨在提高生产力。

    2) 它专注于开发人员的生产力并以 RESTful 架构为目标。 Play 是敏捷软件开发的完美伴侣。

    3)play的文件夹结构大多与Rails匹配。

    4) Play 动态加载代码。只需修复 Java 文件中的错误并点击重新加载,更改将立即反映在网页上。无需经历那些缓慢的重建/部署/服务器重启。

    5) 无需配置:无需配置,只需下载、解压即可开始开发。

    6) 错误发现非常简单,当出现错误时,play就在浏览器中显示错误信息、文件路径、行号和相关代码sn-p。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-23
      • 1970-01-01
      • 2010-11-06
      • 2011-09-03
      • 1970-01-01
      • 2011-06-08
      • 2018-11-04
      • 1970-01-01
      相关资源
      最近更新 更多