Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 什么web平台适合我?_Spring_Grails_Platform - Fatal编程技术网

Spring 什么web平台适合我?

Spring 什么web平台适合我?,spring,grails,platform,Spring,Grails,Platform,我一直在研究Rails、Grails等web框架。我习惯于使用Hibernate在Spring框架中开发应用程序。。。我想要更有效率的东西 我意识到的一点是,尽管Grails中的一些东西很性感,但它也存在一些严重的问题。Grails的控制器: 1) 执行得很糟糕。它们似乎无法在运行时从超类扩展。我尝试添加基本操作和助手方法,这似乎导致grails崩溃 2) 基于过时的请求参数模型(而不是更好的表单支持对象) 3) 很难测试。命令对象的处理方式完全不同。。。实际上,编写测试比编写控制器代码要困难得

我一直在研究Rails、Grails等web框架。我习惯于使用Hibernate在Spring框架中开发应用程序。。。我想要更有效率的东西

我意识到的一点是,尽管Grails中的一些东西很性感,但它也存在一些严重的问题。Grails的控制器:

1) 执行得很糟糕。它们似乎无法在运行时从超类扩展。我尝试添加基本操作和助手方法,这似乎导致grails崩溃

2) 基于过时的请求参数模型(而不是更好的表单支持对象)

3) 很难测试。命令对象的处理方式完全不同。。。实际上,编写测试比编写控制器代码要困难得多

4) 命令对象的操作完全不同。它们是预先验证和绑定的,这导致了比基本参数模型更多的不一致性

5) 命令对象是不可重用的,重用域类中的大部分内容(如约束和字段)是一件麻烦事。在basicspring中,这是很容易做到的。为什么在Grails中这么做不是件小事

6) 生成的脚手架纯粹是垃圾。它不会概括插入和更新。。。它实际上在两个视图中复制/粘贴了一堆代码:create.gsp和edit.gsp。这些风景本身就是一大堆狗狗做的。它使用低级参数而不是对象,这一事实进一步加剧了这种情况

集成测试比Spring集成测试慢30倍。真恶心

有些模拟测试很难编写,而且在部署时不能保证工作,因此我认为它不鼓励快速的tdd测试周期

在grails运行时,大多数事情似乎都会把它搞砸,比如添加一个taglib,或者其他什么。服务器重启问题根本没有解决

我开始认为使用Spring/Hibernate/Java是唯一的出路。虽然初创公司的成本相当大,但我知道它最终会平稳下来


真糟糕,我不能用Scala这样的语言。。。因为习惯上,它与Hibernate非常不兼容

该应用程序也不是数据库上的普通用户界面。它有一些,但它不会是一个懒散的人。我现在非常害怕Grails,因为它在控制器层是多么糟糕

关于我能做什么的建议?

。您可以在grails的反面列出六项。一个是春天。看来,你更喜欢春天。

你可以检查一下。我目前正在grails中开发一个应用程序,该应用程序似乎进展顺利,而且还没有对play框架做太多工作,因此它可能对您有用,也可能不适用。play框架最近增加的一个功能是Scala模块,它允许您使用Scala编写代码

我开始认为使用Spring/Hibernate/Java是唯一的出路。虽然初创公司的成本相当大,但我知道它最终会平稳下来


然后,或许可以看一看(也可以阅读)。

在过去一年中,我在几个项目中使用了Grails,发现开发效率的提高远远超过了缺点,我还没有发现一个我无法克服的缺点

关于您的一些具体反对意见:

1) 执行得很糟糕。他们没有 似乎能够从超级延伸 在运行时创建类。我试着这么做 添加基本动作和辅助方法, 这似乎导致了圣杯的破灭 起来

FWIW,我从来没有觉得需要从基类扩展控制器。每个控制器都支持特定的HTTP调用,这些调用本身不适合重用,任何需要重用的东西都可以/应该委托给服务

2) 基于过时的请求 参数模型(而非形式) 支持对象,这非常重要 更好)

再说一遍,这对我来说不是问题。Grails将所有参数很好地打包到一个映射中,这就是我通常需要的。如果需要更多,我将创建一个命令对象,这非常简单

3) 很难测试。命令对象 被完全不同的对待。。。和 事实上,要写一篇文章要困难得多 测试比编写 控制器代码

是的,在grails中测试是它的低谷之一。我完全放弃了Grails测试工具,只使用Selenium通过GUI自动化测试。不理想,但对我们来说效果很好

6) 生成的脚手架 这纯粹是废话。这不是一概而论 插入和更新。。。事实上 将一堆代码复制/粘贴为两份 视图:create.gsp和edit.gsp。这个 视图本身就是一大堆 当然是狗狗做的。这是进一步的 由于它使用 低级参数,而不是对象

事实上,我发现脚手架在入门方面非常有帮助。它从未以它的原生形式投入生产(内部应用程序偶尔除外),但它可以节省大量时间来开始开发应用程序的基本构建块。此外,如果您不喜欢提供的脚手架模板,您也可以创建自己的脚手架模板

集成测试比传统测试慢30倍 Spring集成测试。它是 恶心

有些模拟测试很难进行 写作和写作不能保证有效 当它被部署时,我认为 不鼓励快速tdd测试循环

同样,是的,测试不是Grails的强项

大多数事情似乎把圣杯搞砸了 当它运行时,如添加 taglib,或者其他什么。服务器 重启问题根本没有解决

自从1.2发布以来,我在这方面没有遇到任何问题。这是我使用过的运行环境中最干净的更改。当然,有些事情需要重新启动(例如mods到bootstrap),但对于大多数开发阶段来说,它是有效的