Soumettre la recherche
Mettre en ligne
Ramaze - The Underrated Ruby Web Framework
•
Télécharger en tant que ODP, PDF
•
2 j'aime
•
1,617 vues
luccastera
Suivre
Slides from my talk at RubyConf 08 on Ramaze
Lire moins
Lire la suite
Technologie
Design
Signaler
Partager
Signaler
Partager
1 sur 67
Télécharger maintenant
Recommandé
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
Recommandé
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
Contenu connexe
Tendances
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
Tendances
(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
En vedette
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
En vedette
(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
Similaire à 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
Similaire à 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
Dernier
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
ThousandEyes
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
soniya singh
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
Paola De la Torre
Slack Application Development 101 Slides
Slack Application Development 101 Slides
praypatel2
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
Mark Billinghurst
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
XfilesPro
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
Memoori
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
naman860154
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
shyamraj55
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Allon Mureinik
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Safe Software
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
Maria Levchenko
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
Scott Keck-Warren
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
Softradix Technologies
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
BookNet Canada
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
Pixlogix Infotech
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Alan Dix
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
naman860154
Dernier
(20)
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
Slack Application Development 101 Slides
Slack Application Development 101 Slides
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
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?
Notes de l'éditeur
Good afternooon everyone. My name is Luc Castera and I'm going to talk to you about Ramaze today.
Télécharger maintenant