construindo um servidor web com go

Post on 01-Jul-2015

246 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Palestras que demonstra como é simples construir um servidor web com GoLang.

TRANSCRIPT

CONSTRUINDO UM SERVIDOR WEB COM GO

And there we GO…

Sou Beto MunizTenho 21 anos e sou um mineiro-capixaba.

E trabalho na Tagon8 Inc.

CONTATO@BETOMUNIZ.COM

WWW.BETOMUNIZ.COM

GITHUB.COM/OBETOMUNIZ

FB.COM/OBETOMUNIZ

Mas porque usar Go Lang para um Servidor Web?

?expressjs.com

Fácil Aprendizado

Ótima para Single Page Applications

goroutines

goroutine é tipo de função capaz de ser executada

simultaneamente com outras funções, ou seja, de forma

assíncrona.

Fácil implementação de Concorrência

Ótimas biblioteca nativa de componentes

Incrível Biblioteca HTTP

Desenvolvimento baseado em componentes* (*semelhante aos módulos de NodeJS)

Desenvolvimento baseado em componentes semelhante aos módulos de NodeJS e não

grandes frameworks “engessados”

Mantido pela Google

O que de certa forma garante bastante qualidade, visibilidade e

ótimos contribuintes para o projeto

Performance comparada a NodeJS e por vezes saindo melhor que NodeJS.

NodeJS vs. Go : HttpRequests

NodeJS vs. Go : Simulação de Gargalo com Redis

OK!…mas só vi blahblahblah…E o código?

!!

@,@

…Um exemplo de uma aplicação web

Estrutura mínima de pastas para criação do nosso servidor

Iniciando nosso arquivo todos.go

Importando pacotes necessários para rodar um servidor web com view engine HTML

Declarando a função que servirá de construtora e que também será onde todas as configuração de

rotas, porta, arquivos estáticos da aplicação estarão.

Bônus: Stub da API que nossa applicação irá consumir

Todo List App

Demo Time

E é isso…Dúvidas? Algo a acrescentar na talk?

!IT’S TIME!

FIMObrigado pela presença de todos.

Referências

http://www.golangbr.org/doc/

http://go-tour-br.appspot.com/#1

http://goporexemplo.pistach.es/

http://www.golangbr.org/

http://www.polydaic.com/blog/go-vs-node-js

http://golang.org/doc/articles/wiki/

top related