Agile Development With Hobo

24
Agile Web Development with Hobo Evarist Lobo [email protected]

description

The next slide in the series gives more details about the wonders of Hobo.

Transcript of Agile Development With Hobo

Page 1: Agile Development With Hobo

Agile Web Development with Hobo

Evarist Lobo

[email protected]

Page 2: Agile Development With Hobo

Introduction

Hobo is a rapid web application builder It uses Ruby on rails and several plugins Provides default user model and themes CRUD and AJAX support DRYML tagging language and libraries Easily customizable

Page 3: Agile Development With Hobo

Prerequisites

Assumes basic knowledge of web development, databases, Ruby and Rails

For Windows: install InstantRails For MacOS X: install Locomotive Test that you have Ruby and Rails up and

running

Page 4: Agile Development With Hobo

Getting started

Download hobo gem from hobocentral Install hobo gem

Page 5: Agile Development With Hobo

Create Application Skeleton

hobo <appname> Runs Rails Runs Hobo App generator Default theme Basic user model

Page 6: Agile Development With Hobo

Create MySQL Database

Use phpmyadmin <appname>_development

Page 7: Agile Development With Hobo

Create Model and Controller

cd <appname>/script/generate hobo_model <model_name>

creates basic files, unit tests and schema

cd <appname>/script/generate hobo_model_controller <model_name>

creates controller and helper classes

Page 8: Agile Development With Hobo

Add Fields

Add fields to your tables in the migrations scripts

auto dates foreign keys are Hobo options rake db:migrate

Page 9: Agile Development With Hobo

Create Object Relationships

Advert belongs_to :user belongs_to :category set_creator_attr :user

Page 10: Agile Development With Hobo

Start the application

Use Instant Rails Console to start application Login signup search Uses acts_as_authenticated plugin Scriptaculous AJAX editor

Page 11: Agile Development With Hobo

Customizing Application

Using DRYML changing the index page each DRYML tag calls a Rails helper method changing generated page creating tags

Page 12: Agile Development With Hobo

Hobo Rapid tags

<index_page> <show_page> <new_page> <edit_page> <show_collection_page> <new_in_collection_page>

Page 13: Agile Development With Hobo

Core and Common tags

repeat panel show section maincol sidecol display_name

object_link new_object_link count with join if else

Page 14: Agile Development With Hobo

Page navigation

<page_nav> <first_page_link> <last_page_link> <next_page_link> <previous_page_link> <page_n_of_count>

Page 15: Agile Development With Hobo

CRUD buttons

<create_button> <delete_button>

Page 16: Agile Development With Hobo

Create your own tag !

def: Definition <def tag="my_tag">This is my tag</def> Use <my_tag/> Output This is my tag

Page 17: Agile Development With Hobo

Creating tags

Tags with attributes The attributes become local variables inside

the tag. Passing arbitrary values Implicit context

Page 18: Agile Development With Hobo

Creating tag libraries

Use <taglib> to load tags from another Dryml file

Note that app/views/hobolib/application.dryml is implicitly imported into every Dryml template.

You can load the tags from a directory or a Ruby module

Page 19: Agile Development With Hobo

Using Tags from Ruby

Tags are just methods, they can be called from ERB scriptlets and from helpers.

Call with parameters or content

Page 20: Agile Development With Hobo

Modifying theme and stylesheet

Look at screencast for example Many designs available at opendesigns.org

Page 21: Agile Development With Hobo

Hosting your Applications

Capistrano is a tool to deploy ruby applications

Lots of plugins and tutorials exist to make your applications scale with memcache

You can host your application with Amazon S3 and EC2

Page 22: Agile Development With Hobo

Resources

http://www.hobocentral.net Download plugin Look at screencasts for quickstart Read the blogs Read the forums

Page 23: Agile Development With Hobo

Contributing

look at code in Trac Log bugs Send patches/bug fixes to Tom Locke Create documentation Create sample applications and tutorials

Page 24: Agile Development With Hobo

Thank You

Thanks to Tom Locke and others for creating Hobo.

Please email me your feedback at [email protected]