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

grt*_*3kl 17 .net java 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吗?

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

fab*_*474 14

我是这个问题的作者,我可以根据自己的经验给你一些分享.

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

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

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

GRAILS的优势

  1. GORM(见上文)

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

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

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

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

GRAILS弱点

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

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

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

ASP.NET MVC优势

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

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

ASP.NET MVC弱点

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

  2. 微软:即使ASP.NET MVC是开源的,你完全依赖于他们的决定(和价格).

底线 如果您的项目有截止日期,如果您的成功至关重要,那么请选择ASP(根据您的背景).否则,试试Grails ..别担心,你也会成功,但需要更多时间.我也深信Grails刚刚开始漫长的旅程,它有一个美好的未来(见谷歌趋势)

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

祝好运