`
deepinmind
  • 浏览: 450846 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
1dc14e59-7bdf-33ab-841a-02d087aed982
Java函数式编程
浏览量:41555
社区版块
存档分类
最新评论

Play和Grails框架的优缺点

阅读更多

框架为程序员提供了一些有用的特性从而简化了应用开发的过程。Java开发人员经常使用框架,由于框架非常流行,因此市场上你会发现各种各样的Java框架。新手经常在论坛里面提问,“哪个Java框架最好?"

首先,没有一个框架是最好的,因为他们都有自己的优点和缺点。因此,你必须结合项目的需求来进行考虑。你必须考虑到像可伸缩性,复杂性,截止日期等关键因素,当然了,还有预算。

今天,我们来讨论下两个非常著名的Java框架,Play和Grails的优缺点。



Play

这是市场上当前最好用的框架之一了。开发人员喜欢它是因为它容易编程,可扩展并且功能强大。Play还可以使用Scala语言来进行开发。

我们来看下Play的一些主要特性。

1. 开发人员在开发和测试阶段经常会做一些小的改动来验证最佳的方案。通常来说,他们需要重启系统才能看到他们做的改动。然而,如果你使用Play的话,你要做的只是刷新下浏览器就能马上看到最近的改动了。
2. 它只有一个XML配置文件,并且大多数配置都要么是默认的,要么是自动设置的。
3. 它不使用Servlets API。因此,开发人员才可以使用热插拔。

它的优点
  • 你的开发效率会更高,因此你可以同时进行多个项目,并且在截止日期前将它们全部交付。
  • 测试应用变得非常简单,并且测试提供的是真实的结果。
  • 用户接口非常直观

  • 它的缺点
  • Scala是门相对复杂的语言,因此开发人员可能用它会觉得不太舒服。
  • 它不支持向下兼容。比如,Play 2就不再兼容Play 1。因此,如果你计划迁移一个已经的应用到上面的话,你得重新再做一遍了。
  • 它背后的架构等东西理解起来会比较困难。
  • 虽然有很多插件,但都不太稳定。


  • Grails

    这是另一个开源的Java开发框架。Grails是基于Hibernate, Spring和SiteMesh来构建的。它使用Groovy作为标准的开发语言,由于Groovy和Java很像,开发人员用Grails的话上手会很快。

    我们来看下Grails的主要特性。

    1. 你可以反复地使用一段相同的代码来执行不同的操作。
    2. 简化了XML操作。

    它的优点
  • 开发周期很快
  • 如果是小型或者中型的项目,Grails是你的理想选择。
  • 框架提供了许多插件,让你的开发变得简单。
  • 它的文档让人印象深刻
  • 设置的过程非常简单。因此,用不了一个小时你就可以开始构建你的应用程序了。
  • 简单的GORM。这可能需要花点时间去学,但一旦你熟悉了它,它绝对是非常强大的。
  • 点一下刷新按钮你就能马上看到你做的改动了
  • Less CSS框架的插件。是的,管理CSS变得更轻松了。
  • 动态配置特性。因此,你修改配置可以不用重启服务器。


  • 它的缺点
  • 你需要和动态语言打交道。它的不好的一点就是容易出错,同时你还得忍受动态语言的其它缺点。
  • 如果你开发的是一个多线程的应用。GORM可能会问题很多。
  • 你得花钱去买IntelliJ Idea因为别的IDE要么不支持Grails,要么只支持有限的特性。
  • 开发人员经常用def来声明变量,这和object是等效的。代码很难维护。
  • 解释型语言很笨重,这直接影响到运行时间
  • 你必须学习Groovy编程。
  • 你可以使用GORM,但其它的任何ORM它都不支持
  • 集成的过程很复杂。

  • 正如你所看到的,每个框架都有自己的优缺点。因此,你不能依赖别人的意见。根据你项目的需求,自己选择该用Play还是Grails吧(注:当然可能两个都不用)。

    原创文章转载请注明出处:http://it.deepinmind.com

    英文原文链接

    4
    1
    分享到:
    评论
    2 楼 xpjava 2014-08-27  
    Grailsu上手会很快的。 Play没用过。
    1 楼 jilen 2014-05-30  
    2013年9月份的文章,play早已不是当初那个模样了

    相关推荐

      学习grails框架时候自己写的例子

      Grails框架是一个基于Java平台的开源Web应用框架,它利用Groovy编程语言提供简洁、高效的开发体验。在学习Grails的过程中,创建实例是理解和掌握其核心概念的关键步骤。标题提到的"学习grails框架时候自己写的例子...

      grails框架

      首先,和rails,django等web框架类似,基于微内核的思想,插件(可重用模块)是框架的一等公民。grails除了核心模块以外的功能几乎都是通过插件方式实现的。实际上,一个grails插件和一个grails应用基本是完全一样的...

      grails框架心得

      用grails开发过程中,项目优化配置,系统间调用等的总结。

      grails 开发框架-4

      grails1.0开发框架4 类似于ruby on rails的框架。

      Grails-开源框架---使用指南(中文)

      Grails是一套用于快速Web应用开发的开源框架,它基于Groovy编程语言,并构建于Spring、Hibernate等开源框架之上,是一个高生产力一站式框架。 Grails这个独特的框架被视为是提升工程师生产效率的动态工具,因为其...

      grails 开发框架-3

      grails1.0开发框架3 类似于ruby on rails的框架。

      grails框架数据查询

      **Grails框架数据查询** Grails是一个基于Java平台的开源Web应用框架,它采用Groovy语言,提供了MVC(Model-View-Controller)架构模式,旨在简化开发过程,提高开发效率。在Grails中,数据查询是核心功能之一,...

      使用GORM构建Spring Boot应用程序 Grails指南_ Grails框架.pdf

      GORM是Grails框架的核心部分,它为开发者提供了简单、强大的数据持久化功能,支持Hibernate和MongoDB等数据库。尽管我们不会直接使用Grails框架,但我们可以将GORM集成到Spring Boot应用中,利用其便利的ORM能力。 ...

      the definitive guide to grails 2

      同时,它也提供了依赖管理工具,使得开发者可以轻松地引入和管理第三方库和框架。 #### Plug-ins(插件) Grails拥有丰富的插件生态系统,提供了大量的现成解决方案,涵盖了安全、缓存、邮件、社交网络等功能。...

      grails 开发框架-5

      grails1.0开发框架5 类似于ruby on rails的框架。

      grails 开发框架-1

      grails1.0开发框架1 类似于ruby on rails的框架。

      Grails开源框架 - 使用指南

      自己制作的《Grails开源框架 - 使用指南》CHM电子书

      Groovy和Grails配置方法

      Grails集成了许多先进的开源项目和技术,如Spring、Hibernate等,这使得开发者可以更加专注于业务逻辑而不是框架本身。 #### 二、环境配置 **1. 安装Java** Groovy和Grails都是基于Java平台的,因此首先需要安装...

      Grails权威指南 Grails权威指南

      通过《Grails权威指南》,你可以学习到如何利用Grails的强大功能来开发高效、可扩展的Web应用,同时也了解到如何利用Groovy语言和Grails框架的最佳实践,提升你的开发技能。这本书深入浅出地讲解了Grails的各个方面...

      Grails权威指南 中文版

      《Grails权威指南 中文版》是一本专注于Grails框架和Groovy语言的中文版技术书籍。本书的作者是Grails项目负责人Graeme Keith Rocher,他将自己对于Grails框架的深刻理解和使用经验编纂成书,以便向读者全面介绍这一...

      Java程序员使用Grails的十大优势

      这种灵活性和扩展性使得Grails成为一个非常适合快速原型开发和敏捷迭代的框架。 #### 8. 约定优于配置(Convention Over Configuration, CoC) Grails遵循“约定优于配置”的原则,这大大简化了开发流程。在许多...

      Grails Grails Grails

      总结来说,Grails 是一个强大的Web开发框架,借助Groovy的灵活性和Java生态的稳定性,为开发者提供了高效的开发环境。无论是初学者还是经验丰富的开发者,都能从Grails的简洁设计和强大功能中受益。通过深入学习...

    Global site tag (gtag.js) - Google Analytics