DOCKER • Baseado em Containers • Fornece comunicação simples entre Containers • Aplicação pode ser levantada/provisionada com apenas um comando • Imagens já prontas em hub.docker.com • Instala apenas o necessário do SO
PORQUE MICROFRAMEWORKS? • Abordagem minimalista • Fornecem apenas o necessário para tratar requisições HTTP e entregar respostas (renderizar templates). • Não te força a desenvolver dentro de uma forma específica = liberdade! • Te permite usar qualquer biblioteca
Lidando com requisições HTTP 1 require 'sinatra' 2 3 get '/hi' do 4 "Hello World!" 5 end 6 7 post '/world' do 8 "Hello World!" 9 end 10 11 put '/hello' do 12 "Hello World!" 13 end 14 15 # ...
spec/user_spec.rb 1 require 'spec_helper' 2 3 describe User do 4 5 def app 6 Sinatra::Application 7 end 8 9 it "Cadastra um usuário" do 10 post '/user', :name => 'Sergio' 11 expect(last_response.redirect?).to be_truthy 12 user = User.last 13 expect(user.name).to eq('Sergio') 14 end 15 16 end