比较新项目的 ASP.NET MVC 和 Grails
Posted
技术标签:
【中文标题】比较新项目的 ASP.NET MVC 和 Grails【英文标题】:Comparing ASP.NET MVC and Grails for a new project 【发布时间】:2010-12-13 13:26:20 【问题描述】:大家好。我认为自己是一名中级开发人员,但坦率地说,可能更接近新手而不是专家。无论如何,我在 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 吗?
非常感谢。如果有什么需要澄清或改写的,请告诉我。我真诚地希望我没有打开一罐蠕虫......
【问题讨论】:
【参考方案1】:我是这个question的作者,我可以根据自己的经验给你一些分享。
正如问题中所述,我没有真正的偏好,我愿意接受任何可以满足我要求的技术/平台。经过多次不同技术的尝试(至少几天使用 php、Rails、ASP 和 Grails)和 *** 的一些答案,我最终遇到了和你一样的困境:Grails 还是 ASP.NET MVC?
我选择了 Grails。为什么?因为 GORM。几乎只是因为 GORM。仅处理您的域类并自动生成/更新您的 DB 模式真是太棒了。当然,它有其局限性,但这对于查询和维护数据库来说非常强大。不用写SQL了,很容易学。
现在这是我对这两种技术的 2 美分比较:
圣杯优势
GORM(见上文)
完整的 Web Stack 框架:您可以在几分钟内生成一个网站,并且一切都已经配置好了
很多东西要学:你有 Spring MVC、Hibernate、Sitemesh、Java、JEE、Groovy...一旦你掌握了 Grails,你就可以在你的简历中添加一个额外的页面
Java 世界。无论你需要什么,如果它已经存在于 Java 中,你就可以使用它。
Groovy:我真的很喜欢这种编程语言。熟悉需要时间,但一旦熟悉,您就会爱上它。
圣杯弱点
内存使用情况。 Grails/groovy 对内存很贪心,它可能比 Web 托管的 ASP 成本更高
Grails 错误:有一些错误,当您开始使用新技术的新项目时,您认为大多数问题都来自您……直到您发现(1 或 2 天后)它是一个 Grails 错误。所以我的建议是循序渐进:尽快测试,不要试图扭曲框架。它的边缘很粗糙,所以请遵循通常推荐的方法。但是,2个月后,我不再遇到大问题了。
调试:由于框架的多层,错误通常隐藏在大量异常行中。此外,唯一不错的 IDE 调试器是 IntelliJ,但这不像 VS 下的 .NET 那样容易调试
ASP.NET MVC 优势
社区:非常庞大!首先它得到了微软的支持,其次 30% 的网站都是用 ASP.NET 构建的。您可以找到任何 sn-ps 代码、任何小部件、任何 AJAX 组件、任何 CMS...Grails 社区非常活跃,但您能与数百万匹敌吗?
Visual Studio:我绝对同意你的观点:没有更好的 IDE。 IntelliJ 对 Grails 非常好,但同时使用两者,我更喜欢 VS
ASP.NET MVC 弱点
ASP.NET 的年轻:这是一个年轻的框架。建立在稳定的技术上,但足够年轻(不到 2 年),也有一些错误/一些不好的做法。事实上,社区非常期待 ASP.NET MVC 的下一个版本。
Microsoft:即使 ASP.NET MVC 是开源的,您也完全依赖于他们的决定(和价格)。
底线 如果您的项目有紧迫的期限,并且对您的成功至关重要,那么请选择 ASP(根据您的背景)。否则,试试Grails ..别担心,你也会成功,但需要更多时间。我也深信,Grails 才刚刚开始它的漫漫征程,它有着美好的未来(见google trends)
Dmitriy 更新:如果您参考 Google 趋势,您必须比较其中两个 Groovy Grails and ASP.NET MVC。
祝你好运
【讨论】:
我已更新答案,将 Grail 和 ASP.NET MVC 纳入 Google 趋势。这会更公平一点。 Dmitriy - 非常感谢您的详细回答!这正是我一直在寻找的。我真的认为这是将 SO 与其他任何论坛区分开来的一个例子。在选择其中一个之前,我确实打算同时使用 Grails 和 ASP.NET MVC。我在每个方面都做了一点,希望在下周左右做出决定。我将等待几天来选择一个答案,希望从其他人那里得到更多的见解。再次感谢! 哦,Grails 中的内存问题是一个大问题吗?这实际上是我第一次听说。此外,我似乎认为 ASP.NET MVC 的障碍会更少,事情会更无缝地发生。对于一个大型的、可扩展的应用程序,这是否是真的?双方的障碍是否一样多?有时我想知道我对 .NET 的偏见是否有道理,或者我是否基于甚至可能不正确的事情。如果我错了,请纠正我,但这可能是在 Google 趋势中比较它们的最公平方式吗? google.com/trends?q=grails,asp.net+mvc 我的错误。我的问题是针对这个答案的作者 fabien7474。我没有时间在 ASP.NET MVC 方面做很多事情,但我一直在关注 IBM 的 Mastering Grails 系列,虽然有点过时,但似乎非常有帮助! ibm.com/developerworks/views/java/… @grt3kl。根据各自的谷歌趋势,APS.NET MVC 和 Grails 两种技术似乎都有一个不断发展的社区。但是在同一张图上比较两者会给你一个相当平坦的 grails 斜率,因为 ASP 更受欢迎。【参考方案2】:这是在此之前已经被问过很多次的问题......
http://74.125.155.132/search?q=cache:BpGj8RtSUIsJ:***.com/questions/1283935/what-technology-asp-php-joomla-rails-grails-for-a-website-from-scratch+Which+technology+to+choose+%28ASP.net+or+Grails%29&cd=1&hl=en&ct=clnk&gl=us&client=firefox-a
祝你好运!
【讨论】:
我在发布之前确实阅读了该主题。虽然问题很相似,但它的范围要大得多,我真的想对我的具体问题有所了解。不过,我非常感谢您的回应和鼓励!以上是关于比较新项目的 ASP.NET MVC 和 Grails的主要内容,如果未能解决你的问题,请参考以下文章