SlideShare a Scribd company logo
1 of 13
Go
(Golang)
Porque ele deve ser a linguagem da sua próxima API
Jeff Prestes, CEO Novatrix
@jeffprestes
Quem usa Go…
https://github.com/golang/go/wiki/GoUsers
Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes
Porque o Google criou o Go…
• Criadores: Rob Pike, Ken Thompson, Robert Griesemer
• Go was designed to help write big programs, written and maintained
by big teams -
https://commandcenter.blogspot.com.br/2012/06/less-is-
exponentially-more.html
• supporting networking and multiprocessing
• later interviews, all three of the language designers cited their shared
dislike of C++'s complexity as a primary motivation for designing a
new language
Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes
Porque o Google criou o Go
Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes
Less can be more…
• Se você quer complexidade, quer parecer ”Fodão” nos eventos e nas
listas de discussões porque você programa numa linguagem complexa
e difícil: Go NÃO é a sua linguagem
• Go é fácil, tem só 25 palavras reservadas:
https://speakerdeck.com/ramalho/go-a-visao-de-um-pythonista
• Rapido: pode ser aprendido em 8 horas de curso online com direito a
conexão com MongoDB e servidor web:
https://udemy.com/cursodego
• Ou em 48 horas para uma prova para um novo emprego:
https://medium.com/@anapaulagomes/48-horas-para-aprender-go-
4542b51d84a4
Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes
Less can be more…
Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes
Porque gostamos de Go…
Experimente pesquisar “why we moved from to golang”
Ou vamos ver porque em 2013 a equipe do Docker escolheu Go:
https://www.slideshare.net/jpetazzo/docker-and-go-why-did-we-
decide-to-write-docker-in-go/18-Why_GoThe_Five_Reasons_Why
Para conversar com os colegas na empresa:
https://github.com/jeffprestes/porquegostodego
Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes
Porque gostamos de Go…
Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes
Frameworks Web com Go
A biblioteca padrão tem tudo. Mas você quer produtividade sem abrir
mão da performance, não é mesmo?
Lista de Frameworks com alguns Benchmarking:
https://github.com/smallnest/go-web-framework-benchmark
Quer criar uma aplicação corporativa web (localização, banco de dados,
JWT, logs, templates) em menos de 2 minutos:
https://github.com/novatrixtech/mercurius/
Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes
Frameworks Web com Go
Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes
Vamos simular o Google… Demo...
Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes
Enfim, porque API com Go
Desenvolvimento rápido
Goroutines e Channels
Performance
Economia de recursos de Cloud
Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes
Obrigado.
github.com/jeffprestes
@jeffprestes
linkedin.com/in/jeffprestes
slideshare.net/jeffprestes
novatrix.com.br
udemy.com/cursodego
github.com/novatrixtech
m.me/cronosbot

More Related Content

What's hot

"Go" Contra ou a favor? Já vale a pena investir nessa linguagem?
"Go" Contra ou a favor? Já vale a pena investir nessa linguagem?"Go" Contra ou a favor? Já vale a pena investir nessa linguagem?
"Go" Contra ou a favor? Já vale a pena investir nessa linguagem?José Yoshiriro
 
Desenvolvimento Web
Desenvolvimento WebDesenvolvimento Web
Desenvolvimento WebLeonan Luppi
 
Desenvolvimento de produtos web com ruby on rails
Desenvolvimento de produtos web com ruby on railsDesenvolvimento de produtos web com ruby on rails
Desenvolvimento de produtos web com ruby on railss4nx
 
Material Design - do smartphone ao desktop
Material Design - do smartphone ao desktopMaterial Design - do smartphone ao desktop
Material Design - do smartphone ao desktopHillary Sousa
 
Angular js desenvolvimento de frontend zen - python nordeste
Angular js   desenvolvimento de frontend zen - python nordesteAngular js   desenvolvimento de frontend zen - python nordeste
Angular js desenvolvimento de frontend zen - python nordesteRenzo Nuccitelli
 
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin
O uso de PWA e o futuro do desenvolvimento mobile com React Native e KotlinO uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin
O uso de PWA e o futuro do desenvolvimento mobile com React Native e KotlinDavid Robert Camargo de Campos
 
SEO para Blogs - Ganhando Milhares de Visitas
SEO para Blogs - Ganhando Milhares de VisitasSEO para Blogs - Ganhando Milhares de Visitas
SEO para Blogs - Ganhando Milhares de VisitasFabio Ricotta
 
Quero ser programador! #comofas?
Quero ser programador! #comofas?Quero ser programador! #comofas?
Quero ser programador! #comofas?Hugo Lopes Tavares
 
Utilizando o wordpress para aplicativos mobile
Utilizando o wordpress para aplicativos mobileUtilizando o wordpress para aplicativos mobile
Utilizando o wordpress para aplicativos mobileFellyph Cintra
 

What's hot (13)

Automatizando seu deploy com Deployer e Gitlab CI
Automatizando seu deploy com Deployer e Gitlab CIAutomatizando seu deploy com Deployer e Gitlab CI
Automatizando seu deploy com Deployer e Gitlab CI
 
"Go" Contra ou a favor? Já vale a pena investir nessa linguagem?
"Go" Contra ou a favor? Já vale a pena investir nessa linguagem?"Go" Contra ou a favor? Já vale a pena investir nessa linguagem?
"Go" Contra ou a favor? Já vale a pena investir nessa linguagem?
 
Introdução a golang
Introdução a golangIntrodução a golang
Introdução a golang
 
Desenvolvimento Web
Desenvolvimento WebDesenvolvimento Web
Desenvolvimento Web
 
Desenvolvimento Web
Desenvolvimento WebDesenvolvimento Web
Desenvolvimento Web
 
Desenvolvimento de produtos web com ruby on rails
Desenvolvimento de produtos web com ruby on railsDesenvolvimento de produtos web com ruby on rails
Desenvolvimento de produtos web com ruby on rails
 
Material Design - do smartphone ao desktop
Material Design - do smartphone ao desktopMaterial Design - do smartphone ao desktop
Material Design - do smartphone ao desktop
 
Angular js desenvolvimento de frontend zen - python nordeste
Angular js   desenvolvimento de frontend zen - python nordesteAngular js   desenvolvimento de frontend zen - python nordeste
Angular js desenvolvimento de frontend zen - python nordeste
 
Conhecendo Go
Conhecendo GoConhecendo Go
Conhecendo Go
 
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin
O uso de PWA e o futuro do desenvolvimento mobile com React Native e KotlinO uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin
O uso de PWA e o futuro do desenvolvimento mobile com React Native e Kotlin
 
SEO para Blogs - Ganhando Milhares de Visitas
SEO para Blogs - Ganhando Milhares de VisitasSEO para Blogs - Ganhando Milhares de Visitas
SEO para Blogs - Ganhando Milhares de Visitas
 
Quero ser programador! #comofas?
Quero ser programador! #comofas?Quero ser programador! #comofas?
Quero ser programador! #comofas?
 
Utilizando o wordpress para aplicativos mobile
Utilizando o wordpress para aplicativos mobileUtilizando o wordpress para aplicativos mobile
Utilizando o wordpress para aplicativos mobile
 

Similar to Go (golang) - Porque ele deve ser a linguagem da sua próxima API

Ferramentas e programas do Google para startups e apps
Ferramentas e programas do Google para startups e appsFerramentas e programas do Google para startups e apps
Ferramentas e programas do Google para startups e appsJose Papo, MSc
 
Mercado de trabalho e T.I
Mercado de trabalho e T.IMercado de trabalho e T.I
Mercado de trabalho e T.IPedro Hos
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QATDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QAtdc-globalcode
 
Meetup DevOps Carioca - GoCD + Docker + Docker Compose: uma história de amor
Meetup DevOps Carioca - GoCD + Docker + Docker Compose: uma história de amorMeetup DevOps Carioca - GoCD + Docker + Docker Compose: uma história de amor
Meetup DevOps Carioca - GoCD + Docker + Docker Compose: uma história de amorStefan Teixeira
 
NOSQLBA 2018 - ArangoDB com python
NOSQLBA 2018 - ArangoDB com pythonNOSQLBA 2018 - ArangoDB com python
NOSQLBA 2018 - ArangoDB com pythonfelipe bastosweb
 
Além do mundo acadêmico - O que fazer após a graduação?
Além do mundo acadêmico - O que fazer após a graduação? Além do mundo acadêmico - O que fazer após a graduação?
Além do mundo acadêmico - O que fazer após a graduação? Suellyn Specie
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento4Soft
 
Melhores praticas no desenvolvimento magento
Melhores praticas no desenvolvimento magentoMelhores praticas no desenvolvimento magento
Melhores praticas no desenvolvimento magentoRicardo Martins
 
Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...
Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...
Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...Stefan Teixeira
 
(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?
(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?
(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?Danilo J. S. Bellini
 
MongoDB no Microsoft Azure - DBA Brasil 2.0
MongoDB no Microsoft Azure - DBA Brasil 2.0MongoDB no Microsoft Azure - DBA Brasil 2.0
MongoDB no Microsoft Azure - DBA Brasil 2.0Renato Groff
 
Agilidade não é para desenvolvedores - Agile Curitiba Conference
Agilidade não é para desenvolvedores - Agile Curitiba ConferenceAgilidade não é para desenvolvedores - Agile Curitiba Conference
Agilidade não é para desenvolvedores - Agile Curitiba ConferenceWagner Mendes Voltz Fusca
 
A revolução que o Flutter tem feito no mercado de desenvolvimento
A revolução que o Flutter tem feito no mercado de desenvolvimentoA revolução que o Flutter tem feito no mercado de desenvolvimento
A revolução que o Flutter tem feito no mercado de desenvolvimentoArmando Couto
 
Agilizando seus projetos em wordpress com underscores
Agilizando seus projetos em wordpress com underscoresAgilizando seus projetos em wordpress com underscores
Agilizando seus projetos em wordpress com underscoresFellyph Cintra
 
Designing Systems: An Approach to Responsive Web Design (Portuguese)
Designing Systems: An Approach to Responsive Web Design (Portuguese)Designing Systems: An Approach to Responsive Web Design (Portuguese)
Designing Systems: An Approach to Responsive Web Design (Portuguese)Pedro Moreira da Silva
 
Ferramentas de Comunicação e Planejamento
Ferramentas de Comunicação e PlanejamentoFerramentas de Comunicação e Planejamento
Ferramentas de Comunicação e PlanejamentoMatheusHenrickSantos
 
Tdc2015 - Trilha Web - Polymer 1.0
Tdc2015 - Trilha Web - Polymer 1.0Tdc2015 - Trilha Web - Polymer 1.0
Tdc2015 - Trilha Web - Polymer 1.0Benedito Batista
 
Dojo PHP (treinanto programação orientada a objetos em PHP)
Dojo PHP (treinanto programação orientada a objetos em PHP)Dojo PHP (treinanto programação orientada a objetos em PHP)
Dojo PHP (treinanto programação orientada a objetos em PHP)Fabrízio Mello
 

Similar to Go (golang) - Porque ele deve ser a linguagem da sua próxima API (20)

Ferramentas e programas do Google para startups e apps
Ferramentas e programas do Google para startups e appsFerramentas e programas do Google para startups e apps
Ferramentas e programas do Google para startups e apps
 
Mercado de trabalho e T.I
Mercado de trabalho e T.IMercado de trabalho e T.I
Mercado de trabalho e T.I
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QATDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
 
Meetup DevOps Carioca - GoCD + Docker + Docker Compose: uma história de amor
Meetup DevOps Carioca - GoCD + Docker + Docker Compose: uma história de amorMeetup DevOps Carioca - GoCD + Docker + Docker Compose: uma história de amor
Meetup DevOps Carioca - GoCD + Docker + Docker Compose: uma história de amor
 
NOSQLBA 2018 - ArangoDB com python
NOSQLBA 2018 - ArangoDB com pythonNOSQLBA 2018 - ArangoDB com python
NOSQLBA 2018 - ArangoDB com python
 
Além do mundo acadêmico - O que fazer após a graduação?
Além do mundo acadêmico - O que fazer após a graduação? Além do mundo acadêmico - O que fazer após a graduação?
Além do mundo acadêmico - O que fazer após a graduação?
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento
 
Melhores praticas no desenvolvimento magento
Melhores praticas no desenvolvimento magentoMelhores praticas no desenvolvimento magento
Melhores praticas no desenvolvimento magento
 
Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...
Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...
Agile Testers Conference 2016 - GoCD + Docker + Docker Compose: uma história ...
 
(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?
(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?
(2015-03-14) [Grupy-SP] Projetos Open Source, como colaborar?
 
MongoDB no Microsoft Azure - DBA Brasil 2.0
MongoDB no Microsoft Azure - DBA Brasil 2.0MongoDB no Microsoft Azure - DBA Brasil 2.0
MongoDB no Microsoft Azure - DBA Brasil 2.0
 
Agilidade não é para desenvolvedores - Agile Curitiba Conference
Agilidade não é para desenvolvedores - Agile Curitiba ConferenceAgilidade não é para desenvolvedores - Agile Curitiba Conference
Agilidade não é para desenvolvedores - Agile Curitiba Conference
 
A revolução que o Flutter tem feito no mercado de desenvolvimento
A revolução que o Flutter tem feito no mercado de desenvolvimentoA revolução que o Flutter tem feito no mercado de desenvolvimento
A revolução que o Flutter tem feito no mercado de desenvolvimento
 
Agilizando seus projetos em wordpress com underscores
Agilizando seus projetos em wordpress com underscoresAgilizando seus projetos em wordpress com underscores
Agilizando seus projetos em wordpress com underscores
 
Designing Systems: An Approach to Responsive Web Design (Portuguese)
Designing Systems: An Approach to Responsive Web Design (Portuguese)Designing Systems: An Approach to Responsive Web Design (Portuguese)
Designing Systems: An Approach to Responsive Web Design (Portuguese)
 
Designing Systems
Designing Systems Designing Systems
Designing Systems
 
Ferramentas de Comunicação e Planejamento
Ferramentas de Comunicação e PlanejamentoFerramentas de Comunicação e Planejamento
Ferramentas de Comunicação e Planejamento
 
HTML 5 & JavaScript
HTML 5 & JavaScriptHTML 5 & JavaScript
HTML 5 & JavaScript
 
Tdc2015 - Trilha Web - Polymer 1.0
Tdc2015 - Trilha Web - Polymer 1.0Tdc2015 - Trilha Web - Polymer 1.0
Tdc2015 - Trilha Web - Polymer 1.0
 
Dojo PHP (treinanto programação orientada a objetos em PHP)
Dojo PHP (treinanto programação orientada a objetos em PHP)Dojo PHP (treinanto programação orientada a objetos em PHP)
Dojo PHP (treinanto programação orientada a objetos em PHP)
 

More from Jeff Prestes

Começando com Quorum - versão 2.6
Começando com Quorum - versão 2.6Começando com Quorum - versão 2.6
Começando com Quorum - versão 2.6Jeff Prestes
 
Desmistificando blockchain
Desmistificando blockchainDesmistificando blockchain
Desmistificando blockchainJeff Prestes
 
Aumento da eficácia jurídica com Smart Contracts
Aumento da eficácia jurídica com Smart ContractsAumento da eficácia jurídica com Smart Contracts
Aumento da eficácia jurídica com Smart ContractsJeff Prestes
 
Chatbots and Internet of Things
Chatbots and Internet of ThingsChatbots and Internet of Things
Chatbots and Internet of ThingsJeff Prestes
 
Facebook Messenger and Go
Facebook Messenger and GoFacebook Messenger and Go
Facebook Messenger and GoJeff Prestes
 
Beacons, Raspberry Pi & Node.js
Beacons, Raspberry Pi & Node.jsBeacons, Raspberry Pi & Node.js
Beacons, Raspberry Pi & Node.jsJeff Prestes
 
Eddystone Beacons - Physical Web - Giving a URL to All Objects
Eddystone Beacons - Physical Web - Giving a URL to All ObjectsEddystone Beacons - Physical Web - Giving a URL to All Objects
Eddystone Beacons - Physical Web - Giving a URL to All ObjectsJeff Prestes
 
Making Payments in Android Easy
Making Payments in Android EasyMaking Payments in Android Easy
Making Payments in Android EasyJeff Prestes
 
Kraken.js - Giving Extra Arms to your Node.js App
Kraken.js - Giving Extra Arms to your Node.js AppKraken.js - Giving Extra Arms to your Node.js App
Kraken.js - Giving Extra Arms to your Node.js AppJeff Prestes
 
Mobile Payments Workshop
Mobile Payments WorkshopMobile Payments Workshop
Mobile Payments WorkshopJeff Prestes
 
Building your own RC Car with Raspberry Pi
Building your own RC Car with Raspberry PiBuilding your own RC Car with Raspberry Pi
Building your own RC Car with Raspberry PiJeff Prestes
 
How to make your Money Machine with Internet of Things
How to make your Money Machine with Internet of ThingsHow to make your Money Machine with Internet of Things
How to make your Money Machine with Internet of ThingsJeff Prestes
 
Interact your wearable and an iot device
Interact your wearable and an iot deviceInteract your wearable and an iot device
Interact your wearable and an iot deviceJeff Prestes
 
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending MachineJava Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending MachineJeff Prestes
 
RaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulbRaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulbJeff Prestes
 
Fazendo maquinas para ganhar dinheiro com Internet das Coisas
Fazendo maquinas para ganhar dinheiro com Internet das CoisasFazendo maquinas para ganhar dinheiro com Internet das Coisas
Fazendo maquinas para ganhar dinheiro com Internet das CoisasJeff Prestes
 
Let your stuff talk!
Let your stuff talk!Let your stuff talk!
Let your stuff talk!Jeff Prestes
 

More from Jeff Prestes (20)

Começando com Quorum - versão 2.6
Começando com Quorum - versão 2.6Começando com Quorum - versão 2.6
Começando com Quorum - versão 2.6
 
Solidity 0.6.x
Solidity 0.6.xSolidity 0.6.x
Solidity 0.6.x
 
Desmistificando blockchain
Desmistificando blockchainDesmistificando blockchain
Desmistificando blockchain
 
Aumento da eficácia jurídica com Smart Contracts
Aumento da eficácia jurídica com Smart ContractsAumento da eficácia jurídica com Smart Contracts
Aumento da eficácia jurídica com Smart Contracts
 
Chatbots and Internet of Things
Chatbots and Internet of ThingsChatbots and Internet of Things
Chatbots and Internet of Things
 
Facebook Messenger and Go
Facebook Messenger and GoFacebook Messenger and Go
Facebook Messenger and Go
 
Physical web
Physical webPhysical web
Physical web
 
Beacons, Raspberry Pi & Node.js
Beacons, Raspberry Pi & Node.jsBeacons, Raspberry Pi & Node.js
Beacons, Raspberry Pi & Node.js
 
Eddystone Beacons - Physical Web - Giving a URL to All Objects
Eddystone Beacons - Physical Web - Giving a URL to All ObjectsEddystone Beacons - Physical Web - Giving a URL to All Objects
Eddystone Beacons - Physical Web - Giving a URL to All Objects
 
Making Payments in Android Easy
Making Payments in Android EasyMaking Payments in Android Easy
Making Payments in Android Easy
 
Kraken.js - Giving Extra Arms to your Node.js App
Kraken.js - Giving Extra Arms to your Node.js AppKraken.js - Giving Extra Arms to your Node.js App
Kraken.js - Giving Extra Arms to your Node.js App
 
Mobile Payments Workshop
Mobile Payments WorkshopMobile Payments Workshop
Mobile Payments Workshop
 
Building your own RC Car with Raspberry Pi
Building your own RC Car with Raspberry PiBuilding your own RC Car with Raspberry Pi
Building your own RC Car with Raspberry Pi
 
How to make your Money Machine with Internet of Things
How to make your Money Machine with Internet of ThingsHow to make your Money Machine with Internet of Things
How to make your Money Machine with Internet of Things
 
Interact your wearable and an iot device
Interact your wearable and an iot deviceInteract your wearable and an iot device
Interact your wearable and an iot device
 
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending MachineJava Device I/O at Raspberry PI to Build a Candy Vending Machine
Java Device I/O at Raspberry PI to Build a Candy Vending Machine
 
RaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulbRaspberryPi + IoT - Lab to switch on and off a light bulb
RaspberryPi + IoT - Lab to switch on and off a light bulb
 
Fazendo maquinas para ganhar dinheiro com Internet das Coisas
Fazendo maquinas para ganhar dinheiro com Internet das CoisasFazendo maquinas para ganhar dinheiro com Internet das Coisas
Fazendo maquinas para ganhar dinheiro com Internet das Coisas
 
Test A/B
Test A/BTest A/B
Test A/B
 
Let your stuff talk!
Let your stuff talk!Let your stuff talk!
Let your stuff talk!
 

Go (golang) - Porque ele deve ser a linguagem da sua próxima API

  • 1. Go (Golang) Porque ele deve ser a linguagem da sua próxima API Jeff Prestes, CEO Novatrix @jeffprestes
  • 2. Quem usa Go… https://github.com/golang/go/wiki/GoUsers Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes
  • 3. Porque o Google criou o Go… • Criadores: Rob Pike, Ken Thompson, Robert Griesemer • Go was designed to help write big programs, written and maintained by big teams - https://commandcenter.blogspot.com.br/2012/06/less-is- exponentially-more.html • supporting networking and multiprocessing • later interviews, all three of the language designers cited their shared dislike of C++'s complexity as a primary motivation for designing a new language Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes
  • 4. Porque o Google criou o Go Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes
  • 5. Less can be more… • Se você quer complexidade, quer parecer ”Fodão” nos eventos e nas listas de discussões porque você programa numa linguagem complexa e difícil: Go NÃO é a sua linguagem • Go é fácil, tem só 25 palavras reservadas: https://speakerdeck.com/ramalho/go-a-visao-de-um-pythonista • Rapido: pode ser aprendido em 8 horas de curso online com direito a conexão com MongoDB e servidor web: https://udemy.com/cursodego • Ou em 48 horas para uma prova para um novo emprego: https://medium.com/@anapaulagomes/48-horas-para-aprender-go- 4542b51d84a4 Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes
  • 6. Less can be more… Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes
  • 7. Porque gostamos de Go… Experimente pesquisar “why we moved from to golang” Ou vamos ver porque em 2013 a equipe do Docker escolheu Go: https://www.slideshare.net/jpetazzo/docker-and-go-why-did-we- decide-to-write-docker-in-go/18-Why_GoThe_Five_Reasons_Why Para conversar com os colegas na empresa: https://github.com/jeffprestes/porquegostodego Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes
  • 8. Porque gostamos de Go… Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes
  • 9. Frameworks Web com Go A biblioteca padrão tem tudo. Mas você quer produtividade sem abrir mão da performance, não é mesmo? Lista de Frameworks com alguns Benchmarking: https://github.com/smallnest/go-web-framework-benchmark Quer criar uma aplicação corporativa web (localização, banco de dados, JWT, logs, templates) em menos de 2 minutos: https://github.com/novatrixtech/mercurius/ Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes
  • 10. Frameworks Web com Go Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes
  • 11. Vamos simular o Google… Demo... Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes
  • 12. Enfim, porque API com Go Desenvolvimento rápido Goroutines e Channels Performance Economia de recursos de Cloud Jeff Prestes - @jeffprestes – github.com/jeffprestes – linkedin.com/in/jeffprestes