Sinatra

11
Sinatra By: Maksim Surguy & Cesar Acosta require 'sinatra‘ get ‘/' do "Hello World!" end

description

require ' sinatra ‘ get ‘/' do "Hello World!" end. Sinatra. By: Maksim Surguy & Cesar Acosta. What is it ?. Web application framework in Ruby DSL* for defining RESTful HTTP actions Fast Fun!. What it is not ?. Not Rails Not MVC. *Domain specific Language. - PowerPoint PPT Presentation

Transcript of Sinatra

Page 1: Sinatra

SinatraBy: Maksim

Surguy & Cesar Acosta

require 'sinatra‘get ‘/' do "Hello World!" end

Page 2: Sinatra

What is it ?Web application framework in RubyDSL* for defining RESTful HTTP actionsFastFun!

What it is not ?Not RailsNot MVC

*Domain specific Language

Page 3: Sinatra

How does it work ? gem install sinatra

vi my_app.rb

set :port, 3000require ‘sinatra’get ‘/’ do

‘Hello World’end

ruby my_app.rb

Page 4: Sinatra

Gem ShotgunGems More CondensedChanges to the App require to restart the server

gem install shotgunRun => shotgun my_app.rb

Page 5: Sinatra

Got Parameters ? vi my_app2.rb

require ‘sinatra’set :port, 3000

get '/hello/:name' do "Hello #{params[:name]}"end

ruby my_app2.rb

Page 6: Sinatra

Got REST ? get '/' do .. show something .. end

post '/' do .. create something .. end

put '/' do .. update something .. end

delete '/' do .. annihilate something .. end options '/' do .. appease something .. end

Page 7: Sinatra

Got views?Supports practically every template engine in Ruby:

HAMLERBErubisBuilderNokogiriSassLessLiquid

And many, many more !!! (http://www.sinatrarb.com/intro.html)

require ‘haml‘get ‘/' do haml :indexend Renders ./views/index.haml

Page 8: Sinatra

What is good for ?APIsWeb services (fast !!!)Quick minimal applicationsLean web development (Largely static sites with some dynamic content)Deploy on Heroku!

Page 9: Sinatra

In the wild… (Used by)HerokuGitHub servicesEngine YardApartment TherapyMany Others

More examples at : http://www.sinatrarb.com/wild.html

Page 10: Sinatra

Resourceshttp://www.sinatrarb.comhttp://sinatra-book.gittr.com/http://bcc2010-sinatra.heroku.com/http://empty-journey-91.heroku.com/ http://net.tutsplus.com/tutorials/ruby/singin

g-with-sinatra/ http://www.slideshare.net/oisin/simple-web-

services-with-sinatra-and-heroku-6882369 http://sinatra-book-contrib.com

Page 11: Sinatra

Thanks!