Fundamentos da
plataforma .NET
André Menegassi
O que é o .NET Framework?
• .NET é uma plataforma de software para desenvolvimento de
aplicações que conecta informações, sistemas, pessoas e dispositivos
através de tecnologias de uso pessoal, de negócios, de telefonia
celular a servidores corporativos, permitindo assim, o acesso rápido a
informações importantes onde elas forem necessárias.
• Permite desenvolver soluções/aplicativos como:
–
–
–
–
–
–
–
–
Aplicativos Web
Aplicativos Windows
Aplicativos para Servidores
Aplicativos Smart Client
Aplicativos de Console
Aplicativos de Banco de Dados
Serviços Windows (aplicativos que rodam como serviços)
Web Services e muito mais
O que é o .NET Framework?
•
Toda e qualquer aplicação gerada em .NET, pode ser executada em qualquer
dispositivo ou plataforma que possua o .NET Framework.
•
O .NET Framework implementa uma máquina virtual.
•
Máquina virtual: Abstrair a necessidade do desenvolvedor de interagir com
o sistema operacional oferecendo um rico conjunto de ferramentas e
bibliotecas de objetos que permitem alta produtividade no desenvolvimento de
sistemas.
•
O instalador da plataforma para o sistema operacional Windows pode ser
baixado no site da Microsoft, e é gratuito.
– http://msdn.microsoft.com/en-us/netframework/default.aspx
•
Mono-Project (www.mono-project.com): versão do .NET Framework 4.0 para
ambientes:
•
.NET Compact Framework para dispositivos que utilizam Windows Mobile.
Evolução do .NET Framework
2002
2003
2005
2006
2008
2010
Lançamento do
Framework 1.0
Lançamento do
Framework 1.1
Lançamento do
Framework 2.0
Lançamento do
Framework 3.0
Lançamento do
Framework 3.5
Lançamento do
Framework 4.0
Visual Studio
.NET 2002
Visual Studio
.NET 2003
Visual Studio
.NET 2005
Visual Studio
.NET 2005
Visual Studio
.NET 2008
Visual Studio
.NET 2010
WebMatrix
WebMatrix
Opções gratuitas de ferramenta de desenvolvimento da própria Microsoft
(http://www.microsoft.com/express/default.aspx).
Novos recursos
para interface
Windows (WPF)
Linq
Project A
IDE
(mapeamento
reconstruída
objeto-relacional)
WPF.
Novo sistema de
comunicação
(WCF) para
aplicações
distribuídas
Incorporação MSASP.NET AJAX ao
Framework
Grande Evolução
Pequenas
no desenvolvimento melhorias
de tradicional de
software.
Consideráveis
melhorias de
acesso a dados
(ADO.NET 2.0)
Esse primeiro
release foi pouco
conhecido e
utilizado.
Team Foundation
Server (TFS:
aplicação de
metodologias de
gerência de projeto
ao desenvolvimento MS-ASP.NET
apoiado pelo Visual AJAX (biblioteca
separada do
Studio.NET.)
Framework)
XNA Game Studio
SP1:
Integração
total com AJAX
Control ToolKit
foi
em
Arquitetura do .NET Framework
Arquitetura do .NET Framework
Arquitetura do .NET Framework
• O CLR é um ambiente de tempo de execução (runtime) que realiza
tarefas, tais como: execução do programa, gerenciamento de memória
(coleta de lixo), segurança, tratamento de erro, controle de versão e
suporte de instalação. Realiza a interface entre a aplicação e o
sistema operacional. O código que é executado nesse ambiente de
runtime é chamado de Código Gerenciado (“Managed Code”),
enquanto aquele que é executado fora é chamado de Código Não
Gerenciado (“Unmanaged Code”).
• A Base Classe Library (BCL) é um conjunto de classes que o .NET
disponibiliza para todas as linguagens que rodam sob o .NET
Framework. Essa base encapsula várias funcionalidades que tornam o
trabalho do desenvolvedor muito mais fácil e qualquer linguagem do
Framework pode utilizar.
– A BCL é organizada em namespaces.
– Namespaces são grupos de classes relacionadas
Arquitetura do .NET Framework
• O .NET Framework foi desenvolvido para ser compatível com diversas
linguagens de programação.
• LPs suportadas: C#, VB.NET, C++, J#, JScript, Perl, Python, Fortran, Cobol,
•
e outras.
Uma LP para ser compatível com o .NET Framework precisa atender a CLS e
CTS.
• Common Language Specification (CLS): Define os padrões e regras
mínimas que o compilador precisa estar em conformidade.
• Common Type Specification (CTS): Garante compatibilidade entre os
componentes .NET.
– Um integer do Visual Basic .NET e um int do C# são iguais, pois ambos são
representados da mesma forma, como System.Int32
• IMPORTANTE: Somente a sintaxe (forma de representar expressões,
instruções e unidades de programa) das linguagens é suportada pelo
CLR, pois os tipos, as classes, métodos, propriedades e eventos são
os recursos da plataforma e não da linguagem escolhida.
Arquitetura do .NET Framework
• Exemplo de código em C#: HelloWorld em C#
using System;
public class HelloWorld
{
public static void Main()
{
Console.WriteLine(“HelloWorld C#!”);
}
}
• Exemplo de código em VB.NET: HelloWorld em VB.NET
Imports System
Module HelloWorld
Sub Main()
Console.WriteLine(“Hello World VB.NET!”)
End Sub
End Module
Processo de execução
Processo de compilação
Processo de compilação e execução de uma aplicação .NET
Microsoft Intermediate Language
(MSIL) ou simplesmente IL. Esta é a
forma que a aplicação é
publicada/disponibilizada, em um ou
mais assemblies, em MSIL compostos
por DLLs (bibliotecas) e executáveis.
Um desses assemblies deve conter um
executável designado como ponto de
entrada da aplicação.
A MSIL é uma linguagem de baixonível que a CLR pode ler e entender.
O JIT converte instruções MSIL para
instruções específicas (código de
máquina) da arquitetura do
processador onde a aplicação .NET é
executada.
Processo de compilação e execução de uma aplicação .NET
Código MSIL da aplicação
HelloWorld gerado pelo
compilador C#.
Código MSIL da aplicação
HelloWorld gerado pelo
compilador VB.NET.
Processo de compilação e execução de uma aplicação .NET
default.aspx
Qual Linguagem?
Visual Basic
.NET code
C# code
Compilador C#
JIT
compiler
Código
Nativo
Common Language Runtime
Compilador
Visual Basic .NET
MSIL
Leitura complementar
•
http://msdn.microsoft.com/library/zw4w595w.aspx
Download

Fundamentos da plataforma .NET