# Tipos de aplicações usando Go❤️

Go é uma **linguagem de uso geral**. A linguagem Go foi lançada em **2009** com propósito de facilitar a resolução de problemas quando o assunto é desenvolvimento em camadas de rede, **escalabilidade**, **desempenho**, **produtividade** e o mais legal de todos o uso de **concorrência.** Quando o assunto é programação concorrente **Go** torna-se muito poderoso, ele disponibiliza um arsenal de funcionalidades para que possamos trabalhar com concorrência. As **goroutines** são famosas no mundo **Go.**

Estou deixando um link aqui onde irá conseguir visualizar diversas aplicações, libs, frameworks serviços implementadas em **Go** e suas respectivas categorias. [Neste link](https://github.com/nouney/awesome-go)

Cenários como desenvolvimento para **backend** em um âmbito geral **Go**❤️ é muito animal ou melhor **surreal**. Não é uma questão só de linguagem mas de **necessidade,** nos dias atuais o quanto antes conseguirmos diminuir nosso **custo computacional** que é **diretamente relacionado** com nosso **custo financeiro** é bem vindo. A linguagem **Go** tem este objetivo quanto o assunto é recurso computacional, interessante não é ?

Abaixo uma imagem com algumas das aplicações mais utilizadas pela comunidade **DevOps**.

![Não foi fornecido texto alternativo para esta imagem](https://media.licdn.com/dms/image/C4D12AQHIaC8l8z7FTg/article-inline_image-shrink_1500_2232/0/1564758376732?e=1686182400&v=beta&t=gGBbU95l06qtCNk1cz3OitG-rtq094mJ45VlqbkL4ts align="left")

## Alguns tipos de aplicações que Go brilha mais:

. **Web backend** *(com* [*diversos frameworks*](https://github.com/nouney/awesome-go#web-frameworks) *disponíveis)*

. **Web Assembly** ([*um dos frameworks vugu*](https://github.com/vugu/vugu))

. **Microservices** (*alguns frameworks:* [*Go Micro*](https://micro.mu/)*,* [*Go Kit*](https://gokit.io/)*,* [*Gizmo*](https://github.com/NYTimes/gizmo)*,* [*Kite*](https://github.com/koding/kite))

. **Fragments services** (*Termo citado pelo @jeffotoni em um grupo de discussão de microservices*)

. **Lambdas** (*FaaS* [*example*](https://www.alexedwards.net/blog/serverless-api-with-go-and-aws-lambda))

. **Client Server**

. **IoT** ([*alguns frameworks*](https://github.com/nouney/awesome-go#iot-internet-of-things))

. **Boots** ([*alguns aqui*](https://github.com/nouney/awesome-go#bot-building))

. **Aplicações Client que usam tecnologia Web** 

. **Desktop Usando Qt+QML**, Lib Nativa Win ([*example Qt*](https://github.com/therecipe/qt)*,* [*widgets Qt*](https://therecipe.github.io/widgets_playground/)*,* [*Qml*](https://doc.qt.io/qt-5/qtqml-index.html))

. **Aplicações de Rede**

. **Aplicações para protocolos**

. **Aplicações** [rEST](https://pt.wikipedia.org/wiki/REST), 

. **Aplicações** [SOAP](https://pt.wikipedia.org/wiki/SOAP) 

. **Aplicações** [GraphQL](https://pt.wikipedia.org/wiki/GraphQL) 

. **Aplicações** [RCP](https://pt.wikipedia.org/wiki/Chamada_de_procedimento_remoto) 

. **Aplicações** [TCP](https://pt.wikipedia.org/wiki/Transmission_Control_Protocol)

. **Aplicações** [gRPC](https://en.wikipedia.org/wiki/GRPC)

. **Aplicações** [Websocket](https://en.wikipedia.org/wiki/WebSocket)

. **GopherJS** ([*compiles Go to JavaScript*](https://github.com/gopherjs))

.  **CLI** (Command Line)
