写点什么

Grails 开发者需要知道的 10 个技巧

  • 2009-02-27
  • 本文字数:1522 字

    阅读完需:约 5 分钟

如果要列举近些年来 Java 领域中最令人激动的事件,Grails 的诞生绝对应该榜上有名。在打开 Grails 官方网站时,你会在浏览器的标题栏上看到这样的内容:“Grails - 寻找就此结束”。虽然这句话不见得适用于所有场合,但对于不少从事 Java Web 开发的人来说,赞同者恐怕不在少数。由于具备 Rails 风格的框架、兼容绝大多数 Java 语法的 Groovy 动态语言、以业界口碑良好的框架为基础、对企业现有 Java 开发资产的保护、Plugin 架构等特点,再加上 Spring 社区的强力介入,Grails 行情看涨应该是意料之中的。

然而 Grails 却没有看上去那么简单,在其包装的糖衣之下,有着许多作为 Java Web 开发者不得不了解的知识。最近, Peter Delahunty 发表了题为 Grails 开发者需要知道的 10 个技巧的博文。不要被标题所迷惑了,这里所说的“技巧”可不是那些语言层面的“技巧”,把它们称为“建议”恐怕更合适一些。

技巧 1:把 Grails 的书籍买来读读。对此,Peter Delahunty 推荐了已出版的《Definitive Guide to Grails 2nd edition》和《Groovy and Grails Recipes》,以及即将出版的《Grails in Action》。

技巧 2:学习 Groovy,并按照 Groovy 进行思考。Peter Delahunty 通过一个例子说明了 Java 思维和 Groovy 思维的不同。

这儿有个好例子: 传播操作符(spread operator):*

在 Java 中,要想遍历一组人并收集人名。我可能得这样写:

List names = new ArrayList();<br></br>for (Iterator iterator = people.iterator(); iterator.hasNext();) {<br></br>Person person = (Person) iterator.next();<br></br>names.add(person.getName());<br></br>}<br></br>System.out.println(names);<br></br> 用 Groovy,我会这么写:def names = people*.name<br></br>println names<br></br> 呵呵,简单吧。我还可以这样写:def names = people.collect {it.name}<br></br>println names<br></br>

在这个建议中,他列举了一些资源:

以及一些书籍:

  • Programming Groovy
  • Groovy Recipies
  • Groovy in action

技巧 3:了解 Grails 的各个插件。Peter Delahunty 给出的理由:Grails 本身是个插件系统,而且现在已经有大量的插件可供下载。在自行实现之前,不妨看看其中是否有称手的。

技巧 4:学习 Hibernate 和 Spring。这一点不难理解,既然 Grails 是建立在这些工具之上的,了解这些工具本身的使用,对于熟练使用 Grails 自然大有脾益。

技巧 5:使单元测试、集成测试和一般测试的自动化。Peter Delahunty 在这里推荐了两个 Grails 的插件: Testing Plugin Functional testing plugin 。前者将成为 Grails 1.1 的内置插件。

技巧 6:使用好的 IDE。Peter Delahunty 表示,他自己使用的是 Intellij,但对于 Netbeans 也寄予厚望。

技巧 7:学习并使用 HTML W3C 标准。“遵循标准将消除你 90% 的问题”,Peter Delahunty 如是说。

技巧 8:看上去不错一定不错。这其实说的是“面子工程”,通过提高应用的外观设计来提高应用的竞争力。Peter Delahunty 给出了 2 个资源:

技巧 9:使用 Firefox 上的 Firebug。对于浏览器端的调试工作,Firebug 绝对是一个必备工具。

技巧 10:跟上 Groovy 和 Grails 社区的步伐。在这最后一个建议中,Peter Delahunty 给出了获取 Groovy 和 Grails 信息的主要资源链接:

请务必阅读 Peter Delahunty 的原文。对于 Grails 的新老使用者,你都可以从 Peter Delahunty 的建议中有所收获。关于 InfoQ 中文站 Groovy 和 Grails 的其它内容,请访问这里这里

2009-02-27 03:563764
用户头像

发布了 255 篇内容, 共 61.3 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

让企业内部开发游刃有余,平台工程到底是什么?

树上有只程序猿

DevOps 软件开发 平台工程

校源行丨开放原子开源基金会赴苏州大学走访交流

开放原子开源基金会

开源

软件测试/测试开发丨Python 错误与异常 学习笔记

测试人

Python 程序员 软件测试 自动化测试 测试开发

技术分享| WebRTC之SDP详解

anyRTC开发者

WebRTC RTC sdp

手把手带你玩转HetuEngine:资源规划与数据源对接

华为云开发者联盟

大数据 后端 华为云 华为云开发者联盟 企业号 8 月 PK 榜

和鲸 ModelWhale 与中科可控多款服务器完成适配认证,赋能中国云生态

ModelWhale

云原生 服务器 信创

关于云原生开源开发者沙龙「微服务X消息队列专场」的延期通知

阿里巴巴云原生

阿里云 微服务 云原生 消息队列

生成式AI技术:引领未来内容创作

百度开发者中心

物联网, 云计算, 文心一言 人工智能、

解决跨时区跨语言的国外大文件传输问题

镭速

跨国传输大文件 传输大文件 国外大文件传输

备份或同步数据?跨国大文件传输的不同需求与解决方案

镭速

大文件传输 跨国文件传输

中路对线发现正在攻防演练中投毒的红队大佬

墨菲安全

网络安全 npm 投毒 投毒分析

九科信息成功签约中交财资管理(香港)有限公司-境外银行账户可视化管控流程自动化系统项目

九科Ninetech

画质提升+带宽优化,小红书音视频团队端云结合超分落地实践

小红书技术REDtech

音视频 小红书

生成式AI:人工智能新范式,引领生产力革命

百度开发者中心

#人工智能 文心一言

RocketMQ 5.0 架构解析:如何基于云原生架构支撑多元化场景

阿里巴巴云原生

阿里云 RocketMQ 云原生

介绍一下我们的开源“充电之旅” - 两位新晋 Apache Flink Committer 专访

字节跳动云原生计算

flink 开源 字节跳动 流式计算

揭秘!CIPU最新秘密武器–弹性RDMA的技术解析与实践

阿里云弹性计算

小米交卷大模型,全新小爱同学实测来了

Openlab_cosmoplat

小米 大模型 小爱同学

低代码系列——初步认识低代码

互联网工科生

软件开发 低代码 JNPF

开放网关架构演进

阿里技术

网关 开放网关

报名开启 | HarmonyOS第一课“营”在暑期系列直播

HarmonyOS开发者

HarmonyOS

科技前沿的助力:探索语音标注平台的奇迹

数据堂

借助 AI 工具,真的能成为 10x 工程师?

飞算JavaAI开发助手

拯救开源:《网络韧性法案》即将带来的悲剧

开源雨林

开源 LICENSE

MySQL的Json类型字段IN查询分组和优化方法

北桥苏

MySQL SQL优化 虚拟字段

SRE方法论之服务质量目标

不思jo

SRE

人机协作的交融:语音标注平台的秘密

数据堂

慧函数生成代码应用到IDEA遇到依赖包问题怎么办?

飞算JavaAI开发助手

Grails开发者需要知道的10个技巧_Java_胡键_InfoQ精选文章