Have Better Toys

download Have Better Toys

If you can't read please download the document

Transcript of Have Better Toys

Studying Advantages
of
Components

A very academic approach...

Why Components are better!

...better than what?

Components
Have Better Toys!

...using awesome Apotomo* widgets

* the only real component framework for Rails!

Apotomo?

Rails plugin (sorry!)

Widgets

Statefulness

Events

Happiness

Dashboards.

Dashboards.

Dashboards.

Reuseability.

Dashboards.

Micha looks thirsty.

Micha looks thirsty.

The BeerCell

Generate.

Code.

Fix views.

Plug into controller.

Drink.

dashboard$ script/generate widget Beer display exists app/cells/ create app/cells/beer create app/cells/beer_cell.rb create app/cells/beer/display.html.erb

The BeerCell

Generate.

Code.

Fix views.

Plug into controller.

Drink.

class BeerCell < Apotomo::StatefulWidget

def display render endend

renderdisplay.html.erb!

The BeerCell

Generate.

Code.

Fix views.

Plug into controller.

Drink.

'beer' %>

I'm ERB. 'beer' %>

'beer' %>

'beer' %>

'beer' %>

The BeerCell

Generate.

Code.

Fix views.

Plug into controller.

Drink.

class ExamplesController < ApplicationController

def drink use_widgets do |root| root :drinking

@beers = 0 render end

def drinking @beers += 1 render end

Render drinking.html.erb!

The drinker widget

Implement sober state

Trigger beerDropped event

Catch beerDropped event

Implement drinking state

:michal %>

trigger_event(:beerDropped) %>

:michal %>

trigger_event(:beerDropped) %>

I'mdrinking.html.erb! :michal %>

trigger_event(:beerDropped) %>

Load michal-having-1-beers.jpg!Load michal-having-2-beers.jpg!Load michal-having-3-beers.jpg!Load michal-having-4-beers.jpg!

Wow!

So what?

Reusability.

Encapsulation.

Statefulness.

Events.

Composability.

Testing

...

def drinking @beers += 1

respond_to_event

Contribute!

http://apotomo.de

irc.freenode.org/#cells

Webhunter tutorialhttp://apotomo.de/2009/10/how-to-catch-a-mouse-with-apotomo/

Muokkaa otsikon tekstimuotoa napsauttamalla

Muokkaa jsennyksen tekstimuotoa napsauttamallaToinen jsennystasoKolmas jsennystasoNeljs jsennystasoViides jsennystasoKuudes jsennystasoSeitsems jsennystasoKahdeksas jsennystasoYhdekss jsennystaso