前一段时间,我是房地美,房地美,Foreclosure.com和HUD等公司在房地产市场上进行一些大型部署的技术负责人。 我们运行的是您可能熟悉的传统企业Java堆栈-Spring , Hibernate ,Solr等。花了几年时间,但我们建立了一个非常好的系统。 它表现不错,但深入我的内心,我感觉开发没有达到应有的生产力。 我还注意到,整个开发过程并不像以前那样有趣。

当然,我听过很多有关Rails,Django和最近的Node.js的精彩故事; 实际上,围绕这些技术有一些引人入胜的故事。 我最终将大量的业余时间用于这些技术上,而我实际上非常开心地用它们来构建一些小型应用程序和原型。 但是,第二天早上我会醒来,去上班,面对另一个重要的重要项目,然后回到我尝试过的事实:Java。

其中一个项目是房利美的在线报价管理系统,该系统在第一个月就收到了10亿美元的报价。 在我看来,我无法向这种重要项目的团队介绍一种全新的语言,尤其是像Python或Ruby这样的脚本语言。 从个人经验来看,如果没有类型检查,我很难管理一个大型项目。 我对Java领域的选择并不感到十分兴奋,因为我对Java领域的选择并不感到十分兴奋,而与其他选择(例如Grails,Spring Roo等)相比,我的成功程度却很小。那时,我并不想放弃Java作为一种语言,尤其是因为它的可靠性而逐渐成为我信任的JVM。

然后我遇到了Play ; 对我来说一见钟情。 我很想告诉您我是如何玩到Play的,只需在Twitter( @_felipera )上关注我。 一旦决定乘车兜风,我马上就起来跑步! 使用一个简单的命令“ play new”,就定义了整个应用程序结构。 然后再执行另一个简单的命令“ play run”,就可以开始聚会了! 我立刻就松了一口气,因为我不需要拿出所有这些XML文件,Spring的applicationContext.xml,web.xml,Hibernate的HBM文件,然后就可以弄清楚如何将它们连在一起! 即使在使用这些技术多年后,我仍然必须从某个地方复制并粘贴它们。 我永远都不记得所有这些语法。

对我来说,另一个明显的吸引力是Play能够即时重新加载类而无需重新部署整个应用程序或重新启动服务器。 我想我们都知道在应用程序上工作,对类进行更改,执行maven或ant deploy会是什么样子……等到打包战争之后……复制到deploy目录中……等待servlet上下文被破坏……然后再等待一些时间来部署应用程序。 然后…最终部署了应用程序之后,我们打开浏览器,进入开发环境,然后出现错误! 问题可能像将单个字符放到某处一样简单。 不管问题是什么,我们仍然需要重新完成整个过程。 到第三次或第四次发生时,开发人员会在Slashdot,Hacker News或他/她最喜欢的网站上划分区域。 Play可以很好地处理课程重载; 您真的不必重启服务器!

Play的无状态模型也吸引了我,该模型“无共享” HTTP体系结构。 我们中的许多人都不幸地开发了,甚至更糟糕的是,它支持基于Stateful模型构建的基于J2EE的应用程序。 管理状态,集群安全的缓存对象,HTTP会话确实非常困难,尤其是对于那些Enterprise Java Bean(EJB)以及附加对象的整个概念而言。 Play不会在每个节点之间共享状态,从而简化了群集的管理,它提供了可感知群集和群集安全的缓存解决方案。

伙计,我可以整夜继续前进,但我会让我摆脱所有的疯狂! 简而言之, Play是用于现代Web应用程序的完整堆栈框架,具有基于NIO的开发和生产服务器,对MVC的完全支持,持久性引擎,完全集成的测试框架(单元测试和功能测试),强大的异步Web服务客户端,基于异步的作业管理器,可通过模块使用的多个扩展,通过其插件机制,依赖项管理,验证框架以及WebSockets等更高级的功能支持对框架行为的完全自定义。

我不知道你们是否知道,但我是个老人。 我从事Web应用程序开发已有15年左右的时间。 并且在大多数情况下,具有永恒的激情。 但是Play重新振兴了我对重新开发Web应用程序的热爱。

参考: 为什么我会爱上游戏! 框架? 从我们的JCG合作伙伴 Felipe Oliveira在“极客完全加入”博客中获得。

相关文章 :
  • 简单的Twitter:Heroku上的Play框架,AJAX,CRUD
  • RabbitMQ播放模块! 构架
  • Spring MVC开发–快速教程
  • SmartGWT入门,提供出色的GWT界面
  • Vaadin附加组件和Maven
  • Java教程和Android教程列表

翻译自: https://www.javacodegeeks.com/2011/10/play-framework-why-did-i-fall-in-love.html

玩! 框架:为什么我会爱上它相关推荐

  1. tp框架 db::name_玩! 框架:为什么我会爱上它

    tp框架 db::name 前一段时间,我是房地美,房地美,Foreclosure.com和HUD等公司在房地产市场上进行一些大型部署的技术负责人. 我们运行的是您可能熟悉的传统企业Java堆栈-Sp ...

  2. java 什么时候依赖注入_玩框架java依赖注入 – 何时使用单例

    So I am wondering, should I be using singleton objects as the examples seem to imply? If this is the ...

  3. 分而治之_播放框架模块:分而治之

    分而治之 通常情况是您开始开发应用程序并继续满足需求. 当您的应用程序变得更大时,您开始意识到将其分为不同组件的便利. 而且,当您开发第二个或第三个应用程序时,您开始认识到可以在不同应用程序之间重用的 ...

  4. 播放框架模块:分而治之

    通常情况是您开始开发应用程序并继续满足要求. 当您的应用程序变得更大时,您开始意识到将其分为不同组件的便利. 而且,当您开发第二个或第三个应用程序时,您开始认识到可以在不同应用程序之间重用的某些功能. ...

  5. php 框架源码分析,Laravel框架源码解析之模型Model原理与用法解析

    本文实例讲述了Laravel框架源码解析之模型Model原理与用法.分享给大家供大家参考,具体如下: 前言 提前预祝猿人们国庆快乐,吃好.喝好.玩好,我会在电视上看着你们. 根据单一责任开发原则来讲, ...

  6. python学英语游戏_美国大佬推荐,一边玩一边学Python编程,12个游戏轻松掌控Python...

    你还在坚持Python编程吗?如此枯燥的学习方式,靠自己的意志真的能坚持到最后吗? 放弃吧!与其辛苦的执着,不如看美国大佬推荐的Python编程闯关游戏,一边学编程一边玩游戏,以后连"吃鸡& ...

  7. xcode新版本single view_动态数组函数系列1|概况-跟以往Excel版本完全不一样玩法的函数...

    早就听说在Office2019和Office365版本中增加了动态数组函数(Dynamic arrays),早前一直处于内测阶段,只对部分预览用户开放.昨天试了一下,我用的版本已经更新可用了.当前我使 ...

  8. 解析mysqlbinlog日志_关于mysql-binlog日志解析框架

    欢迎广大码农爱好者向我推荐框架,我会择其精要.有趣者分享给大家. 今天下午,有同学献出了一款软件,说是海外澳洲番邦向朕进贡的,于是品尝了一番. 软件名称:mysql-binlog-connector ...

  9. ml-agents_使用ML-Agents的自玩功能来训练智能对手

    ml-agents In the latest release of the ML-Agents Toolkit (v0.14), we have added a self-play feature ...

最新文章

  1. 攻防世界php2_攻防世界-web2
  2. Java正則表達式詳解
  3. python 新闻摘要_每日新闻摘要:运营商承诺他们不再出售您的位置…
  4. gdb调试常用命令速查(段错误调试)
  5. JavaScript学习笔记 - 变量、作用域与内存问题
  6. 【报告分享】见实私域流量白皮书:私域流量案例实操手册.pdf
  7. PJblog跨站漏洞利用及修补
  8. Integer与int的种种比较
  9. 俄羅斯大神 Ratiborus 的推特
  10. 白帽子讲web安全读后感
  11. linux本地yum源配置
  12. 利用51单片机输出PWM波
  13. 黑马程序员3天带你玩转Python深度学习TensorFlow框架学习笔记
  14. 网络正常且开启了代理Chrome不能正常上网的解决方法
  15. ansible模块authorized_key
  16. 网关 路由器 防火墙
  17. 1、关于douyin 小红书等平台 人均985 211的想法
  18. Nexus(maven私服)介绍、安装及使用教程
  19. 【云计算 | Openstack】KVM虚机通过dhcp自动获取地址
  20. ffmpeg 添加 sei 编码信息和解析

热门文章

  1. kotlin dsl_Spring Webflux – Kotlin DSL –实现的演练
  2. java github_GitHub Research:超过50%的Java记录语句写错了
  3. crud-table_我个人的CRUD故事-或我如何来到CUBA平台
  4. go micro java_Java Micro Framework:您无法忽略的新趋势
  5. apache mesos_Apache Mesos:编写自己的分布式框架
  6. 对象空指针_可选和对象:空指针救星!
  7. Apache Ivy 2.5.0发布
  8. unwind neo4j_Neo4j 2.1:传递节点ID与UNWIND
  9. 引导性GCP:带有Google Cloud Pub / Sub的Spring Cloud Stream
  10. 认识适配器:JSON绑定概述系列