Java 简单来说,Groovy/Grails/Hibernate/JBoss/Jade是什么?

Java 简单来说,Groovy/Grails/Hibernate/JBoss/Jade是什么?,java,grails,groovy,jboss,agents-jade,Java,Grails,Groovy,Jboss,Agents Jade,我是Java新手。虽然才六个月,但我确实懂Java 有时在阅读有关它的文章时,我会遇到这些术语-Groovy、Grails、Hibernate、JBoss、Jade等等 我知道我可以单独阅读关于他们的所有信息但是有人能给我一个树梢上的视角看看这里发生了什么吗? 这是什么?我们有Java,这些都是基于Java的? 为什么有这么多事情?我们为什么需要它们? Groovy是自己的编程语言,但运行在Java虚拟机上 Grails是Groovy的web应用程序框架(使用数据库支持构建网站) Hiberna

我是Java新手。虽然才六个月,但我确实懂Java

有时在阅读有关它的文章时,我会遇到这些术语-Groovy、Grails、Hibernate、JBoss、Jade等等

我知道我可以单独阅读关于他们的所有信息但是有人能给我一个树梢上的视角看看这里发生了什么吗? 这是什么?我们有Java,这些都是基于Java的? 为什么有这么多事情?我们为什么需要它们?

  • Groovy是自己的编程语言,但运行在Java虚拟机上
  • Grails是Groovy的web应用程序框架(使用数据库支持构建网站)
  • Hibernate是一个用于将Java对象映射到数据库表和数据库表的工具
  • JBoss是一个Java应用服务器,您可以在其中部署web应用程序
  • 我相信Jade是一个用Java构建分布式“代理”的框架
要回答为什么我们有它们:编程语言是不够的。如果你在一次采访中告诉我“我懂Java”,但不知道Hibernate、Spring、log4j、JAXB等,我会说你不懂Java。这是因为没有人再只使用核心语言构建应用程序了。他们重用框架和组件,这样他们可以花更少的时间开发基础设施,花更多的时间解决业务问题。因此,Hibernate、JBoss和Jade是Java语言的可重用框架或平台。类似地,Grails是Groovy语言的框架,两者都支持与Java的集成

作为一名开发人员,这是一个很酷的时间,但也有很多东西需要学习:-)

实际上在他们最近的一个新闻广播中简要地谈到了这一点。在许多编程圈中,通常有一个用于特定目的的主要库或框架(Python通常是这样的)。但是在Java中,正如您所提到的,通常不止一个。他们推测,这是因为Java编程社区太大了,对于同一个问题,有足够的空间容纳多个主要解决方案

话虽如此,你提到的项目实际上都是为了不同的目的而设计的


如果你喜欢听播客,我推荐Java Posse,因为他们对Java周围和与Java相关的新技术进行了有趣的研究。

其中一些是类比,并不完美。这是一个过度简化,但应该给你一个起点,以罚款更多的信息。Groovy是Ruby,但在JVM上运行。Grails是RubyonRails的java版本,使用Groovy而不是Ruby作为编程语言。Hibernate是一种被许多Java程序员使用的工具,也用于Grails框架。Jboss是Apache,但它运行Java代码而不是CGI或PHP。我对Jade一无所知,所以我会让你参考SingleShot的答案。我们有这么多东西,因为Java社区非常庞大,人们对如何做事情有自己的想法。我们在技术上不需要这些,因为Java是图灵完整的,但它们提高了开发人员的生产率。使用Grails要比手工编写SpringXML文件容易得多。

JADE(Java代理开发框架)是一个完全用Java语言实现的软件框架。它通过一个符合FIPA规范的中间件和一组支持调试和部署阶段的图形工具简化了多代理系统的实现

有关更多信息:

酷!我想知道为什么其他语言(C/C++)没有出现这种情况?我认为在某种程度上,Ruby、Groovy,也许还有其他语言都有这种情况。有很多用于C++的库(Ex.Boost),但是没有多少成为事实上的标准,而java则有。JBOSS不是Apache,也不是。这是一个开源JavaEE应用服务器,其公司被红帽收购。甚至不能说Java EE应用服务器“运行Java代码而不是CGI或PHP”,“使用Grails要比手工编写Spring XML文件容易得多。”-这也是错误的。Grails约定并不是为了摆脱SpringXML配置。对不起,我得投票否决这个答案。有太多的错误信息。我也不同意“Groovy是JVM上的Ruby”——JRuby是JVM上的Ruby,Groovy比Ruby更接近Java。Grails借鉴了Rails的一些约定,但在建模数据库的方法上也有很大的不同。在我工作的地方,我们选择Grails,其中一个主要原因是避免了Spring给基本web应用程序带来的复杂性。