写点什么

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:564004
用户头像

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

关注

评论

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

IoTDB 探索季活动|大疆无人机等你来拿

Apache IoTDB

软件测试学习笔记丨Selenium弹窗操作

测试人

软件测试

80%腾讯程序员都在用,腾讯云AI代码助手让编码提效42%

科技热闻

【DevOps系列】CICD流程建设之持续集成实践指南

嘉为蓝鲸

DevOps 持续集成 CI/CD

【DevOps系列】CICD流程建设之警惕反模式

嘉为蓝鲸

DevOps CI/CD 反模式

Apache Seata(incubating) 首个版本重磅发布!

阿里巴巴云原生

Apache 阿里云 云原生

「用户故事」 从 Thanos 到 GreptimeDB,我们实现了 Prometheus 高效长期存储

Greptime 格睿科技

数据库 云原生 数据迁移

对象存储防勒索升级:XEOS 国内首家通过 NBU 对象锁认证

XSKY星辰天合

豆包MarsCode Agent 登顶 SWE-bench Lite 评测集

TRAE.ai

AI

场景题:百万数据插入Redis有哪些实现方案?

王磊

附演讲视频|隐语城市行·北京站:行业发展趋势、大模型前沿技术、实践落地案例干货打包

隐语SecretFlow

五大场景实践 深度解读指标平台业务价值

Aloudata

财务规划的成功战略之一:建立数据驱动型决策

智达方通

数据分析 企业管理 财务分析 财务管理 财务规划

如何炼就 AI 原住民的“自我修养”丨通义灵码走进北京大学创新课堂

阿里巴巴云原生

阿里云 云原生 通义灵码

【核电科技企业】构建一体化服务器智能运维平台,助力降本增效

嘉为蓝鲸

AIOPS 运维‘ 一体化运维

【DevOps系列】需求的层次结构:业务驱动的协作与产品导向的交付

嘉为蓝鲸

DevOps 需求分析

喜报!博睿数据再获“信创工委会技术活动单位”称号

博睿数据

软件测试学习笔记丨Selenium多frame切换

测试人

软件测试

如何妥善处理 TCP 代理中连接的关闭

不在线第一只蜗牛

网络协议 网络

如何炼就 AI 原住民的“自我修养”丨通义灵码走进北京大学创新课堂

阿里云云效

阿里云 云原生 通义灵码

【DevOps系列】DevOps全过程质量管控

嘉为蓝鲸

DevOps

浅谈inBuilder中元数据的灰度更新方案

inBuilder低代码平台

低代码 元数据 低代码中的元数据

鸿蒙NEXT应用上架与分发步骤详解

威哥爱编程

华为 HarmonyOS Open Harmony HarmonyOS框架 HarmonyOS NEXT

从云原生到 AI 原生,网关的发展趋势和最佳实践

阿里巴巴云原生

阿里云 云原生 网关

【DevOps系列】DevOps工具链选型指南

嘉为蓝鲸

DevOps 工具链

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