Your SlideShare is downloading. ×
Grails敏捷项目开发
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Grails敏捷项目开发

1,858

Published on

在2011年6月份珠三角技术沙龙深圳会场分享的主题

在2011年6月份珠三角技术沙龙深圳会场分享的主题

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,858
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
33
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • 1 、 OO 2 、 MOP
  • 基于 #grails 的社会化项目管理初创公司 Manymoon 被 Salesforce.com 收购了 http:// bit.ly/dUbiJM
  • Grails 1.4 Dependency Updates: Groovy 1.8, Spring 3.1, Hibernate 3.6 and Tomcat 7 Agent Based Reloading Better Plugin Usage Tracking Better Java Integration (Expose GORM API via AST transformations) Improved Scaffolding UI with HTML5 Enhancements Improved Static Resource Handling New Mixin-based unit testing support Binary plugins Replace Prototype With jQuery Replace HSQLDB with H2 GORM Enhancements Schema Migrations Reverse Engineering Abstract Inheritance Implement findByOrCreate (or similar)
  • Transcript

    • 1. Grails 敏捷项目开发 2011.6.12 rain
    • 2. @rainboyan
      • Blogger @ http:// rainboyan.com
      • Twitter @rainboyan
      • 目前从事移动 BI , Android/iOS
      • 读书、户外、跑步、摄影
    • 3. 网站及作品
      • GroovyFans.org
      • LinkQ.Net
      • GeekPark.In
      • Ratte – http://code.google.com/p/ratte
    • 4. 来此目的?
      • 学习 Groovy&Grails 于 2007 年初,用于项目开发于 2008 年秋
      • Java 框架众多,选择的自由亦痛苦,直到遇到了 Groovy 、 Grails
    • 5. “simplify the life of developers” - Guillaume Laforge, 2005
    • 6. 目录
      • 介绍
      • 开发实践
      • 案例
      • 总结
      • Q&A
    • 7. 目录
      • 介绍
      • 开发实践
      • 案例
      • 总结
      • Q&A
    • 8.
      • 介绍
      • Groovy - http://groovy.codehaus.org
      • Grails - http://grails.org
    • 9. Groovy 语言
      • 基于 JVM 的动态语言
      • 借鉴了 Python 、 Ruby 、 Smalltalk
      • 直接编译成字节码
      • 开放源码 ASL 2.0
      • 比较完整的生态体系
      • 1.0 发布于 2007.1.2
    • 10. Java 程序
      • public class HelloWorld {
      • private String name;
      • public void setName(String name) {
      • this .name = name;
      • }
      • public String getName() {
      • return name;
      • }
      • public String greet() {
        • return “Hello ” + name;
        • }
      • public static void main(String[] args) {
      • HelloWorld helloWorld = new HelloWorld();
      • helloWorld.setName(“Groovy”);
      • System.out.printn(helloWorld.greet());;
      • }
      • }
    • 11. Groovy 程序
      • public class HelloWorld {
      • private String name;
      • public void setName(String name) {
      • this .name = name;
      • }
      • public String getName() {
      • return name;
      • }
      • public String greet() {
        • return “Hello ” + name;
        • }
      • public static void main(String[] args) {
      • HelloWorld helloWorld = new HelloWorld();
      • helloWorld.setName(“Groovy”);
      • System.out.printn(helloWorld.greet());;
      • }
      • }
    • 12. Groovier 版本
      • class HelloWorld {
      • String name
      • String greet() {
        • “ Hello $name“
        • }
      • }
      • def helloWorld = new HelloWorld(name: “Groovy”)
      • printn helloWorld.greet()
    • 13. 更多简洁语法
      • Lists
        • def numbers = [1, 2, 3, 4, 5]
      • Maps
        • def colors = [red: ‘ 红’ , yellow: ‘ 黄’ , blue: ‘ 蓝’ ]
      • Ranges
        • def ages = 18..60
    • 14. GString
      • def person = “John”
      • def letter = “““${ new Date()}
      • Dear ${person},
      • this is a Groovy letter!”””
      • println letter
    • 15. Closures
      • def printNum = {
      • println it
      • }
      • (1..9).each { printNum it }
    • 16. Java 5 特性
      • 标注 (Annotation) ,泛型 (generic) ,静态引入 (static import) ,枚举 (enum) ,变参 (varargs) (1.5.0 版本 )
      • AST (*1.8.0 版本 )
    • 17. 其他
      • GDK
      • GSQL
      • XML&JSon
      • Builders
      • MOP
      • DSL
    • 18. Grails 框架
      • 参照了 RoR 的实现思想, CoC
      • 构建与 Java 和 Groovy 之上
      • 使用了稳定的开源框架
      • 1.0 发布于 2008.2.4
    • 19. Why Grails ?
      • 更少的代码,高效、高产、高质量
      • 开源,基于更多的开源框架,例如 Spring , Hibernate , SiteMesh
      • 与 Java 集成,能够复用以前的项目库
    • 20. Grails 特性
      • Groovy
      • MVC
      • GORM
      • Plugins
        • 500+ , UI , Ajax , Testing , Security , Web Services
    • 21. 谁在用 Grails ?
      • LinkedIn
      • ManyMoon
      • Sky.com
      • balsamiq.com
    • 22. Grails more
      • 依赖库升级: Groovy 1.8, Spring 3.1, Hibernate 3.6 Tomcat 7 (1.4)
      • 静态资源模块化处理 (1.4)
      • UI 使用 HTML5 (1.4)
      • jQuery 默认支持 (1.4)
      • GORM 抽象继承的支持及数据库的逆向工程 (1.4)
    • 23. Grails more>>
      • OSGi (2.0)
      • Security 的抽象内置支持 (2.0)
      • 实现全部的 Hibernate 配置选项 (2.0)
    • 24. 目录
      • 介绍
      • 开发实践
      • 案例
      • 总结
      • Q&A
    • 25.
      • 开发实践
      • 迭代开发, KISS 原则
      • 测试先行, TDD 实践
      • 代码精炼, DRP 原则
      • 用好工具,“工欲善其事必先利其器”
      • 软件复用,模块化开发
    • 26.
      • 开发实践
      • 迭代开发, KISS 原则
      • 测试先行, TDD 实践
      • 代码精炼, DRP 原则
      • 用好工具,“工欲善其事必先利其器”
      • 软件复用,模块化开发
    • 27. 1 )迭代开发
      • 美好愿景
        • “ 灯塔”的作用
      • 快速原型
        • 开始要简单
      • 小版本发布
        • 轻装上路,保持节奏,快速前进!
      • 逐步优化
        • 没有最好,只有更好!
      • 跟踪反馈
        • 继续前进的动力
    • 28. Grails 命令集
      • grails create-app demo
      • grails test-app
      • grails run-app
      • grails war
      • grails set-version
    • 29.
      • 开发实践
      • 迭代开发, KISS 原则
      • 测试先行, TDD 实践
      • 代码精炼, DRP 原则
      • 用好工具,“工欲善其事必先利其器”
      • 软件复用,模块化开发
    • 30. 2 )测试先行
      • TDD 是否有必要?
      • 单元测试和集成测试、功能测试
      • 测试代码的考量和维护
    • 31. Grails 测试支持
      • Unit Testing
      • Integration Testing
      • Functional Testing
    • 32. Grails 测试之: 单元测试
      • GrailsUnitTestCase {
      • mockFor(class, loose=false)
        • mockDomain(class, testInstances=)
      • mockLogging(class, enableDebug=false)
      • mockController(class)
      • mockTagLib(class)
      • }
    • 33. Grails 测试之: 集成测试
      • GrailsTestCase {
      • }
    • 34. Grails 测试之: 功能测试
      • Canoo Webtest
      • G-Func
      • Selenium-RC
      • WebDriver
      • Geb
    • 35.
      • 开发实践
      • 迭代开发, KISS 原则
      • 测试先行, TDD 实践
      • 代码精炼, DRP 原则
      • 用好工具,“工欲善其事必先利其器”
      • 软件复用,模块化开发
    • 36. 3 )精简代码
      • 使用脚手架(
        • def scaffold = Domain
      • 使用代码模板生成
        • grails gernerate-all com.~.domainClass
      • 使用插件
        • grails create-plugin plugin-app
      • 使用标签
        • grails create-tag-lib foo
    • 37.
      • 开发实践
      • 迭代开发, KISS 原则
      • 测试先行, TDD 实践
      • 代码精炼, DRP 原则
      • 用好工具,“工欲善其事必先利其器”
      • 软件复用,模块化开发
    • 38. 4 )用好工具
      • IDE
        • Eclipse
        • IDEA
        • STS
      • 构建工具:
        • GAnt
        • GMaven
        • Gradle
    • 39.
      • 开发实践
      • 迭代开发, KISS 原则
      • 测试先行, TDD 实践
      • 代码精炼, DRP 原则
      • 用好工具,“工欲善其事必先利其器”
      • 代码复用,模块化开发
    • 40. 5 )代码复用
      • 基于 Plugin 系统的模块化开发
        • grails create-app app-plugin
      • OSGi
        • 通过 osgi 插件
    • 41. 目录
      • 介绍
      • 开发实践
      • 案例
      • 总结
      • Q&A
    • 42.
      • 案例
      • LinkedIn
      • ManyMoon
      • Sky.com
      • balsamiq.com
    • 43. 目录
      • 介绍
      • 开发实践
      • 案例
      • 总结
      • Q&A
    • 44.
      • 总结
      • 语言不是问题
        • 容易学习,几乎直接兼容原有 Java 代码
      • 性能不是问题
        • 1.4 的性能已经快接近 JSP
      • 社区不是问题
        • 需要更多人参与,立即动手开始使用!
      • 更好的建议
        • “ 如果你正在开发一个新的项目,优先考虑使用 Grails 或者 Spring Roo 。”来自 Rod
    • 45.
      • Q&A
      ?
    • 46. Let’s just do it!

    ×