Senai 200922 Introducao Ao
Senai 200922 Introducao Ao
Senai 200922 Introducao Ao
1
BOOTSTRAP é um framework web com código-fonte aberto para desenvolvimento de componentes de
interface e front-end para sites e aplicações web, usando HTML, CSS e JavaScript, baseado em modelos
de design para a tipografia, melhorando a experiência do usuário em um site amigável e responsivo.
Integração com o Banco de Dados; Conectar o C-Sharp ao Banco de Dados SqlServer – Sqlite – MySql;
Conectar o Banco de Dados com as Páginas HTML – CSS – JavaScript entre outras.
CRUD em Banco de Dados – São as quatro operações básicas create (criação), read (leitura), update
(atualização) e delete (exclusão). Essas quatro siglas tratam a respeito das operações executadas em
bancos de dados relacional (SQL) e não-relacional (NoSQL).
2
DOM - Document Object Model
O Document Object Model ou simplesmente DOM é utilizado pelo navegador Web para representar a
sua página Web. Quando altera-se esse modelo com o uso do Javascript altera-se também a página Web.
É muito mais fácil trabalhar com DOM do que diretamente com código HTML ou CSS.
DOCUMENTO OBJETO
Através do objeto document pode-se ter acesso a um grande número de propriedades. Segue abaixo
algumas propriedades que podem ser utilizadas com o objeto document:
3
Segue abaixo um exemplo de uma árvore DOM de uma página Web. Pode-se notar que todos os
elementos da página Web estão disponíveis para serem manipulados.
4
Todas as páginas Web são de alguma forma uma árvore. Isso se deve ao fato de podermos ver uma página
Web como uma árvore, com uma raiz como o element HTML e os seus filhos como o HEAD e o BODY
que por sua também possuem elementos filhos e assim sucessivamente.
Os elementos que não possuem filhos são chamados de nós folhas, como por exemplo os elementos
TITLE, STYLE, SCRIPT, LI, H1, P, TD demonstrados acima. Note que Text é um texto que está dentro de
um element. O nó <TD> por exemplo também é considerado um nó, mas um nó de tipo diferente (tipo
texto).
Exemplo dom.html
<html>
<head>
<title>
Teste de Árvore DOM
</title>
</head>
<body>
<p>Você conhece sobre árvores DOM? Se não conhece aprenda em
<a href=“www.devmedia.com.br”>www.devmedia.com.br</a> e seja o mais novo entendido sobre o
assunto.</p>
</body>
</html>
5
REACT
React foi projetado desde o início para adoção gradual e você pode usar o React o quanto precisar,
sendo pouco ou muito. Talvez você só queira adicionar alguns “pontos de interatividade” a uma
página existente. Os componentes React são uma ótima maneira de fazer isso.
A grande maioria dos sites não são e não precisam ser, single-page apps. Você pode usar o React em
uma pequena parte do seu site com poucas linhas de código e nenhuma ferramenta de build. Você
também pode expandir gradualmente sua presença ou mantê-lo contido em alguns widgets
dinâmicos.
6
GLOSSÁRIO
Widgets são micro aplicativos que são exibidos na tela de um computador, numa página da web ou num
dispositivo móvel. No caso do Android, são ferramentas interativas que visam proporcionar acesso a
certas funções dos aplicativos que você baixou no seu telefone.
ATOM é um editor de texto de código aberto disponível para as plataformas Linux, macOS e Microsoft
Windows, desenvolvido pelo GitHub sob a licença MIT. A ferramenta foi criada usando Electron e
tecnologias web como HTML, JavaScript e CSS. Permite a instalação de extensões desenvolvidos com
Node.js.
Brackets é um editor de texto que facilita a criação de páginas web, mantendo seu foco principal no
desenvolvimento web.
Xcode é um ambiente de desenvolvimento integrado e software livre da Apple Inc. para gerenciamento
de projetos relacionados com o sistema operacional macOS. Xcode possui ferramentas para o usuário
criar e melhorar seus aplicativos.
7
DOM e REACT
Passo 1: Adicionar um contêiner DOM ao HTML
Primeiramente, abra a página HTML que você deseja alterar. Adicione uma tag <div> vazia
para marcar o local onde você deseja exibir algo com o React. Por exemplo:
Nós atribuímos a esta <div> um atributo HTML id único. Isso nos permitirá encontrá-lo
no código JavaScript e mais tarde exibir um componente React dentro dele.
8
DOM e REACT
Passo 2: Adicionar as Tags Script
A seguir, adicione três tags <script> em sua página HTML logo antes do fechamento da
tag </body>:
As duas primeiras tags adicionam o React. A terceira irá adicionar o código de seu
componente.
9
DOM e REACT
Passo 3: Criar um Componente React
Crie um arquivo chamado like_button.js próximo a sua página HTML.
Abra este código inicial e copie o conteúdo no arquivo que você criou.
'use strict';
const e = React.createElement;
class LikeButton extends React.Component {
constructor(props) {
super(props);
this.state = { liked: false };
}
render() {
if (this.state.liked) {
return 'You liked this.';
}
return e(
'button',
{ onClick: () => this.setState({ liked: true }) },
'Like'
);
}
} 10
OBSERVAÇÃO
Esse código define um componente React chamado LikeButton. Não se preocupe se você
ainda não entendeu — mais à frente vamos cobrir os blocos de construção do React em
nosso estudo. Por enquanto, vamos apenas fazer funcionar!
Depois do código inicial, adicione essas duas linhas no final do arquivo like_button.js:
Essas duas linhas de código encontram a <div> que adicionamos em nosso HTML no
primeiro passo e então mostrará o componente React dentro dele.
11
INDEX.HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title> Adicionar React em um minuto </title>
</head>
<body>
<!-- Vamos colocar nosso componente React dentro desta div. -->
<div id="like_button_container"></div>
</body>
</html>
12
LIKE_BUTTON.JS
'use strict';
const e = React.createElement;
class LikeButton extends React.Component {
constructor(props) {
super(props);
this.state = { liked: false };
}
render() {
if (this.state.liked) {
return 'You liked this.';
}
return e(
'button',
{ onClick: () => this.setState({ liked: true }) },
'Like'
);
}
}
const domContainer = document.querySelector('#like_button_container');
const root = ReactDOM.createRoot(domContainer);
root.render(e(LikeButton));
13
INDEX.HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Add React in One Minute</title>
</head>
<body>
<h2>Add React in One Minute</h2>
<p>This page demonstrates using React with no build tooling.</p>
<p>React is loaded as a script tag.</p>
<p>
This is the first comment.
<!-- We will put our React component inside this div. -->
<div class="like_button_container" data-commentid="1"></div>
</p>
<p>
This is the second comment.
<!-- We will put our React component inside this div. -->
<div class="like_button_container" data-commentid="2"></div>
</p>
<p>
This is the third comment.
<!-- We will put our React component inside this div. -->
<div class="like_button_container" data-commentid="3"></div>
</p>
<!-- Load React. -->
<!-- Note: when deploying, replace "development.js" with "production.min.js". -->
<script src="https://unpkg.com/react@16/umd/react.development.js" crossorigin></script>
<script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js" crossorigin></script>
16
Prof. M.e Marco Aurélio Moreira
17
MVC
Model-View-Controller
18
MVC
Model-View-Controller
Model View Controller: MVC é uma arquitetura de software, que separa a
lógica da interface do usuário. Isto é conseguido através da separação da
aplicação em três partes Model, View e Controller. O foco da MVC é
a separação de responsabilidades. A MVC também é um padrão de projeto.
19
MVC
MVC divide uma aplicação interativa em três áreas, processamento, entrada e
saída.
O componente MODEL encapsula dados do núcleo da aplicação e suas
funcionalidades.
O componente VIEW mostra as informações para o usuário, obtidas na MODEL.
Cada componente da VIEW tem um componente CONTROLLER associado.
Recebem a entrada (eventos)
20
MODEL
Exporta procedimentos que realizam processamento
específico da aplicação.
Controllers chamam estes procedimentos
21
VIEW
Cada View define um procedimento de atualização
(ativado pelo mecanismo de propagação de mudanças);
Uma vez notificado, obtém dados atuais e os atualiza na
saída;
Cada View cria um Controller adequado;
Provê funcionalidades de manipulação da saída ao
Controller que não afetam o Model.
22
CONTROLLER
Aceita entradas como eventos (depende da plataforma da
interface).
Eventos são traduzidos em requisições ao Model ou ao
correspondente View.
O comportamento do Controller depende do estado do Model.
Controller se registra no mecanismo de
propagação de mudança e implementa um
procedimento de atualização (ex., habilitar ou
desabilitar um menu).
23
Exemplo
24
MVC no desenvolvimento WEB
25
MVC no desenvolvimento WEB
26
Vantagens
Por que usar MVC?
Fácil Manutenção;
Aplicação Leve e Independente;
Permite que designers e desenvolvedores trabalhem
simultaneamente;
Permite alteração de uma determinada parte sem afetar
a outra.
27
Desvantagens
Requer uma quantidade maior de tempo para
analisar e modelar o sistema;
Requer pessoal especializado;
Não é aconselhável para pequenas aplicações.
28
EXEMPLO
Vamos utilizar o exemplo de uma página web, onde o usuário pode realizar o cadastro de
clientes. Neste caso, provavelmente você teria uma classe chamada cliente.js que contém
as informações do cliente que você deseja guardar (como nome, endereço, cidade, etc.).
Essa classe seria o seu model.
Aqui, ainda poderíamos acoplar aspectos de manipulação de bancos de dados,
concentrando nesta estrutura os métodos para inserir, alterar, excluir e listar os clientes a
partir de uma tabela em um banco de dados.
A página HTML seria nossa view, que mostraria, por exemplo, a lista de usuários
cadastrados ou mesmo o próprio formulário para cadastro de novos usuários.
O controller faz o meio de campo entre o model e a view. Ele é necessário porque as
estruturas presentes com view não deveriam acessar diretamente os models, já que isso
poderia criar um acoplamento entre as estruturas de apresentação e definição de
negócio: é necessária uma estrutura intermediária para fazer essa ligação.
E aqui entra o controller, que age como uma ponte entre os dois. Você pode ter uma
classe dentro do seu projeto para fazer o papel de um controller, realizando a ligação
entre models e views.
29
BENEFICIOS
• Segurança: O controller funciona como uma espécie de filtro capaz de
impedir que qualquer dado incorreto chegue até a camada modelo.
• Organização: Esse método de programação permite que um novo
desenvolvedor tenha muito mais facilidade em entender o que foi
construído, assim como os erros se tornam mais fácil de serem
encontrados e corrigidos.
• Eficiência: Como a arquitetura de software é dividida em 3
componentes , sua aplicação fica muito mais leve, permitindo que
vários desenvolvedores trabalhem no projeto de forma independente.
• Tempo: Com a dinâmica facilitada pela colaboração entre os
profissionais de desenvolvimento, o projeto pode ser concluído com
muito mais rapidez, tornando o projeto escalável.
• Transformação: As mudanças que forem necessárias também são mais
fluidas, já que não será essencial trabalhar nas regras de negócio e
correção de bugs.
30
31
ASP.NET é uma estrutura da Web gratuita para criar ótimos sites e aplicativos Web
usando HTML, CSS e JavaScript. Você também pode criar APIs Web e usar
tecnologias em tempo real, como Web Sockets.
Web Sockets é uma tecnologia avançada que torna possível abrir uma sessão de
comunicação interativa entre o navegador do usuário e um servidor. Com esta API,
você pode enviar mensagens para um servidor e receber respostas orientadas a
eventos sem ter que consultar o servidor para obter uma resposta.
Criação de:
Websites dinâmicos;
Aplicações web;
Web services;
33
Os 5 pilares do framework .NET
XML – Facilitar
compartilhamento
de informações por
intermédio da
internet.
35
Suporte a várias linguagens
Utiliza o Common Language Runtime (CLR)
C#, VB.NET, J#, C++/CLI, IronPython, IronRuby
Características:
Garbage collection, administração de threads e memória
O debugger funciona com todas as linguagens
ADO.NET
Acesso a banco de dados
Microsoft SQL Server, XML, Oracle, OLE DB, ODBC
36
Suporte a várias linguagens
Common Language Runtime (CLR) é uma programação que gerencia a
execução de programas escritos em qualquer uma das várias linguagens
suportadas, permitindo que eles compartilhem classes comuns orientadas a
objetos escritas em qualquer uma das linguagens . É uma parte do . NET
Framework.
Garbage Collection - é uma forma de gerenciamento automático de
memória . O coletor de lixo tenta recuperar a memória que foi alocada pelo
programa, mas não é mais referenciada; essa memória é chamada de lixo.
Threads é a menor unidade de processamento que pode ser executada em
um sistema operacional. É uma forma como um processo/tarefa de um
programa de computador é divido em duas ou mais tarefas que podem ser
executadas concorrentemente.
Debugger - O principal objetivo é corrigir problemas no código-fonte de um
aplicativo. Durante a depuração, todo o código é executado. Cada
funcionalidade passa por um teste que tem como objetivo identificar se ela é
capaz de entregar um bom resultado rapidamente e com precisão.
37
Suporte a várias linguagens
ODBC é um protocolo que você pode usar para conectar um banco de dados do
Microsoft Access a uma fonte de dados externa, como o Microsoft SQL Server.
OLE DB é uma API desenvolvida pela Microsoft com base no COM. Essa API
representa uma biblioteca de interface COM que permite o acesso universal a
diversas fontes de dados.
39
Sucessor do ASP
40
Um pouco mais sobre o ASP.NET
Suporte a várias linguagens
Sucessor do ASP
Controles ricos e programáveis
41
Alguns tipos de controle..
Controles que servem elementos HTML
42
Controles que servem HTML
Esses controles são elementos HTML (ou outra linguagem
de marcação suportada, como o XHTML) que contêm
atributos que os deixam programáveis no servidor.
(runat=“server”)
44
Controles do servidor Web
45
Alguns tipos de controle..
Controles que servem elementos HTML
Controles do servidor Web
Controles para validação de formulários
Checar um item de preenchimento obrigatório em um
formulário;
Controles do usuário
Controles criados pelo desenvolvedor;
46
Função Nome
Mostrar texto Label
48
iniciandoLabel
totalLabel
PorcentagemLabel
pessoasLabel
nomeTextBox
emailTextBox
cursoList
perguntaList
enviarButton
49
Um pouco mais sobre o ASP.NET
Suporte a várias linguagens
Sucessor do ASP
Controles ricos e programáveis
Modularização de código
50
Modularização de código
51
Um pouco mais sobre o ASP.NET
Suporte a várias linguagens
Sucessor do ASP
Controles ricos e programáveis
Modularização de código
Manutenção de estados
52
Manutenção de estados
Armazenar informações por um certo intervalo de
tempo;
Podemos criar um objeto e ele ficar na memória (não
será destruído após a página ter sido enviada para o
cliente);
O objeto pode ser criado para um usuário ou para toda
a aplicação;
Application State: Visível por toda a aplicação;
Session State: Alocado para cada usuário.
53
Estocagem do Session State
Escolhe-se no web.config como será o modo de armazenamento.
Pode ser:
Em Processo (InProc)
Padrão, será armazenado na memória.
54
Um pouco mais sobre o ASP.NET
Suporte a várias linguagens
Sucessor do ASP
Controles ricos e programáveis
Modularização de código
Manutenção de estados
Melhor performance (código compilado)
55
Engine de execução de uma página
1.Pedido de execução 2. Pedido encaminhado ao engine que gera as páginas
de uma página .aspx
por um cliente
IIS
57
Mais fácil de configurar
Configuração do sistema
machine.config
Arquivo XML;
Estrutura hierárquica.
58
Alguns atributos do web.config
<authentication>
Como o ASP.NET deve autenticar ou identificar usuários
Windows, Forms, Passport, None
<authorization>
Permitir ou negar o acesso de alguns usuários
<compilation>
Debug, defaultLanguage, batch, tempDirectory
<compilers>, <assemblies>
<customErros>
Como tratar erros
Mode, defaultRedirect
59
Alguns atributos do web.config
<connectionString>
String de conexão para um banco de dados
<mailSettings>
Host, password, user
<configSections>
Especificar definições customizadas, criadas pelo
desenvolvedor.
60
EXEMPLO PROJETO MVC JAVASCRIPT e ASP.NET
• https://www.isarubim.com/posts/construindo-um-
simples-projeto-mvc-do-zero-com-javascript
• FAZER LEITURA E ESBOÇAR UM EXEMPLO ALEATÓRIO DE
ACORDO COM SUA VISÃO E CRIATIVIDADE.
62
Referências
http://www.w3schools.com/aspnet/aspnet_vsasp.asp
http://en.wikipedia.org/wiki/CLI_Languages
http://www.asp.net/learn/videos/
http://pt.wikipedia.org/wiki/ASP.NET
http://www.devhood.com/tools/tool_details.aspx?tool_id=930
http://www.devhood.com/tools/tool_sub.aspx?sort=date_submitted&o
rder=desc&page_number=1&category_id=5
63
64