Tag Archives: hello world

C# – Apresenta – Fundamentos – Básico

C#, básico!

Web App Saga

A missão é fazer um estudo tratando dos detalhes fundamentais que preciso conhecer para escrever códigos C#. Ou seja, o foco será apenas em assuntos básico dessa linguagem desenhada especialmente para .NET. Os seus elementos principais, explicando como eles funcionam dentro da plataforma.etc…

Inicialmente, concentrarei apenas em assuntos utilizados no dia-a-dia do desenvolvimento como: sintaxe, tipos, declaração de vars, classes, estruturas, mascaramento de tipos, passagem de parâmetros, etc…

Ao final da missão, deverei ter domínio sob a estrutura básica de um aplicação-C# sendo capaz de organizar boas aplicações utilizando esses recursos.Além do mais, estes assuntos são o mínimo que eu devo saber para que eu possa desenvolver algo.

Bem, vamos então parar de “blá-blá-blá” e vamos desenvolver.

Enfim, vamos fazer um overview de recursos básicos como:

  • Hello world
  • etc…

“Praticamente todo o desenvolvimento feito na Microsoft é feito em C#. Isso quer dizer que as novidades aparecem antes em C# e que os exemplos e documentações são feitos inicialmente em C# e depois traduzidos para VB. O VB é o primo pobre!!!!”

Next stop C#. Disambarke on the left.

Express – Fundamentos – Hello World

WebApp Express Hello World

O clássico ponto inicial de aprendizagem de qualquer linguagem!

A missão de hoje é aprender como criar um simples webserver com NodeJS Express. Abordaremos também os conceitos encontrados neste exemplo. Vamos lá:

Executando o projeto teremos este resultado, um webserver Node.js mais simples do mundo.

express_basico_helloworld

Finalmente para confirmar que tudo está funcionando como o esperado basta acessar o caminho http://localhost:3000 em seu navegador ou simplesmente usar o comando curl do Linux.

server.js 

Codifique:

var express = require('express')
var appexp = express();

appexp.get('/', function(req, res) {
       res.send('BackEnd NodeJS/Express');
});
appexp.listen(4000);

console.log('Servidor rodando na porta 4000');
var express = require('express'),
    app = express();

app.use(express.logger());

app.get('/', function(req, res){
    res.send('Ola Mundo!');
});

var server = app.listen(3000);
console.log('Servidor Express iniciado na porta %s', server.address().port);

As 12 linhas de código usadas para criar o primeiro app Express.

Importar módulo

As tarefas mais comuns do servidor são as partes dos módulos. A primeira coisa que temos que fazer em qualquer backend Node é importar/solicitar um módulo que irá nos permitir servir um site.

Importo o módulo Express.js via require() e atribuo a variável express.

Em seguida, defino a criação da webapp appexp como uma instância do servidor. Inicializo o módulo Express.js chamando a função express().

Defino um manipulador response e uma rota utilizando o método HTTP GET, o caminho / (representa a raiz) e a função callback utilizando os objetos req/res que representam a requisição/resposta.

Esta function requer dois parâmetros, ou seja, quando o usuário acessar o servidor ele utiliza a req e enviamos uma res para ele.

Ou seja, executo a função get(), ela aceita 2 parâmetros: o primeiro é o caminho, url. o segundo é a função de callback que será executada após identificado o caminho. Através do método res.send() elaboro uma resposta para o browser.

O HelloWorld chama app.get() que representa o método GET do HTTP, e o caminho / representando nossa página raiz, seguido da função de callback.

Os objetos req/res são objs que o Node oferece, assim podemos chamar res.pipe(), req.on(‘data’, callback) ou outra coisa que quiser fazer SEM o envolvimento do Express.

Rota

Agora eu tenho uma nova instância de webapp, a próxima etapa é definir as rotas. Uma rota consiste em:

  • um método HTTP
  • um caminho (uma string ou uma regex)
  • uma função callback (chamada quando o evento ocorrer)

O Listen

Agora dizemos ao Express.js para escutar na porta. Vinculando o server a uma porta. Ele ficará “escutando” em uma determinada porta(4000).

O método listen do objeto appex irá iniciar o server, vinculado a porta definida.

Listen Parâmetros

A função app.listen() aceita como segundo parâmetro uma função de callback.

var server = app.listen(3000, function () {

  var host = server.address().address
  var port = server.address().port

})

Neste callback, recupero o endereço de request (url) e a porta utilizada. Com esses dados em mão, posso imprimi-los no console.

var server = app.listen(3000, function () {

  var host = server.address().address
  var port = server.address().port

  console.log('Example app listening at http://%s:%s', host, port)

})

var server = app.listen(3000);
console.log('Servidor Express iniciado na porta %s', server.address().port);

Em seguida temos que informar o servidor para escutar uma dada porta. Aqui foi chamado o método listen(3000) do nosso objeto app que tenta criar um servidor e vinculá-lo à porta 3000. A porta pode ser qualquer uma que escolher, por exemplo a porta 80 padrão usando listen(80).

Execução

Para executar o servidor via prompt ou outro terminal. Posicione-se na pasta do arquivo server.js e passe o nome do arquivo como parâmetro para o NodeJS:

node server.js

express_basico_helloworld2

Abra esta URL no browser:

http://localhost:4000

Pronto! Agora temos um webserver Express atendendo na porta 4000. Escrevemos um backend simples utilizando “Express” básico.

Dê um Ctrl+Shift+i e veja o chrome developer em ação:

express_basico_helloworld3

Considerações

 

Conclusão

Até aqui é o básico de qualquer programação baseada em Node.JS Express.

Em outro post, vamos agilizar esta etapa utilizando um script executável do Express, o express(1) que gera todo o esqueleto de uma webapp Express.