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). Grande Evolução Pequenas Consideráveis Novos recursos Linq Project A IDE foi no desenvolvimento de tradicional de software. melhorias melhorias de acesso a dados (ADO.NET 2.0) para interface Windows (WPF) (mapeamento objeto-relacional) reconstruída WPF. em Esse primeiro release foi pouco conhecido e utilizado. Team Foundation Server (TFS: aplicação de metodologias de gerência de projeto ao desenvolvimento apoiado pelo Visual Studio.NET.) Novo sistema de comunicação (WCF) para aplicações distribuídas MS-ASP.NET AJAX (biblioteca separada do Framework) XNA Game Studio Incorporação MS- ASP.NET AJAX ao Framework SP1: Integração total com AJAX Control ToolKit
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 compilação e execução de uma aplicação.net Processo de compilação 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. Processo de execução 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? C# code Compilador C# Visual Basic.NET code Compilador Visual Basic.NET JIT compiler MSIL Código Nativo Common Language Runtime
Leitura complementar http://msdn.microsoft.com/library/zw4w595w.aspx