Aplicativos de desenvolvimento Web em programação Go - Bem-vindo ao meu próximo blog, colegas programadores. Neste blog, falaremos sobre a incrível linguagem Golang do Google. No meu blog anterior, você deve ter visto como a Golang evoluiu ao longo dos anos e deu uma dura concorrência ao Java e C ++. Mas neste blog, estaríamos falando sobre suas aplicações no mundo real. Golang é a linguagem de programação oficial do Google.

O Google manteve sua licença de código aberto. Isso significa que qualquer pessoa pode modificá-lo, copiá-lo, colá-lo ou alterá-lo conforme suas necessidades. Golang é uma linguagem de programação de alto nível. Embora o Go tenha muitas características semelhantes ao C ou Java, dificilmente é parecido com C ou Java.

Logotipo oficial da Go Lang

De fato, o Go Programming pretendia ser uma linguagem, que poderia ser uma combinação de Python, C e Java. Mesmo que nunca possa substituir essas linguagens, outras ainda não podem fazer o que o Go pode e, para falar a verdade, é realmente muito mais rápido que o C ou o Python. Chega de como a programação GO funciona agora, vamos ver as aplicações do mundo real além de ajudar bastante o Google e como ele realmente dominou o mundo do desenvolvimento web.

Ao longo deste blog, assumirei que você tem algum conhecimento básico em programação C, Java ou pelo menos Django. Caso contrário, você pode ler meus outros blogs, para obter uma compreensão mais profunda e voltar aqui e continuar com este.

Exemplos de linguagem de programação Go

Origem do GO

Lembre-se de que eu lhe disse que o Go recebeu suas características de linguagens de desenvolvimento web como C e python, mas a verdade é que na verdade ele emprestou muito do que apenas características. Ele tem a agilidade da velocidade de compilação do python sem perder a polaridade segura de C. As construções em miniatura do GO estão no local, por exemplo, você pode compilar programas grandes em apenas alguns segundos. As velocidades desses bytecodes são quase semelhantes às dos C's.

O principal motivo pelo qual a GO Programming foi desenvolvida porque o Google tinha servidores de dados críticos muito grandes e os programadores investiram, ou o melhor termo seria desperdiçado, muito tempo aguardando a compilação dos programas. Embora o código tenha sido compilado e paralelizado, ainda demorou muito tempo para criar um único programa.

Até mesmo compilações incrementais eram lentas (compilações incrementais significa apenas atualizar compilações antigas com novos recursos ou limpar seus erros). Foi então que eles perceberam que precisavam de algo diferente, algo com o poder de C e a velocidade do python. Eles também decidiram que as ferramentas usadas nessa linguagem básica de sistemas eram lentas.

Então, eles queriam começar algo do zero, algo para escrever os tipos de programas que eles precisavam escrever no Google de uma maneira que as compilações pudessem ser realmente inteligentes e curtas sem perder sua eficiência.

Desenvolvimento Web, simultaneidades e GO

Agora, o problema é: como o desenvolvimento da web funciona com o GO? Como ele ganha com sua simultaneidade. Teoricamente, com o processamento paralelo, os recursos do servidor podem ser melhor utilizados. Por exemplo, se você executar duas consultas sql independentes em paralelo, ele fornecerá uma resposta rápida. Isso não é incrível?

Agora vamos dar uma olhada nisso ao contrário

Normalmente, quando você ouve a palavra simultaneidade, começa a pensar que pode trabalhar em vários segmentos ao mesmo tempo. Mas não somos profissionais extremos, para que nosso código seja perfeito. Portanto, uma maneira mais precisa de dizer isso é que, em vez de executar várias tarefas, você pode acabar confundindo as coisas ao seu redor.

Portanto, infelizmente, isso cria muitos soluços em nosso caminho, o que na verdade não é bom porque a simultaneidade pode levar a um melhor arranjo visual e a um código mais claro. Em resumo, ele pode ser invocado por uma razão que você não gostaria: baixo desempenho. Mas, apesar de tudo isso, estamos realmente ignorando a parte principal. Se realmente tivermos um bom conjunto de hardware ou técnicas de computação mais rápidas para ser mais preciso, o GO funcionaria mais rapidamente em um ambiente de processador com vários núcleos.

Agora vamos ver como o GO é diferente de outros idiomas. Portanto, o que precisamos fazer é o primeiro passo: escolha qualquer estado mutável global que você deseja alterar e, depois, o segundo passo: implemente o bloqueio. Agora, essa é uma combinação de duas etapas apropriadas e duas coisas erradas. Os desenvolvedores que têm experiência decente concordariam comigo que o estado mutável global é uma coisa ruim.

De fato, muitos codificadores tentam remover isso da melhor maneira possível. Portanto, o maior fato de você ter o primeiro passo parecer uma refatoração é para começar. O passo dois, por outro lado, ou seja, travar, é capaz de atingir seu objetivo, mas, ao mesmo tempo, introduz quantidades gigantescas de clichê que são extremamente difíceis de anotá-las de maneira adequada e depois depurá-las corretamente.

Portanto, esse tipo de linguagem pode ter uma solicitação http lendo uma variável específica e outra escrevendo-a. O que aconteceu quando? Isso é importante o suficiente? Precisa de um pedido para as leituras e gravações? Seu código tem esse tipo de lógica? Se sim, por quê?

Cursos recomendados

  • Treinamento profissional em Linux com Python
  • Programa de Gerenciamento de Nível de Serviço
  • Curso de Certificação Online no jQuery Mobile
  • Treinamento completo de Business Intelligence

O caminho para seguir

Os threads do GO não são o que você pode estar acostumado ao escrever esses kernels. Estes são realmente um pouco semelhantes aos processos de Erlang. Eles são extremamente leves e ambos têm objetivos semelhantes. Isso não diz que GO e Erlang são os mesmos, pois eles têm muitas diferenças.

Concorrência e os canais; ambos andam juntos de mãos dadas na programação GO. No entanto, pode-se dizer que esses canais têm a potência real para fazer nossas automações funcionarem. E por causa dessa natureza, eles impedem que as rotinas no GO sejam duplicadas. Nuf disse, agora você pode executar seus códigos sem a ajuda de bloqueios e mutexes. Se você tiver tempo para pesquisar no Google, encontrará muitas pessoas tentando os mesmos métodos na forma de pipes UNIX.

Criando aplicativos GO nativos

Agora que sabemos como o GO funciona, vamos dar uma olhada na criação de alguns aplicativos básicos no GO. Vamos analisar primeiro os pré-requisitos:

  1. Faça o download do instalador go no site oficial go (você pode obtê-lo pesquisando download golang)
  1. Defina o GOPATH (Esta é a parte mais complicada se você nunca definiu variáveis ​​de ambiente em sua vida)

uma. Para usuários do Windows:

defina GOROOT = C: \ go

defina GOPATH = C: \ Users \ testdir

defina GOBIN = % GOPATH% \ bin

set PATH = % PATH%; c: \ go \ bin;% GOBIN%

cd % GOPATH% \ src

Na opção testdir acima, defina o diretório que você deseja usar (nomeie o que quiser) como o diretório de trabalho. Isso definirá todos os diretórios e, quando você digitar o último comando cd (change firectory), deverá levá-lo ao diretório de trabalho padrão, ou seja, no nosso caso, testdir. Se isso acontecer, significa que funciona.

b. Para usuários do Linux:

exportar GOROOT = / usr / local / go

exportar GOPATH = $ HOME / go

exportar PATH = $ PATH: $ GOROOT / bin: $ GOPATH / bin

A seguir estão os pacotes necessários que você precisaria baixar (estes são opcionais, dependem do que você precisa criar):

Você pode instalar (ou atualizar) esses pacotes executando o seguinte comando no console:

vá buscar -u

Por exemplo, se você deseja instalar o Negroni, pode usar o seguinte comando:

vá para -u github.com/codehub/negroni

Para mim, criar aplicativos da Web significa criar servidores Http. O protocolo Http ou Hypertext Transfer é um protocolo criado originalmente para transportar apenas documentos HTML específicos do usuário de um servidor específico para um navegador da Web do lado do cliente. Atualmente, o Http é usado para transportar mais do que apenas textos simples.

Na verdade, não vou me aprofundar, você pode consultar o github, onde pode encontrar mais detalhes sobre este projeto.

Agora, para começar, vamos começar criando um novo projeto em nosso GOPATH

cd GOPATH / src

mkdir testserver

cd testserver

Agora, podemos criar um main.go digitando:

pacote principal

importar "net / http"

func main () (

)

Agora, já que tudo está configurado, tudo o que precisamos fazer é importar o pacote http e, em seguida, ele funcionará. E agora, é hora de escrever o código do servidor de teste:

http.ListenAndServe (": 2964", http.FileServer (http.Dir (".")))

O http.ListenAndServer é uma função usada para executar o servidor. Ele será executado no endereço fornecido, ou seja, na porta 2964, neste caso, e quando receber uma resposta, transferirá o http.handler que fornecemos como segundo argumento, que novamente neste caso é o http interno -Servidor de arquivos.

Criamos o http.Handler com o http.FileServer, que funcionará como servidor para um diretório inteiro de arquivos e responderá automaticamente com o arquivo que precisa ser servido no caminho da solicitação. Quanto ao código que executamos acima, pedimos ao servidor para responder com o diretório de trabalho atual, ou seja, http.Dir (".")

Todo o programa ficará assim:

pacote principal

importar "net / http"

func main () (

http.ListenAndServe (": 2964", http.FileServer (http.Dir (".")))

)

Agora, para executar e tornar nosso servidor de arquivos ativo, podemos executá-lo sempre que quisermos, digitando:

vai construir

./testserver

E agora, se abrirmos isso em nosso navegador localhost: 2964 / main.go ou http: // 127.0.0.1:2964/main.go, poderemos ver os pacotes dentro do arquivo main.go em nossa web navegador. A melhor parte é que podemos executar esse programa de qualquer lugar do computador e servir esse diretório como a página inicial básica do host local. Tudo isso é possível em apenas uma linha de programação Go.

Falando nisso, você deve realmente verificar os aplicativos da Web desenvolvidos no github e ficará surpreso ao ver o que todos os aplicativos que as pessoas desenvolveram com a programação GO. A linguagem GO é mais do que apenas sua programação regular. Depois de entender essa linguagem, é altamente improvável que você realmente volte ao seu C, C ++ ou Java comum. Então, será assim por enquanto. Fique ligado para saber mais sobre a programação GO.

Fonte da primeira imagem: pixabay.com

Artigos relacionados:-

  1. Você deve aprender sobre perguntas e respostas da entrevista de serviços da Web
  2. Melhores e úteis pontos das perguntas da entrevista sobre Java Web Services
  3. Novas 10 ferramentas de desenvolvimento da Web para iniciantes (grátis)
  4. Exemplos importantes de programação do zero
  5. Como criar uma carreira excelente como profissional de software de desenvolvimento Web?
  6. Desenvolvimento de Software vs Desenvolvimento Web