Suche senden
Hochladen
Ramaze - The Underrated Ruby Web Framework
•
Als ODP, PDF herunterladen
•
2 gefällt mir
•
1,617 views
luccastera
Folgen
Slides from my talk at RubyConf 08 on Ramaze
Weniger lesen
Mehr lesen
Technologie
Design
Melden
Teilen
Melden
Teilen
1 von 67
Jetzt herunterladen
Empfohlen
Be Happy With Ruby on Rails - Ecosystem
Be Happy With Ruby on Rails - Ecosystem
Lucas Renan
Lightweight Webservices with Sinatra and RestClient
Lightweight Webservices with Sinatra and RestClient
Adam Wiggins
Using Sinatra to Build REST APIs in Ruby
Using Sinatra to Build REST APIs in Ruby
LaunchAny
Ansible -new kid in configuration management world
Ansible -new kid in configuration management world
Maciej Sawicki
Avatar.js
Avatar.js
Alin Pandichi
Ruby on Rails - An overview
Ruby on Rails - An overview
Thomas Asikis
RoR 101: Session 2
RoR 101: Session 2
Rory Gianni
RoR 101: Session 5
RoR 101: Session 5
Rory Gianni
Empfohlen
Be Happy With Ruby on Rails - Ecosystem
Be Happy With Ruby on Rails - Ecosystem
Lucas Renan
Lightweight Webservices with Sinatra and RestClient
Lightweight Webservices with Sinatra and RestClient
Adam Wiggins
Using Sinatra to Build REST APIs in Ruby
Using Sinatra to Build REST APIs in Ruby
LaunchAny
Ansible -new kid in configuration management world
Ansible -new kid in configuration management world
Maciej Sawicki
Avatar.js
Avatar.js
Alin Pandichi
Ruby on Rails - An overview
Ruby on Rails - An overview
Thomas Asikis
RoR 101: Session 2
RoR 101: Session 2
Rory Gianni
RoR 101: Session 5
RoR 101: Session 5
Rory Gianni
RoR 101: Session 3
RoR 101: Session 3
Rory Gianni
RoR 101: Session 6
RoR 101: Session 6
Rory Gianni
Capybara with Rspec
Capybara with Rspec
Omnia Helmi
NodeWay in my project & sails.js
NodeWay in my project & sails.js
Dmytro Ovcharenko
Namespace less engine
Namespace less engine
shaokun
Workshop 21: React Router
Workshop 21: React Router
Visual Engineering
Intro to Rack
Intro to Rack
Rubyc Slides
Ruby Isn't Just About Rails
Ruby Isn't Just About Rails
Adam Wiggins
RoR 101: Session 6
RoR 101: Session 6
Rory Gianni
Workshop Intro: FrontEnd General Overview
Workshop Intro: FrontEnd General Overview
Visual Engineering
Секретный доклад о React Router - OdessaJS 2014
Секретный доклад о React Router - OdessaJS 2014
Andrey Listochkin
Angular for rubyists
Angular for rubyists
Tom Cartwright
Seafox
Seafox
Nick Ager
Your first sinatra app
Your first sinatra app
Rubyc Slides
Ruby w/o Rails (Олександр Сімонов)
Ruby w/o Rails (Олександр Сімонов)
Fwdays
Introduce cucumber
Introduce cucumber
Bachue Zhou
Scala scripting-slides
Scala scripting-slides
Daniel Sebban
The Evolution of Airbnb's Frontend
The Evolution of Airbnb's Frontend
Spike Brehm
CoffeeScript Design Patterns
CoffeeScript Design Patterns
TrevorBurnham
Ruby on Rails Presentation
Ruby on Rails Presentation
Michael MacDonald
Text Manipulation with/without Parsec
Text Manipulation with/without Parsec
ujihisa
Hacking parse.y (RubyKansai38)
Hacking parse.y (RubyKansai38)
ujihisa
Weitere ähnliche Inhalte
Was ist angesagt?
RoR 101: Session 3
RoR 101: Session 3
Rory Gianni
RoR 101: Session 6
RoR 101: Session 6
Rory Gianni
Capybara with Rspec
Capybara with Rspec
Omnia Helmi
NodeWay in my project & sails.js
NodeWay in my project & sails.js
Dmytro Ovcharenko
Namespace less engine
Namespace less engine
shaokun
Workshop 21: React Router
Workshop 21: React Router
Visual Engineering
Intro to Rack
Intro to Rack
Rubyc Slides
Ruby Isn't Just About Rails
Ruby Isn't Just About Rails
Adam Wiggins
RoR 101: Session 6
RoR 101: Session 6
Rory Gianni
Workshop Intro: FrontEnd General Overview
Workshop Intro: FrontEnd General Overview
Visual Engineering
Секретный доклад о React Router - OdessaJS 2014
Секретный доклад о React Router - OdessaJS 2014
Andrey Listochkin
Angular for rubyists
Angular for rubyists
Tom Cartwright
Seafox
Seafox
Nick Ager
Your first sinatra app
Your first sinatra app
Rubyc Slides
Ruby w/o Rails (Олександр Сімонов)
Ruby w/o Rails (Олександр Сімонов)
Fwdays
Introduce cucumber
Introduce cucumber
Bachue Zhou
Scala scripting-slides
Scala scripting-slides
Daniel Sebban
The Evolution of Airbnb's Frontend
The Evolution of Airbnb's Frontend
Spike Brehm
CoffeeScript Design Patterns
CoffeeScript Design Patterns
TrevorBurnham
Ruby on Rails Presentation
Ruby on Rails Presentation
Michael MacDonald
Was ist angesagt?
(20)
RoR 101: Session 3
RoR 101: Session 3
RoR 101: Session 6
RoR 101: Session 6
Capybara with Rspec
Capybara with Rspec
NodeWay in my project & sails.js
NodeWay in my project & sails.js
Namespace less engine
Namespace less engine
Workshop 21: React Router
Workshop 21: React Router
Intro to Rack
Intro to Rack
Ruby Isn't Just About Rails
Ruby Isn't Just About Rails
RoR 101: Session 6
RoR 101: Session 6
Workshop Intro: FrontEnd General Overview
Workshop Intro: FrontEnd General Overview
Секретный доклад о React Router - OdessaJS 2014
Секретный доклад о React Router - OdessaJS 2014
Angular for rubyists
Angular for rubyists
Seafox
Seafox
Your first sinatra app
Your first sinatra app
Ruby w/o Rails (Олександр Сімонов)
Ruby w/o Rails (Олександр Сімонов)
Introduce cucumber
Introduce cucumber
Scala scripting-slides
Scala scripting-slides
The Evolution of Airbnb's Frontend
The Evolution of Airbnb's Frontend
CoffeeScript Design Patterns
CoffeeScript Design Patterns
Ruby on Rails Presentation
Ruby on Rails Presentation
Andere mochten auch
Text Manipulation with/without Parsec
Text Manipulation with/without Parsec
ujihisa
Hacking parse.y (RubyKansai38)
Hacking parse.y (RubyKansai38)
ujihisa
Agile Web Posting with Ruby (lang:ja)
Agile Web Posting with Ruby (lang:ja)
ujihisa
CoffeeScript in hootsuite
CoffeeScript in hootsuite
ujihisa
RubyConf 2009 LT "Termtter"
RubyConf 2009 LT "Termtter"
ujihisa
Kof2008 Itll
Kof2008 Itll
ujihisa
Concurrent Programming with Ruby and Tuple Spaces
Concurrent Programming with Ruby and Tuple Spaces
luccastera
Andere mochten auch
(7)
Text Manipulation with/without Parsec
Text Manipulation with/without Parsec
Hacking parse.y (RubyKansai38)
Hacking parse.y (RubyKansai38)
Agile Web Posting with Ruby (lang:ja)
Agile Web Posting with Ruby (lang:ja)
CoffeeScript in hootsuite
CoffeeScript in hootsuite
RubyConf 2009 LT "Termtter"
RubyConf 2009 LT "Termtter"
Kof2008 Itll
Kof2008 Itll
Concurrent Programming with Ruby and Tuple Spaces
Concurrent Programming with Ruby and Tuple Spaces
Ähnlich wie Ramaze - The Underrated Ruby Web Framework
Adventurous Merb
Adventurous Merb
Matt Todd
Sinatra and JSONQuery Web Service
Sinatra and JSONQuery Web Service
vvatikiotis
SiteMesh
SiteMesh
guest9fefea
Porting Rails Apps to High Availability Systems
Porting Rails Apps to High Availability Systems
Marcelo Pinheiro
Robotlegs on Top of Gaia
Robotlegs on Top of Gaia
Jesse Warden
GHC
GHC
AidIQ
Practical catalyst
Practical catalyst
dwm042
Performance Optimization of Rails Applications
Performance Optimization of Rails Applications
Serge Smetana
Z-Ray: A customizable development tool belt (Zendcon 2016)
Z-Ray: A customizable development tool belt (Zendcon 2016)
Mathew Beane
Damage Control
Damage Control
sintaxi
Introduction To Ruby On Rails
Introduction To Ruby On Rails
Steve Keener
The Future is Now: Leveraging the Cloud with Ruby
The Future is Now: Leveraging the Cloud with Ruby
Robert Dempsey
Intro To Mvc Development In Php
Intro To Mvc Development In Php
funkatron
A Life of breakpoint
A Life of breakpoint
Hajime Morrita
Rapid Prototyping FTW!!!
Rapid Prototyping FTW!!!
cloudbring
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
GreeceJS
Writing native Linux desktop apps with JavaScript
Writing native Linux desktop apps with JavaScript
Igalia
Sinatra for REST services
Sinatra for REST services
Emanuele DelBono
DiUS Computing Lca Rails Final
DiUS Computing Lca Rails Final
Robert Postill
Sinatra
Sinatra
kevinreiss
Ähnlich wie Ramaze - The Underrated Ruby Web Framework
(20)
Adventurous Merb
Adventurous Merb
Sinatra and JSONQuery Web Service
Sinatra and JSONQuery Web Service
SiteMesh
SiteMesh
Porting Rails Apps to High Availability Systems
Porting Rails Apps to High Availability Systems
Robotlegs on Top of Gaia
Robotlegs on Top of Gaia
GHC
GHC
Practical catalyst
Practical catalyst
Performance Optimization of Rails Applications
Performance Optimization of Rails Applications
Z-Ray: A customizable development tool belt (Zendcon 2016)
Z-Ray: A customizable development tool belt (Zendcon 2016)
Damage Control
Damage Control
Introduction To Ruby On Rails
Introduction To Ruby On Rails
The Future is Now: Leveraging the Cloud with Ruby
The Future is Now: Leveraging the Cloud with Ruby
Intro To Mvc Development In Php
Intro To Mvc Development In Php
A Life of breakpoint
A Life of breakpoint
Rapid Prototyping FTW!!!
Rapid Prototyping FTW!!!
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Challenges of angular in production (Tasos Bekos) - GreeceJS #17
Writing native Linux desktop apps with JavaScript
Writing native Linux desktop apps with JavaScript
Sinatra for REST services
Sinatra for REST services
DiUS Computing Lca Rails Final
DiUS Computing Lca Rails Final
Sinatra
Sinatra
Kürzlich hochgeladen
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Maria Levchenko
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
Malak Abu Hammad
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
HampshireHUG
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Delhi Call girls
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
Principled Technologies
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Delhi Call girls
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
Antenna Manufacturer Coco
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
Radu Cotescu
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Igalia
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
hans926745
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Katpro Technologies
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Delhi Call girls
Kürzlich hochgeladen
(20)
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
Slack Application Development 101 Slides
Slack Application Development 101 Slides
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
Ramaze - The Underrated Ruby Web Framework
1.
The Underrated Web
Framework
2.
underrated: Not given
enough recognition for its quality
3.
Motivation
4.
5.
Getting Started
6.
Simple Light Modular
7.
sudo gem install
ramaze
8.
http://github.com/manveru/ramaze
9.
10.
11.
Features
12.
M V C
13.
KISS
14.
15.
Modular
16.
Only one dependency
17.
ORM-agnostic
18.
19.
20.
Well Documented
21.
Beautiful Code
22.
BDD
23.
Ruby 1.9
24.
25.
IRC Population
26.
Basics
27.
Controllers
28.
MainController maps to
'/'
29.
BlueController maps to
'/blue'
30.
...unless you use
map
31.
_ .
32.
Action methods accept
arguments via URL
33.
http://localhost:7000/archive? page=2 request[:page]
== '2'
34.
Errors redirect to
error action
35.
Routing (String Routers)
Ramaze::Route [ '/foo' ] = '/bar' # '/foo' => '/bar'
36.
Routing (Regex Routers)
Ramaze::Route [ %r!^/(+)txt$! ] = "/text/%d" # '/123.txt' => '/text/123'
37.
Routing Ramaze::Route [
'name of route' ] = lambda { |path, request| '/bar' if path == '/foo' and request[ :bar ] == '1' } (Lambda Routers) # '/foo' => '/foo' # '/foo?bar=1' => '/bar'
38.
Testing
39.
Views
40.
Ezamar Erubis (bundled)
(default) (my favorite) (plenty of other choices)
41.
inline vs. external
42.
START NO YES
Run return value of action through templating engine Send to browser External Template Is there an external template?
43.
Instance variables set
in the action can be accessed in template (just like in Rails)
44.
(convention) /view
45.
(configuration) view_root
'my_templates'
46.
Layouts
47.
# apply to
all actions except index layout :layout deny_layout :index # apply only to index layout :layout => [ :index ] Layouts
48.
Ezamar Very simple
reimplementation of the Templating-engine found in Nitro. <?r rubycode ?> == <% rubycode %> #{ rubycode } == <%= rubycode %>
49.
Ezamar::Element
50.
Ezamar::Element
51.
Models
52.
That's up to
you to figure out...
53.
ActiveRecord DataMapper Sequel
Og DBI
54.
Ramaze::Store
55.
Helpers
56.
57.
Link Helper R(AdminController,
:index) => /admin/index Rs(:index) => /admin/index Rs(:/) => / A('text') => <a href=”/text”>text</a> A('foo/bar') => <a href=”/foo/bar”>foo/bar</a> A('Home', :href => Rs(:/)) => <a href=”/”>Home</a>
58.
Aspect Helper Allows
you to wrap different Actions on your Controller with code.
59.
Extras
60.
61.
62.
Deployment thin start
--servers 1 --socket /tmp/thin-socket -R start.ru
63.
64.
Live Coding Small
Blog Example: http://pastie.org/319647
65.
66.
RTFC
67.
Thank you. Questions?
Hinweis der Redaktion
Good afternooon everyone. My name is Luc Castera and I'm going to talk to you about Ramaze today.
Jetzt herunterladen