教程– Griffon:使用Groovy构建桌面应用程序

如果您愿意将Groovy融入其中,那么构建桌面应用程序将是一种愉快的体验。 Griffon是一个遵循Grails精神的应用程序框架,将乐趣带回了桌面开发。

桌面应用程序开发 ,这是当今Web开发,并发性和并行性都很少听到的术语。 但是,这并不意味着它已经死了。 实际上,在某些行业中,桌面应用程序是解决特定问题的最佳选择。 在某些其他环境中,出于安全原因,这是唯一的选择。 想想金融机构,银行,卫生行业,生物研究,化学实验室,卫星运营和军事; 仅举几个。 所有这些都施加了一组特定的限制,其中桌面应用程序优于Web应用程序,例如安全性,对本地资源的访问,设备和端口通信。 他们的共同点是格里芬。 是的,格里芬框架已帮助所有这些行业和领域的团队完成工作。

您可能以前听说过格里芬,但仍然想知道它是什么。 简而言之,它是JVM的桌面应用程序平台。 由于该项目是Groovy Swing团队的智囊团:Danno Ferrin,James Williams和我本人,因此它在Groovy社区中具有很深的渊源。 话虽如此,如果我对Griffon的某些功能感到有些兴奋,那么您可以原谅我,因为我非常喜欢该项目。 框架设计背后的主要推动力是Java开发人员应该很容易理解它。 它还应能使编码周期更快,同时保持源代码整洁。 最后,必须立即意识到生产率的提高和乐趣因素。

由于这些原因,团队决定遵循Grails框架及其社区的步骤。 这两个框架之间有很多相似之处。 例如,两者都具有命令行界面,可帮助您完成创建,构建,打包和部署应用程序的常规任务。 这两个框架都将Groovy语言用作各自软件堆栈的粘合剂。 该工具的集成也相当不错,因为主要的IDE和流行的文本编辑器为处理此类项目提供了良好的支持。

但是足够的理论知识,让我们开始实践吧! 本文的其余部分将致力于构建一个简单的通讯簿应用程序。 我们绝对不会在剩下的几页中构建完整的应用程序,但我希望所有要讨论的内容将为您提供足够的指导,以使您着手使用框架。

第一步是在计算机上下载并配置Griffon。 这样做有多种选择。 如果从下载页面中选择通用安装程序,它将解压缩二进制文件并为您配置路径环境,尤其是在Windows平台上。 或者,如果您使用的是Linux计算机,则可以尝试使用RPM或基于Debian的软件包。 ZIP或TGZ包可能是您的最后选择。 只需下载该软件包,然后将其解压缩到您选择的目录中即可-最好是没有空格的目录。 接下来,配置环境变量 GRIFFON_HOME ,该 环境变量 指向解压缩Griffon二进制发行版的目录。 最后,确保PATH环境变量包含对 GRIFFON_HOME / bin 的引用 如果一切顺利,在打开–version标志的情况下调用griffon命令应显示类似以下内容的输出

$ griffon –版本

————————————————

狮riff 0.9.5

————————————————

版本:2012年3月15日下午12:56

Groovy:1.8.6

蚂蚁:1.8.2

Slf4j:1.6.4

Spring:3.1.0。发布

JVM:1.6.0_29(Apple Inc.20.4-b02-402)

作业系统:Mac OS X 10.6.8 x86_64

好的。 是时候开始做生意了……

初始步骤

首先,我们如何创建应用程序? 通常,您可以选择基于Maven的方法并选择适当的原型来引导项目。 或者,您仅可以简单地创建一个新目录,获取一些Ant脚本并使用它来完成。 或者让您可信赖的IDE做出决定。 选择,选择,选择。 griffon命令行工具可以为您提供帮助。 通过调用以下命令,每个Griffon应用程序都以相同的方式启动

$ griffon创建应用程序通讯录

$ cd通讯录

您会在输出中看到一连串的行。 如果需要,请继续检查新创建的应用程序的内容。 create-app命令通过创建几个目录和一些文件来初始化应用程序。 这些目录之一特别重要,其名称为griffon-app。 在此目录中,您将找到另一组目录,这些目录有助于保持源代码的有条理。 图1 显示了刚才创建的griffon-app目录的扩展内容。

如您所知,Griffon利用MVC模式来排列组成应用程序的元素。 创建应用程序后,您还将获得一个初始MVC组,其名称与应用程序的名称匹配。 每个MVC成员中都有足够的代码来使应用程序运行。 是的,信不信由你,该应用程序已准备好启动。 返回控制台并执行以下命令

$ griffon运行应用程序

这应该编译应用程序源,程序包资源,汇总依赖关系并启动应用程序。 在几秒钟内,您应该会看到一个弹出的窗口, 如图2 所示

当然,它并没有太大的用处,但是我们还没有编写任何代码! 清单1显示了在打开文件 griffon-app / views / addressbook / AddressbookView.groovy 时可以找到的内容。

 
package addressbook
application(title: 'addressbook',
  preferredSize: [320, 240],
  pack: true,
  //location: [50,50], 
  locationByPlatform:true,
  iconImage: imageIcon('/griffon-icon-48x48.png').image,
  iconImages: [imageIcon('/griffon-icon-48x48.png').image,
               imageIcon('/griffon-icon-32x32.png').image,
               imageIcon('/griffon-icon-16x16.png').image]) {
    // add content here
    label('Content Goes Here') // delete me
}

我们在这里看到的是基于流行的Groovy功能:构建器的基于Swing的域特定语言(简称DSL)。 在我们的特殊情况下,我们正在处理SwingBuilder。 构建器不过是知道如何构建层次结构的节点和规则的集合。 巧合的是,Swing UI由组件树组成。 在“视图”中,我们可以观察到名为“应用程序”的顶级节点,以及一些应用于其的属性。 接下来,我们看到一个名为“ label”的子节点,带有一个文本条目。 您可能会看到 图2 所示的代码结构<

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值