Grails框架优劣势分析及同类比较 - 编程入门网
IDE,这是大多开发者接触Grails时最先提出的问题。可惜的是,这个问题至今没有令人信服的答案。在官方邮件列表上,推荐 比较多的是IntelliJ IDEA,其他可选的是Eclipse,Netbeans。IDEA相对来讲对于Groovy/Grails的支持确实做得最全面,但是对于习惯于开源 IDE的大多数JEE开发者来说,切换到另一个陌生的而且购买费用不低的IDE是个不小的代价,而对于企业来讲为此花钱更换开发环境更是个不小的障碍。 Eclipse和Netbeans的Groovy/Grails支持至今还是比较初步和不稳定,而且进展也相当缓慢。目前我个人更倾向于使用Mac TextMate加上Groovy Grails Bundle。但这并不是一个适合所有人的答案。
尚不成熟的社区 这可能是Grails最关键的隐藏的弱点。一个开源项目的成功与否很大程度上取决于其社区。Rails/Ruby,Django/Python,包括 PHP都属于现今最好的开源社区,活跃的社区对开源项目的成长起到巨大的作用。但是Grails的社区至今还是相当小众,在人数和质量上都无法和以上三大 社区相比。一个不成熟的社区带来的一个明显问题就是Grails项目的开发进度比较慢,相关文档和资料缺乏> 敏捷开发框架横向比较:Grails,Rails,Django性能 和使用Ruby语言的Rails以及使用Python语言的Django相比,使用Groovy语言的Grails可以利用到其整合的JEE组件和JVM本身的性能优势。而在性能是关键的时候,还可以直接使用Java。 Grails项目负责人Graeme Rocher做过一个比较细致的Grails和Rails性能对比评测。 在Grails 0.5和Rails 1.2.3的对比测试中,在包括数据CRUD操作在内的所有项目中Grails全面超越Rails,某些项目的优势可以达到40%-50%。不过这个测试 是在07年初做的,目前已经比较过时,两个项目也已经经历了不少更新。但是基本上说,借助了JVM性能优势的Grails相比100%纯Ruby的 Rails还是在微观性能测试中占有一定上风。 由于Ruby默认运行时VM的性能一般,Django采用的Python语言在微性能测试中也要胜于Ruby,但是Grails和Django的直接对比目前似乎还没有详细可靠的资料。 开发效率 这三种框架在设计理念上基本是一致的:DRY(Don''t Repeat Yourself,不要重复自己)和约定优于配置(Convention over Configuration),所以在开发效率上三者基本不相上下。 另外值得一提的是,Groovy语言本身的特点也使其开发效率比Java高出不少,和其他流行动态语言不相上下,对Grails的开发效率功不可没。Grails框架内提供的魔法般的动态方法都是通过Groovy元编程实现的,包括约定优于配置 中Service类的自动注入,builder,codecs等的实现等等。由于篇幅有限此处无法做进一步举例,大家可以从Groovy主页得到详细的资料。 部署 应用的部署可能是这三种框架区别最大的一点。 对于Grails,基本可以部署在任何Java Servlet容器环境下。而在实际情况中,廉价的Java服务器选择很少,一般只能采用VPS或者独立主机的方式部署。而JVM对内存的要求也不低。虽 然有不少在256MB内存的环境下运行Grails的例子,但是要达到实用的性能的话,至少512MB的内存是必须的。比如Feedlr是部署在一台 540MB内存的VPS服务器上(由Linode提供)。 Rails由于其快速窜红,目前可选的部署服务已经不少了。除了VPS和独立主机外,直接支持Rails的廉价共享主机,甚至Rails云计算服务(Heroku)都是不错的选择。 和Rails一样,Django的部署服务选择也不少。从廉价的共享主机到云计算服务,特别值得一提的是支持Django的Google App Engine服务,是一个很有吸引力的选择。 社区 在本系列上文中提到了Grails在开源社区方面的劣势。Grails目前还是一个很年轻的项目,而Groovy也还是一个年轻而小众的语言。在社区方面,Grails的劣势是比较明显的。 Rails 社区是三者中最热闹的。在偶像级人物DH |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |