Have Better Toys
-
Upload
apotonick -
Category
Technology
-
view
423 -
download
1
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