0% acharam este documento útil (0 voto)
4 visualizações

Programação Web Coding 6

Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
4 visualizações

Programação Web Coding 6

Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 49

Programação Web Coding

Desenvolvimento de Ap. para


Internet

Prof. Victor Sotero

Aula 06 – Introdução ao JavaScript


Node.js
• O Node.js não é um framework (só pra deixar claro);

• Ele é um ambiente de execução de código Javascript do lado


do servidor – historicamente essa linguagem foi criada para
ser embutida no html (front-end);

• Através do Node.js é possível tornar o Javascript uma


linguagem dinâmica (antes de formatar o conteúdo para o
usuário);

Prof. Victor Sotero


Node.JS

• Possui arquitetura orientada a eventos – realiza operações


I/O assíncronas;

• O padrão orientado a eventos permite uma otimização em


relação a vazão das requisições web – request e response

Prof. Victor Sotero


Como o Node.Js foi concebido?
• Ryan Dahl, criador do Node, diz que sua inspiração veio ao
observar a barra de progresso de upload no Flickr.
• Ele havia entendido que o navegador precisava ficar
“perguntando” várias vezes ao servidor web, quanto estava
faltando para o arquivo ser transmitido – desperdício de
tempo e de recursos.
• Ele também observou a dificuldade que o Apache tinha de
lidar com conexões concorrentes.

Prof. Victor Sotero


Composição do Node.js
• Utiliza o motor Javascript V8 da
Google;
• Possui um evento loop e uma API
de I/O de baixo nível (libuv);
• Sua execução é single-thread,
diferente de outras linguagens
como PHP e Java. Isso permite
que o uso de memória e CPU seja
menor; https://www.opus-software.com.br/

Prof. Victor Sotero


Composição do Node.js
• Possui um gerenciador de pacotes NPM via comand line – isso
facilita o compartilhamento de códigos e bibliotecas Node.js;

• Gerenciador de versões - node NVM;

• Utilitário repl;

• O Node.js não é um ambiente visual ou possui ferramenta


integrada de ambiente.

Prof. Victor Sotero


Características do Node.js
• Tecnologia assíncrona que trabalha em apenas uma thread
de execução – por ser assíncrona, não bloqueia o processo
do mesmo;

• Em resumo: quando chega uma requisição (acessar o banco


de dados, por exemplo) a máquina virtual Javascript verifica
o que tem de ser feito e delega a atividade. Após isso ela
volta a atender novas requisições de forma paralela.

Prof. Victor Sotero


Empresas que usam o Node.js

• X Twitter
• Spotify
• eBay
• Reddit
• LinkedIn

Prof. Victor Sotero


Node.Js não é uma linguagem de programação
• Embora utilize o Javascript, o Node.js não é considerado
uma linguagem de programação;

• O Node também não é um framework (está mais para


plataforma de aplicação como Nginx);

• A máquina virtual V8 é a mesma que a Google utiliza no


Chrome para executar Javascript.

Prof. Victor Sotero


Potencial do
Node.Js
Configurando o Ambiente
• O download pode ser feito gratuitamente através do link
https://nodejs.org
• No link aparecerá duas opções de download (escolha a opção estável
LTS);

• A instalação não requer nenhuma força jedi(next-next-finish);

• Para verificar se a instalação aconteceu de forma correta, abra o cmd e


digite node –v ou node --version

Prof. Victor Sotero


Testando o Node.js
• Crie uma pasta em qualquer diretório e dentro dela crie um
arquivo chamado teste.js .
• Insira nesse arquivo o trecho de código:
console.log(“Olá, estou testando essa parada!”)
• Salve o arquivo, abra o cmd e acesse o diretório onde o
arquivo foi criado. Após isso digite o comando node teste.js.
• Obs.: caso seu SO tenha variável de ambiente não é preciso
acessar o diretório pelo cmd.

Prof. Victor Sotero


Principais características do Javascript
• Suporta elementos de sintaxe de programação estruturada
(while, for, if, switch);

• A quebra de linha não precisa do ponto e vírgula(;), basta


pressionar Enter;

• Tipagem dinâmica (não precisamos declarar o tipo da variável). A


linguagem identifica automaticamente o tipo;

Prof. Victor Sotero


Principais características do Javascript
• Função de primeira classe (você consegue passar uma
função como parâmetro). Ou seja, pode ser tratada como se
fosse uma variável;
• Permite criação de funções aninhadas (uma função dentro
da outra);
• Usa prototipação – ao invés de classes, utiliza protótipos
para fazer herança;
• Não há diferença entre função e método.

Prof. Victor Sotero


Variáveis
• Independente da linguagem de programação escolhida,
essas estruturas são muito importantes, pois são utilizadas
para implementar os códigos;
• Dentro das variáveis são armazenados, temporariamente ou
definitivamente, os dados que serão manipulados durante a
execução do programa.
• Ex.: nome: string
salario: float
idade: int
Constantes
• Igualmente a variável, a constante também precisa de um
espaço na memória para o tipo de dado que vai manipular.

• Porém, a constante possui um valor ÚNICO, ou seja, esse


valor não mudará com o tempo de execução.
• Ex.: nome=”Victor”
salario= 500.00
idade = 18
Declaração de Variáveis
• Podemos declarar as variáveis de quatro formas:

• Utilizar o nome da variável sem nenhuma palavra reservada que


anteceda ela;
• Utilizando a palavra reservada var;
• Utilizando a palavra reservada let;
• Utilizando a palavra reservada const.

Prof. Victor Sotero


Declaração de variáveis
• Sem utilizar palavra reservada: esse modo é o menos recomendado
pois a variável criada estará disponível globalmente;
• Os modificadores let e const servem para dar maior controle a
manipulação de variáveis;
• O const significa que aquela será uma constante por isso não
poderá sofrer mudanças;
• O let faz com que a variável existe apenas no escopo atual (ao
contrário do var que faz com que a variável fique visível para todo o
código.)

Prof. Victor Sotero


Tipagem Fraca

Prof. Victor Sotero


Exemplos

Prof. Victor Sotero


Exemplos

Prof. Victor Sotero


Exemplos

Prof. Victor Sotero


Tipos de dados
• Numbers: números com ou sem casas decimais;
• Strings: podem estar entre aspas duplas ou simples;
• Booleans: os valores representam duas possibilidades (true ou false);
• Arrays: estrutura de dados que contém diversos valores
internamente;
• Objects: tipos complexos que permitem a inserção de variáveis e
funções em seu interior;
• Functions: recebem parâmetros, executam instruções e geram saídas.

Prof. Victor Sotero


Comentários

• Comentários em uma linha:


//Isso é um comentário de uma linha

• Para delimitar uma ou mais linhas:


/* Esso é um comentário de mais de
uma linha. */

Prof. Victor Sotero


Operador relacional
Comando para imprimir no console

• Os demais operadores não diferem da maioria das outras


linguagens.
• Boa prática: use sempre === ou !== para evitar decepções.

Prof. Victor Sotero


Operadores Aritméticos
• São utilizados na construção das expressões que contém um número
variado de operandos;
• Ex.: x + y, temos o operador de adição(+) e seus operandos são x e y.

https://www.devmedia.com.br/operadores-no-python/40693
Operador de Atribuição
• Serve para atribuir valor a uma variável

https://www.devmedia.com.br/operadores-no-python/40693
Operadores Aritméticos

Prof. Victor Sotero


Operadores Lógicos

OPERADOR SIGNIFICADO EXEMPLO


&& E lógico (and) a&&b
|| Ou lógico(or) a||b
! Negação lógica - Not !(a===b)

Prof. Victor Sotero


Entrada de dados
• Por default a entrada de dados é feita através do navegador. Porém, é
possível instalar um pacote no Node.js que permite receber entrada de
dados através do comando prompt();
• Antes de tudo, via terminal e no mesmo diretório, precisamos instalar
o pacote do prompt através do comando npm install prompt-sync

Prof. Victor Sotero


Concatenando strings
Manipulando Strings

Prof. Victor Sotero


Estrutura Condicional - Controle de Fluxos
• Pemite que o programa execute diferentes partes do código
de acordo com as condições definidas;

• Estão presentes em diversas linguagens de programação;

• Em Python a declaração de uma estrutura condicional é mais


simples que outras linguagens (não é necessário o
parênteses e as chaves).
Estrutura Condicional (IF) - Sintaxe

Prf. Victor Sotero


Estrutura condicional - IF

Prof. Victor Sotero


Estrutura condicional – If Else

Prof. Victor Sotero


Estrutura Condicional –Else If

Prof. Victor Sotero


Switch
• Permite que você execute um bloco de código com base no
valor de uma expressão;

• Ela é uma alternativa mais limpa e organizada ao uso de


múltiplos if...else if para condições baseadas em valores
específicos;
Switch - Sintaxe
Exemplo simples
Estrutura de repetição - While loop
• Permite que uma sequência de comandos seja executada
repetidamente enquanto uma condição for verdadeiro;

• o While é utilizado quando não sabemos ao certo a


quantidade de vezes que vamos iterar;

• O JavaScript primeiro verifica a condição. Se for false, o loop


é encerrado e o controle passa para a próxima instrução. Se
for true, o corpo do While é executado novamente.
Estrutura de repetição - While loop

https://pythoniluminado.netlify.app/while-loops
While loop
• O loop while é uma estrutura de controle de fluxo que
permite a execução repetida de um bloco de código
enquanto uma condição especificada for verdadeira;
• Sua sintaxe:
Exemplo simples
Loop infinito
• Se a condição do while nunca se torna falsa, o loop
continuará indefinidamente, resultando em um loop infinito.
Exemplo:

• O while é interessante quando não sabemos a quantidade de


vezes que haverá iterações
Utilizando Break e continue
Utilizando break e continue
• A instrução continue é usada para pular o restante do código
no loop atual e iniciar a próxima iteração do loop. É útil para
ignorar partes específicas do código sem sair completamente
do loop.
• Continua...

Você também pode gostar