你最喜欢的,用Groovy写成的应用程序/框架/库是什么?还有为什么你对它饱含激情?你能说出超过一种么?“那很简单,我最感到热情的就是Griffon,一个基于JVM的桌面应用程序开发平台。Groovy被用于作为框架中的原生语言,而其他JVM语言可能 也被这样对待。对于web开发,没有Grails我不会知道我会怎样编写web应用,简单来说这东西不用提刷新,还有点意思。Gradle是我工具箱中另 外一个宝贝,不管什么时候一有机会我就用它。最后,Spock展示了Groovy编译器的强大,还有AST表达式通过一个简单但是十分强大的测试DSL进 行处理。”
Andres Almiray, Groovy 提交贡献者 Fantom“Fantom是一个优雅的,强烈关注并发和可移植性的新一代语言。不可变性深深融入了Fantom 的类型系统,并且并发使用了演员(actor)模型。Fantom是着意于轻便性来设计的,并且对于Java VM和JavaScript/HTML都有产品质量级别的实现。Fantom务实于关注静态类型的风格,但是也能轻易的允许进行动态编程。它是一种面向对 象语言,但也包含了第一类函数(first class functions),并且许多的标准API都应用了闭包。” Brian Frank, Fantom创始人 Fantom入门Fantom同我们在这个报告中观察的大部分其他语言有一点点不同之处,它的目标是多平台。基于JVM、.Net和JavaScript的编译现在都已经提供支持了,并且鉴于他们已经就位的基础设施,它应该也可能瞄准了其它的目标平台。 但是尽管可移植性和平台成熟度因素是Fantom作者(Brian 和 Andy Frank)考虑的重要问题,它也不是他们要定义这门语言的出处。他们声称Fantom是一个实用的语言,就是为了干实事的。 第一步要做的就是设置环境还有工具。幸运的是,Fantom使得这对于我们来说很容易。Xored搞了一个称作F4的基于Eclipse的IDE,它包含了我们需要让Fantom运行起来的一切。 Pod/脚本(Script)Fantom可以将文件作为脚本执行,你只需要在文件中放置一个带有main方法的类,并且有一个可执行的扇子(fan)就可以运行它了。 class HelloWorldishScript
{
static Void main() { echo("Woah! Is it that easy?") }
} 然而那不是构建Fantom程序的主要方法。对于大型的项目和提前编译好模块的产品级系统,称作Pod,是使用Fantom的构建工具创建的。 构建是通过一个构建脚本编排的,它本质上是Fantom代码的另一块。下面是HTTP服务器样本Fantom实现的构建脚本: using build
class Build : build::BuildPod
{
new make()
{
podName = "FantomHttpProject"
summary = ""
srcDirs = [`./`, `fan/`]
depends = ["build 1.0", "sys 1.0", "util 1.0", "concurrent
1.0"]
}
} 这里有几个事项需要注意,例如依赖规范允许我们用比jar包更少烦恼的方式,更加容易的构建更大型的系统。另外,一个Pod不单单只定义部署命名空间,还 有类型命名空间,统一和简化了两者。现在你可以发现我们的服务器依赖的Pod:sys、util和concurrent。
|