Evolução da telefonia corporativa T1 (Lync integrado com a Telefonia)
Fundamentos da plataforma -...
Transcript of Fundamentos da plataforma -...
Fundamentos da Fundamentos da plataforma .NETplataforma .NETplataforma .NETplataforma .NET
André Menegassi
O que é o .NET Framework?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 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?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.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 Evolução do .NET Framework
20022002 20032003 20052005 20062006 20082008 20102010Lanç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).
Grande Evolução Pequenas Consideráveis Novos recursos Linq Project A IDE foiGrande Evolução
no desenvolvimento
de tradicional de
software.
Esse primeiro
release foi pouco
conhecido e
utilizado.
Pequenas
melhorias
Consideráveis
melhorias de
acesso a dados
(ADO.NET 2.0)
Team Foundation
Server (TFS:
aplicação de
metodologias de
gerência de projeto
ao desenvolvimento
apoiado pelo Visual
Studio.NET.)
Novos recursos
para interface
Windows (WPF)
Novo sistema de
comunicação
(WCF) para
aplicações
distribuídas
MS-ASP.NET
AJAX (biblioteca
separada do
Framework)
XNA Game Studio
Linq Project
(mapeamento
objeto-relacional)
Incorporação MS-
ASP.NET AJAX ao
Framework
SP1: Integração
total com AJAX
Control ToolKit
A IDE foi
reconstruída em
WPF.
Arquitetura do .NET FrameworkArquitetura 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”). 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 FrameworkArquitetura 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. 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 FrameworkArquitetura 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 compilação e execução de uma aplicação .NETProcesso 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 baixo-nível que a CLR pode ler e entender.P
roce
sso
de
compilação
Pro
cess
o d
e compilação
ní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.
Pro
cess
o d
e
Pro
cess
o d
e
Pro
cess
o d
e execução
Pro
cess
o d
e execução
Processo de compilação e execução de uma aplicação .NETProcesso 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 .NETProcesso de compilação e execução de uma aplicação .NET
C# codeVisual Basic
.NET code
Qual Linguagem?
CompiladorVisual Basic .NET
Compilador C#
default.aspx
Código
Nativo
MSILJITcompiler
Common Language Runtime