【问题标题】:What are the essential Java libraries and utilities for a returning dynamic language user?对于返回的动态语言用户来说,有哪些基本的 Java 库和实用程序?
【发布时间】:2010-03-31 03:53:11
【问题描述】:

长期从事 Java 开发,但在过去 3 年左右的时间里,我在 Web 应用程序方面花费了更多时间与 Ruby 打交道。我真的很喜欢它,但是我发现了一些我不会在这里讨论的问题。

现在我找到了Play! framework,我很高兴能够在Java 的速度和可靠性方面获得类似Rails 的体验。除了玩什么!开箱即用,我正在为习惯于务实、动态体验的 Java 开发人员寻找有关“不能错过”的库和工具的建议。我找到了Project Lombok,这看起来是一种非常有趣的方式来消除大量的样板文件和不必要的 Java 噪音。我还应该知道什么?我知道 Google 在过去三年中发布了很多我在 Java Posse 上听说过的库,但我不记得它们到底是什么了。我敢肯定,在我不在的时候,我想念其他人。

那么,是什么构成了当今您必不可少的 Java 工具箱?

感谢您的回答!

【问题讨论】:

    标签: java ruby-on-rails ruby jakarta-ee playframework


    【解决方案1】:

    我想说Guava 是必须的。您可能还想通过 google 查看guice

    如果你对多线程编程感兴趣,那么java.util.concurrent是必须的……

    【讨论】:

    • 这绝对是我想要记住的库之一。谢谢!
    【解决方案2】:

    在 Java 虚拟机上运行、利用 Java 库以及与 Java 互操作的语言发生了很多事情,但这些语言更具表现力。看看JRuby(运行Rails),Groovy(和类似Rails的Grails),ClojureJython(一个Python实现),甚至Javascript(见Rhino解释器,编写在 Java 中)。

    特别有趣的是Scala,它非常优雅地融合了面向对象编程和函数式编程。 Scala 的速度几乎与 Java 一样快,与 Java 具有最佳的互操作性,并且非常具有表现力。 Scala 程序可以比 Java 程序短得多。 Lift 框架可与 Scala 世界中的 Rails 相媲美。

    【讨论】:

    • 我对 JRuby 和 Groovy 非常熟悉。两者我都喜欢,但 Grails 只是一组复杂的 Java 项目的 Groovy 外衣,调试问题可能是一场噩梦。我想我要的是特定于 java 的库和工具。我已经做了一段时间的动态语言的事情......但我已经准备好至少再次尝试静态类型和 java ;-)
    • (Scala 是静态类型的,但使用类型推断使其感觉像是一种动态语言。)
    • 在图书馆前面,看看 Google Collections(@Zwei 指出的 Guava 项目的一部分)。我对 iBatis(持久性管理器)和 Restlet(支持 RESTful Web 应用程序和 Web 服务的框架)非常满意。我也在使用 Google 的 Jackson JSON 库。
    【解决方案3】:

    我一直只关注commons-lang。很多讨厌的东西被封装在类中。例如,它有助于编写 equals 和 hashcode。我将它与 projectlombok 进行比较,它在运行时通过反射完成,但可以排除特殊属性。

    对于并发,您可以查看Akka,它适用于 Scala 和 Java。我永远无法测试它,但我在 JAX 上听过一个关于它的会话,它似乎很好。

    【讨论】:

      【解决方案4】:

      今天,我找到了lambdaj,它为您提供了很多类似 groovy 的可能性。我没有任何经验,但我认为值得仔细研究一下。

      【讨论】:

        【解决方案5】:

        为了让我的非网络软件“开放”,我总是添加(嵌入)Jetty,最近又添加了RESTEasy。让“restfull”API 成为孩子们的游戏。

        【讨论】:

          猜你喜欢
          • 2010-11-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-12-03
          • 2010-11-27
          • 1970-01-01
          • 2010-09-19
          • 2010-10-19
          相关资源
          最近更新 更多