fundamentos do .net framework - parte 1
DESCRIPTION
Fiz esta apresentação para dar um curso de .NET C# na faculdade Pitágoras. Esta é a primeira e mostra fundamentos do framework, é mais um overview dessa poderosa tecnologia.TRANSCRIPT
![Page 1: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/1.jpg)
MICROSOFT .NET C#
JULIAN CORRÊAFORMADO EM CIÊNCIA DA COMPUTAÇÃO PELA UNIVERSIDADE FUMECPÓS-GRADUADO EM GESTÃO DE PROJETOSEXPERIENCIA EM DESENVOLVIMENTO DE SOFTWARE NA TOTVS SACURSO DE FORMAÇÃO EM .NET PELA MICROSOFTMCP - TS: MICROSOFT .NET FRAMEWORK 2.0 – APPLICATION DEVELOPMENT FOUNDATIONDESENVOLVEDOR PARA DISPOSITIVOS MÓVEIS – IOS (IPHONE, IPAD, IPOD )
Fundamentos do Framework .NET
![Page 2: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/2.jpg)
I) Introdução a plataforma .NET
• O que é a Microsoft .NET?• O que é a .NET Framework?• Fundamentos da .NET Framework• Common Language Runtime• Base Class Library
Microsoft .NET C#
IMAGEM
I) Introdução à plataforma .NET.NET Framework no mundo do
desenvolvimento II) Arquitetura .Net
maquina virtual, compilação e execução III) A linguagem C#
ênfase na linguagem IV) Evolução de arquiteturas
ÍNDICE
![Page 3: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/3.jpg)
Microsoft .NET é uma iniciativa da Microsoft que visa uma plataforma única para desenvolvimento e execução de sistemas e aplicações. Todo e qualquer código gerado para .NET, pode ser executado em qualquer dispositivo ou plataforma que possua um framework: a "Plataforma .NET". Com idéia semelhante à plataforma Java, o programador deixa de escrever código para um sistema ou dispositivo específico e passa a escrever para a plataforma .NET.
O QUE É A MICROSOFT .NET?
Fonte: Wikipedia. Disponivel em http://pt.wikipedia.org/wiki/Microsoft_.NET .Acesso em:03/09/2008
![Page 4: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/4.jpg)
A .NET Framework é a plataforma da Microsoft para construção de aplicativos de interface rica (RIA), comunicação segura e a capacidade para modelar vários processos de negócio.
Provê modelagem de programação consistente e um conjunto comum de APIs ( Base Class Library (BCL) também conhecida como Framework Class Library (FCL) ) ajudando a construir aplicações que funcionam da maneira que você deseja, na linguagem de programação de sua preferência, através de software, serviços e dispositivos.
O QUE É A .NET FRAMEWORK?
Fonte: Microsoft. Disponivel em http://www.microsoft.com/net/Overview.aspx. Acesso em:06/10/2008
![Page 5: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/5.jpg)
CLR : é o alicerce da .NET Framework. Podemos pensar o runtime como um agente que gera código em tempo de execução prestando serviços essenciais.
Base Class Library: coleção de tipos orientada a objetos reutilizáveis que podem ser usados para desenvolver aplicações que vão da tradicional linha de comando até interface gráfica com o usuário (GUI).
FUNDAMENTOS DA .NET FRAMEWORK
Fonte: Microsoft http://msdn.microsoft.com/en-us/library/zw4w595w.aspx Acessado em 08/10/2008
A .NET Framework tem dois componentes principais: o ambiente comum de execução de linguagem (Common Language Runtime (CLR) e a Base Class Library (FCL).
![Page 6: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/6.jpg)
6
COMMON LANGUAGE RUNTIME
![Page 7: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/7.jpg)
7
BASE CLASS LIBRARY
![Page 8: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/8.jpg)
8
NOVIDADES DO FRAMEWORK 2.0
Partial Class
Permite dividir a definição de uma classe (linha de código) em diversos arquivos;
Windows Form: Form1.cs e Form1.Designer.cs.
Generics Class
Permite definir uma classe sem especificar o tipo dos parâmetros ou o tipo dos membros da classe;
Acaba com a necessidade de Boxing e UnBoxing;
Collections Generics.
![Page 9: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/9.jpg)
II) Arquitetura .Net
• Vantagens• Desvantagens• User Interfaces• Arquitetura .Net• Coleta de lixo• Máquina virtual• Como funciona?
IMAGEM
Microsoft .NET C#
I) Introdução à plataforma .NET.NET Framework no mundo do
desenvolvimento II) Arquitetura .Net
maquina virtual, compilação e execução III) A linguagem C#
ênfase na linguagem IV) Evolução de arquiteturas
ÍNDICE
![Page 10: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/10.jpg)
Alta escalabilidade para ambientes de missão crítica. Interoperabilidade entre plataformas e componentes
desenvolvidos em outras linguagens suportadas pela .NET Framework.
Sintonizado com as últimas tecnologias. Solução sendo mundialmente adotada. Tecnologia baseada em máquina virtual. Rotina automática de “coleta de lixo” que permite remoção
de variáveis e objetos que não são mais utilizados. Novo ambiente de desenvolvimento acelerado (IDE VS). Fim do “Dll HELL”
VANTAGENS
![Page 11: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/11.jpg)
É um novo paradigma e requer aprendizado de novas técnicas para fazer o melhor uso da ferramenta, principalmente em POO.
Requer a distribuição do framework. Em alguns casos de migração, requer reengenharia ou
reescrita completa do código.
DESVANTAGENS
![Page 12: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/12.jpg)
12
USER INTERFACESO .NET Framework suporta tres tipos de interfaces com o
usuario:
Windows Forms (WinForms) o qual roda sobre cliente Win32.
Web Forms o qual roda com o ASP.NET
Console Applications, aplicacoes estilos DOS, “command prompt window”.
![Page 13: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/13.jpg)
Desenvolvimento para ambiente web e desktop de forma simples e acelerada.
Funcionalidades que tornam a integração entre os dois ambientes de forma fácil e ágil.
Ferramentas RAD para desenvolvimento.
Independência de linguagem de programação ( CLS ).
Compartilhamento de componente desenvolvidos entre as
diversas linguagens de forma transparente para o desenvolvedor.
FCL – Framework Class Library
ARQUITETURA .NET
![Page 14: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/14.jpg)
ARQUITETURA .NET
![Page 15: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/15.jpg)
ARQUITETURA .NET
![Page 16: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/16.jpg)
16
Mecanismo de limpeza e desalocação de memória ; Destrói e limpa automaticamente objetos que saíram de
referência; Termina com o problema da referência circular; Termina com problema de objetos órfãos que ocupam
memória.
Mecanismo de limpeza e desalocação de memória ; Destrói e limpa automaticamente objetos que saíram de
referência; Termina com o problema da referência circular; Termina com problema de objetos órfãos que ocupam
memória.
COLETA DE LIXO
![Page 17: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/17.jpg)
17
Uso real de herança, polimorfismo e sobrecarga;
Fácil extensão de funcionalidades (escalabilidade);
Prepara o programador para as metodologias de desenvolvimento orientadas a objeto.
Uso real de herança, polimorfismo e sobrecarga;
Fácil extensão de funcionalidades (escalabilidade);
Prepara o programador para as metodologias de desenvolvimento orientadas a objeto.
ORIENTADO A OBJETOS
![Page 18: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/18.jpg)
MÁQUINA VIRTUAL Máquina virtual: o código gerado é compilado em linguagem
intermediária (MSIL).
O IL é distribuído para os clientes.
O compilador “just in time” (JIT) compila o código em IL para linguagem de máquina.
![Page 19: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/19.jpg)
COMO FUNCIONA ?
![Page 20: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/20.jpg)
Serviços do Sistema Operacional
COMO FUNCIONA ?
Gerenciado
Código Nativo
CLR
Compilador JIT
AssemblyMSIL
AssemblyMSIL
AssemblyMSIL C
ompo
nent
e nã
o ge
renc
iado
F# C++ C#Código Fonte
CompiladorCompilador Compilador
![Page 21: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/21.jpg)
III) A linguagem C#
• Por que C#?• A linguagem C#• ASP.NET• Componentes importantes
Microsoft .NET C#
I) Introdução à plataforma .NET.NET Framework no mundo do
desenvolvimento II) Arquitetura .Net
maquina virtual, compilação e execução III) A linguagem C#
ênfase na linguagem IV) Evolução de arquiteturas
ÍNDICE
![Page 22: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/22.jpg)
Linguagem de programação criada para funcionar em .Net.
Primeiro compilador a ser desenvolvido para a plataforma. A maior parte da .NET Framework é escrita em C#.
Por tudo isto, a linguagem C# é considerada a linguagem de desenvolvimento símbolo da .NET Framework.
POR QUÊ C#?
![Page 23: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/23.jpg)
É uma linguagem da família C++. Possui similaridades com a linguagem Java e agrega alguns conceitos difundidos pelo Object Pascal, como o uso de estruturas “properties” no código.
Possui o conceito de programação genérica (Generics), que permite implementação parametrizada em design-time eliminando a necessidade de conversões de tipos e verificações em run-time (similar aos templates da linguagem C++).
A LINGUAGEM C#
![Page 24: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/24.jpg)
A tecnologia ASP.Net é uma evolução da antiga tecnologia ASP (Active Server Pages) da Microsoft.
Ao contrário da sua antecessora, as aplicações ASP.NET são compiladas antes da execução, o que proporciona um maior ganho em desempenho.
Tecnologia da Plataforma .Net voltada para o desenvolvimento de aplicações Web.
Componente do Internet Information Service (IIS). Permite a criação de páginas HTML dinâmicas através de linguagem de
programação. As aplicações podem ser escritas em várias linguagens (desde que
suportadas pela .Net Framework).
ASP.NET
![Page 25: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/25.jpg)
25
ASP.NET
![Page 26: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/26.jpg)
Remoting: Infra-estrutura de interação remota da plataforma. Permite a comunicação dos clientes com objetos hospedados em domínios, locais ou remotos.
Reflection (Reflexão): É um processo da .Net Framework que permite obter informações sobre assemblies e tipos definidos dentro destes, além da criação, invocação e acesso às instâncias de tipos em tempo de execução.
Generics : É um mecanismo de linguagem de programação pelo qual um único pedaço de código (método, objeto, interface, etc) pode manipular tipos diferentes de dados sem ter explicitamente uma entidade separada para cada tipo de dado.
COMPONENTES IMPORTANTES
![Page 27: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/27.jpg)
IV) Evolução das arquiteturas
• Arquitetura Cliente/Servidor• Arquitetura N camadas ( MVC )
Microsoft .NET C#
I) Introdução à plataforma .NET.NET Framework no mundo do
desenvolvimento II) Arquitetura .Net
maquina virtual, compilação e execução III) A linguagem C#
ênfase na linguagem IV) Evolução das arquiteturas
ÍNDICE
![Page 28: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/28.jpg)
Arquitetura Cliente/Servidor em Win32
Vantagens
É mais simples desenvolver as aplicações. É mais simples testar as aplicações. É mais simples distribuir e instalar as aplicações.
Desvantagens
Maior acoplamento da regra de negócio com a interface de usuário. Menor coesão dos módulos devido a dependências através de hard-code. Maior dificuldade de integração entre os módulos. Maior dificuldade de atualizações de versão no cliente. Desenvolvimento de ambiente web (Ex.: ASP) e desktop (Ex.: Borland Delphi)
com tecnologias distintas. Maior custo para desenvolvimento de aplicações com flexibilidade e
escalabilidade (COM+,).
ARQUITETURA CLIENTE/SERVIDOR
![Page 29: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/29.jpg)
EX. DE ARQUITETURA CLIENTE/SERVIDOR
Interface web
Interface desktop
Tecnologia de acesso a dados SGBD
SQL Server ou Oracle
![Page 30: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/30.jpg)
Arquitetura N Camadas com .Net
Vantagens
Menor acoplamento da regra de negócio com a interface de usuário. Maior coesão dos módulos devido a independência de código. Maior facilidade de integração entre os módulos. Maior facilidade de atualizações de versão no cliente, podendo atualizar apenas parte de
um módulo. Desenvolvimento de ambiente web e desktop com tecnologia unificada (.Net). Menor custo para desenvolvimento de aplicações com flexibilidade e escalabilidade
(Remoting). Permite maior escalabilidade. Permite reaproveitamento de regras de negócio e cálculo. Permite execução remota via WEB.
Desvantagens
Mais difícil de desenvolver as aplicações. Mais difícil de distribuir e instalar. Mais difícil de testar.
ARQUITETURA N CAMADAS ( MVC )
![Page 31: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/31.jpg)
EX. DE ARQUITETURA EM N CAMADAS
Regras de negócio compartilhadas com
Remoting
Interface ASP.NET/WebForms
Interface WinForms
Tecnologia ADO.NET de
acesso a dados SGBD
![Page 32: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/32.jpg)
Front-end
.NET Framework
Servidor de Aplicação
.NET FrameworkCliente do Banco de Dados
Banco de Dados
EXEMPLO DE COMUNICAÇÃO ENTRE ESTAÇÕES
![Page 33: Fundamentos do .NET Framework - Parte 1](https://reader036.vdocuments.site/reader036/viewer/2022062419/558359e7d8b42a575f8b4ba8/html5/thumbnails/33.jpg)
POSSIBILIDADE DE LOAD-BALANCING.ESCALABILIDADE ALTA
Front-end
Servidores de Aplicação
Banco de Dados