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

Post on 30-Dec-2015

214 views 0 download

Tags:

Transcript of By: Maksim Surguy & Cesar Acosta require 'sinatra‘ get ‘/' do "Hello World!" end.

SinatraBy: Maksim

Surguy & Cesar Acosta

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

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

What it is not ?Not RailsNot MVC

*Domain specific Language

How does it work ? gem install sinatra

vi my_app.rb

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

‘Hello World’end

ruby my_app.rb

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

gem install shotgunRun => shotgun my_app.rb

Got Parameters ? vi my_app2.rb

require ‘sinatra’set :port, 3000

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

ruby my_app2.rb

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

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

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

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

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

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

Thanks!