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

Agile Development With Hobo

Jan 22, 2015

Download

Technology

Evarist Lobo

The next slide in the series gives more details about the wonders of Hobo.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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]