来自php / ruby​​ / python的人玩框架的优势

Posted

技术标签:

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

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

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

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

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

【问题讨论】:

【参考方案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 是一个基于请求的框架,而不是一个组件。我不知道这是优点还是缺点,这取决于你的喜好(虽然我对游戏有点偏见)看看这个问题***.com/questions/1247627/…【参考方案2】:

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

    静态类型业务逻辑层(并使用新的模板引擎,甚至您的视图将静态类型)。因此,这也具有更好的 IDE 支持的优势。 可以使用 Java 和 Scala,因此您不受限于单一技术堆栈。 Play 开箱即用,但也具有高度可配置性,因此不会强迫您使用特定的方法。 在内存数据库中。非常适合刚开始的新开发人员。无需设置 WAMP/LAMP 服务器等,即可开始使用。只需下载 play,您就可以开始使用了! 它的 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。

【讨论】:

以上是关于来自php / ruby​​ / python的人玩框架的优势的主要内容,如果未能解决你的问题,请参考以下文章

十张图读懂 PHPPython Ruby 三大语言的差异

Ruby Red - Rule The World

php 是不是有相当于 python 的 virtualenv 或 ruby​​ 的沙箱?

最适合照片共享网站的语言:PHP、Python、Ruby 还是其他? [关闭]

为 Java、Python、Ruby、Node.JS 和 PHP 开放支付网关库

PHP 薪水高Ruby 高可用Python 最易学……web 开发语言大比拼