写点什么

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

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

关注

评论

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

前嗅教你大数据——什么是代理IP?

前嗅大数据

爬虫 数据采集 静态IP 代理IP 动态IP

【MySQL】如何最大程度防止人为误操作MySQL数据库?这次我懂了!!

冰河

MySQL 数据库 性能优化 数据安全 分布式数据储存

Springboot过滤器和拦截器详解及使用场景

AI乔治

Java spring 架构 Spring Boot

甲方日常53

句子

工作 随笔杂谈 日常

11.11 应对海量访问的网络基石 京东智联云自研交换机发展之路

京东科技开发者

运维 网络 交换机

什么是云服务?

anyRTC开发者

音视频 WebRTC 云服务 RTC

新工业化如何实现?今年的信息化百人会中藏着“懂行”密码

脑极体

《网络是怎样连接的》PDF下载

计算机与AI

网络

vue项目实战经验汇总

徐小夕

Java 面试 Vue 大前端 Vue3

【活动回顾】WebRTC服务端工程实践和优化探索

ZEGO即构

WebRTC 服务端工程

数字货币引发的金融变革

CECBC

数字化时代

MySQL中的锁机制

AI乔治

Java MySQL 架构 线程 锁机制

Redis 持久化之 RDB 与 AOF 详解

AI乔治

Java 架构 redis持久化 redia

Dubbo 接口,导出 Markdown ,这些功能 DocView 现在都有了!

程序员小航

markdown idea插件 IntelliJ IDEA 文档生成 Doc View

SQL数据库:窗口函数

正向成长

窗口函数

Nginx-技术专题-技术介绍

码界西柚

什么是低代码(Low-Code)?

移动研发平台EMAS

工具 研发效能 低代码 开发 代码

我真的尽力了,最经典Redis面试14题,没时间复习就看这个吧

小Q

redis 学习 编程 架构 面试

会装虚拟机,删库不用跑

MySQL从删库到跑路

虚拟机 virtualbox

阿里P8以hashmap讲解如何学习jdk源码,还不学习

小Q

Java 学习 源码 jdk mybatis

MySQL从库维护经验分享

Simon

MySQL 主从复制

CSS 排版与正常流 —— 重学CSS

三钻

CSS 排版

国网浙江建设公司推进“信用基建+区块链”建设

CECBC

区块链 国网 基建

智变的八个瞬间,京东智联云化“?”为“!”

脑极体

面经手册 · 第18篇《AQS 共享锁,Semaphore、CountDownLatch,听说数据库连接池可以用到!》

小傅哥

Java 并发编程 共享锁 Semaphore 信号量

读谱对吉他手来说重要吗?试试它提升你的读谱效率

奈奈的杂社

学习 编曲 打谱

高承实:区块链的工业革命带来了什么?

CECBC

区块链 分布式

【薪火计划】03 - 从错误中认识到管理

码字与律动

管理

注册中心原理剖析

石刻掌纹

Glide.with(view)挂在了谁的生命周期上

mengxn

生命周期 Glide Activity Fragment

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