iT邦幫忙

DAY 21
2

Cloud Foundry 雲端應用開發實戰系列 第 21

Cloud Foundry 雲端應用開發實戰(21/30)Grails 介紹

Cloud Foundry 是開放源碼的 PaaS 解決方案,支援多種程式語言、開發框架及資料庫等服務,而且更容易開發、測試及佈署。本系列文章將從零開始,和學習者一起開啟雲端應用程式開發的大門。

今天開始陸續介紹 Grails 在 Cloud Foundry 的開發佈署方式。
前面的章節已經介紹過 Sinatra 、 Ruby on Rails 及 Node.js 等開發框架,接下來要介紹的是屬於 Java 世界的 Grails,這個開發框架由同屬 VMWare 公司的 SpringSource 發展,在 Cloud Foundry 平台當然也受到良好的支援及整合。

Cloud Foundry 建議的開發工具之一:STS(Spring Tool Suite),提供 Grails 的整合開發環境;另外還有 NetBeans 及 IntelliJ IDEA 等開發工具,也都支援 Grails 專案的開發。

但是對於經常使用整合開發環境的 Java 開發者來說,剛開始使用 Grails 反而會有些不習慣,因為實際上 Grails 並不需要特別的開發工具,只要使用 command-line 搭配一般程式碼編輯器就能輕鬆開發。你可以將 Grails 當做是 Java 版的 Rails,我也喜歡將它稱為「Groovy on Grails」。

為什麼是 Groovy 而非 Java 呢?

因為 Grails 捨棄繁瑣難寫又依賴開發工具的 Java 程式語言,改用另一個在 Java VM 上執行的新語言:Groovy,這個簡化 Java 又加上許多增強語法的新語言,擁有 Scripting Language 的開發簡便優勢,因此讓 Grails 在開發整個專案時,都可以像 Ruby on Rails 或 PHP 那樣,只要撰寫容易修改及測試 Script 程式碼即可。

舉例來說,定義一個 Model(Domain Class) 很簡單,只要使用 Groovy 撰寫 POJO(Pure Object Java Object)風格的類別。

::

class User {
String name
String password
}

撰寫 Controller 也相當容易:

::

class UserController {
def show(Long id) {
[user: User.get(id)]
}
}

至於 View 則充分利用 JSP + JSTL 但是更加簡單:

::

<h1>${user.name}</h1>
<p>Password: ${user.password}</p>

Grails 也提供 Scaffolding 並支援 Unit/Integration Test 等現代開發框架應具備的功能,同樣可以利用既有的 Java 套件(例如 JasperReport);但比起傳統複雜的 Java EE 開發框架,開發更加簡單快速。

延伸閱讀

* Spring Framework(http://www.springsource.org/spring-framework)
* Grails(http://grails.org/)
* Groovy(http://groovy.codehaus.org/)
* NetBeans and Grails(http://netbeans.org/kb/docs/web/grails-quickstart.html)
* STS and Grails(http://www.grails.org/STS+Integration)
* IntelliJ IDEA and Grails(http://www.jetbrains.com/idea/features/groovy\_grails.html)


上一篇
Cloud Foundry 雲端應用開發實戰(20/30)使用 MongoDB 資料庫服務
下一篇
Cloud Foundry 雲端應用開發實戰(22/30)Grails 開發環境建置
系列文
Cloud Foundry 雲端應用開發實戰31

1 則留言

0
ted99tw
iT邦研究生 1 級 ‧ 4 年前

沙發

此系列一定要好好拜讀才行!!

讚讚讚

我要留言

立即登入留言