比较ASP.NET MVC和Grails的新项目

时间:2009-11-05 19:01:41

标签: java .net asp.net-mvc grails

问候,大家。我认为自己是一名中级开发人员,但坦率地说,可能比专家更接近新手。无论如何,我对C#和.NET平台有更多的经验,但我目前的工作是让我几乎完全使用Java。这本身就是一个问题,但我处理的很好,而且我现在还不能改变我的角色。

另一方面,我开始研究一个高度互动,数据库驱动的Web项目。我这样做是因为我觉得这是一个好主意,而且我知道从头开始做这样的事情的经验对我来说非常有帮助。

我最初想要使用ASP.NET MVC,我仍然倾向于这个方向。我甚至不确定为什么,但我喜欢它背后的社区,在我看来,Visual Studio是最好的IDE。但是,这样做对我目前的工作会适得其反。这让我想到了Grails。尽管我意识到Groovy不是Java,但它似乎足够相似(更不用说它在JVM上运行),我学到的技能仍然可以帮助我完成目前的工作。我对Grails的了解越多,我就越喜欢它,尤其是在我不得不处理我认为工作中极其复杂的J2EE环境之后。

但是好的我发现了坏事。我不禁注意到有很多开发人员对Grails中的错误数量感到恼火。因为我正在开始一个新项目并且我相当缺乏经验,我是否还想考虑Grails?这是一种责任吗?关于其寿命的共识是什么?如果在接下来的几年中它很有可能逐渐消失,我真的很想参与其中。即使错误和长寿问题不是很大,你如何比较Grails的开发和ASP.NET MVC的易用性?我意识到这最后一部分是非常主观的。但是为了比较,让我们说几乎没有技术背景的人处于相同的位置。你会建议他们看一下ASP.NET MVC或Grails吗?

非常感谢。如果有任何需要澄清或改写,请告诉我。我真诚地希望我不会打开一堆虫子......

2 个答案:

答案 0 :(得分:14)

我是question的作者,我可以根据自己的经验给你一些分享。

正如问题所述,我没有真正的偏好,我对任何能够满足我要求的技术/平台开放。经过不同技术的尝试(使用PHP,Rails,ASP和Grails几天)和StackOverflow的一些答案,我最终遇到了与你相同的困境:Grails还是ASP.NET MVC?

我选择了Grails。为什么?因为GORM。几乎只是因为GORM。这非常适合处理您的域类并自动生成/更新您的数据库架构。当然,它有其局限性,但这对查询和维护数据库非常有用。你不再编写SQL了,这很容易学习。

现在这是我对2种技术的2美分比较:

GRAILS STRENGTHS

  1. GORM(见上文)

  2. 完整的Web Stack Framework:您可以在几分钟内生成一个网站,并且所有内容都已配置

  3. 需要学习的东西:你有Spring MVC,Hibernate,Sitemesh,Java,JEE,Groovy ......一旦你掌握了Grails,你可以在简历中添加一个额外的页面

  4. Java世界。无论您需要什么,如果它已经存在于Java中,您就可以使用它。

  5. Groovy:我真的很喜欢这种编程语言。熟悉它需要时间,但一旦完成,你一定会喜欢它。

  6. GRAILS弱点

    1. 内存使用情况。 Grails / groovy对于内存来说是贪婪的,它可能比ASP托管的ASP花费更多

    2. Grails错误:有一些当你开始一项关于新技术的新项目时,你会认为大多数问题都来自你......直到你发现(1或2天后)它是Grails的错误。所以我的建议是按步骤进行:尽快测试,不要试图扭曲框架。边缘粗糙,所以请遵循通常建议的方法。但是,2个月后,我不再遇到大问题了。

    3. 调试:由于多层框架,错误通常隐藏在大量的异常行中。另外,唯一不错的IDE调试器是IntelliJ,但这并不像VS下的.NET那样容易调试

    4. ASP.NET MVC优势

      1. 社区:这是巨大的!首先它得到了Microsoft的支持,其次30%的网站都是用ASP.NET构建的。你可以找到任何代码片段,任何小部件,任何AJAX组件,任何CMS ...... Grails社区非常活跃,但你可以与数百万人竞争吗?

      2. Visual Studio:我绝对同意你的观点:没有更好的IDE。 IntelliJ非常适合Grails但是同时使用它们,我更喜欢VS

      3. ASP.NET MVC弱点

        1. ASP.NET的青春:这是一个年轻的框架。基于稳定的技术,但足够年轻(不到2年)也有一些错误/一些不良做法。实际上,社区强烈期待下一版本的ASP.NET MVC。

        2. Microsoft:即使ASP.NET MVC是开源的,您完全依赖于他们的决策(和价格)。

        3. 底线 如果你的项目有最后期限,如果你成功的关键,那么去ASP(根据你的背景)。否则,试试Grails ..别担心,你也会成功,但需要更多时间。我也深信Grails刚刚开始漫长的旅程,它有一个美好的未来(见google trends

          Dmitriy更新:如果您参考Google趋势,则必须比较其中的两个Groovy Grails and ASP.NET MVC

          祝你好运

答案 1 :(得分:1)