SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
Fundamentos do .NET Framework - Parte 1
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




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 é 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.




Fonte: Wikipedia. Disponivel em http://pt.wikipedia.org/wiki/Microsoft_.NET .Acesso em:03/09/2008
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.



Fonte: Microsoft. Disponivel em http://www.microsoft.com/net/Overview.aspx. Acesso em:06/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).
   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).

       Fonte: Microsoft http://msdn.microsoft.com/en-us/library/zw4w595w.aspx Acessado em 08/10/2008
6
7
   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.




                                                                          8
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




II) Arquitetura .Net
          • Vantagens
          •Desvantagens
          •User Interfaces
          •Arquitetura .Net
          •Coleta de lixo
          • Máquina virtual
          •Como funciona?
   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”
   É 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.
O .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”.




                                                                    12
   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
Fundamentos do .NET Framework - Parte 1
Fundamentos do .NET Framework - Parte 1
   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.




                                                            16
   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.




                                                          17
   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.
Fundamentos do .NET Framework - Parte 1
Código Fonte         F#          C++              C#




                                                              Componente não
                                                                gerenciado
               Compilador    Compilador       Compilador

Gerenciado
               Assembly       Assembly         Assembly
                 MSIL           MSIL             MSIL


                                  CLR
                            Compilador JIT



                             Código Nativo


                            Serviços do Sistema Operacional
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




III) A linguagem C#

         • Por que C#?
         • A linguagem C#
         • ASP.NET
         • Componentes importantes
    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.
   É 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 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).
25
   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.
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




IV) Evolução das arquiteturas

         • Arquitetura Cliente/Servidor
         • Arquitetura N camadas ( MVC )
   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+,).
Interface web




                            Tecnologia de
                           acesso a dados      SGBD
                                            SQL Server ou
                                               Oracle


Interface desktop
   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.
Interface ASP.NET/
    WebForms




                      Regras de negócio     Tecnologia
                     compartilhadas com    ADO.NET de
                          Remoting        acesso a dados   SGBD




    Interface WinForms
Front-end        Servidor de Aplicação       Banco de Dados

.NET Framework   .NET Framework
                 Cliente do Banco de Dados
Front-end                             Banco de Dados




            Servidores de Aplicação
Fundamentos do .NET Framework - Parte 1

Más contenido relacionado

La actualidad más candente

Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não Windows
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não WindowsPalestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não Windows
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não WindowsAlessandro Binhara
 
Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Laís Vidal
 
Plataforma net pdf
Plataforma net pdfPlataforma net pdf
Plataforma net pdfAPlima
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaÁlvaro Farias Pinheiro
 
Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...
Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...
Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...Rogério Moraes de Carvalho
 
Projetos Mono e Moonlight
Projetos Mono e MoonlightProjetos Mono e Moonlight
Projetos Mono e MoonlightPedro Alves Jr.
 
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO) CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO) Grupo Treinar
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Alexandre Tarifa
 
Apostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETApostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETJosé Corrêa Viana
 
TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5
TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5
TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5Rogério Moraes de Carvalho
 
Microsoft Community Launch 2010: .NET Framework 4
Microsoft Community Launch 2010: .NET Framework 4Microsoft Community Launch 2010: .NET Framework 4
Microsoft Community Launch 2010: .NET Framework 4Rogério Moraes de Carvalho
 

La actualidad más candente (20)

Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não Windows
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não WindowsPalestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não Windows
Palestra do TechEd : O Projeto Mono: Aplicações .NET para sistemas não Windows
 
Arquitetura[.net]
Arquitetura[.net]Arquitetura[.net]
Arquitetura[.net]
 
Linguagem de programação Java 6, 7 e 8
Linguagem de programação Java 6, 7 e 8Linguagem de programação Java 6, 7 e 8
Linguagem de programação Java 6, 7 e 8
 
Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012
 
O projeto Mono
O projeto MonoO projeto Mono
O projeto Mono
 
Introducao ao .Net
Introducao ao .NetIntroducao ao .Net
Introducao ao .Net
 
.NET e C# - Introdução Geral
.NET e C# - Introdução Geral.NET e C# - Introdução Geral
.NET e C# - Introdução Geral
 
Microsoft .NET Framework
Microsoft .NET FrameworkMicrosoft .NET Framework
Microsoft .NET Framework
 
Plataforma net pdf
Plataforma net pdfPlataforma net pdf
Plataforma net pdf
 
Aula 1
Aula 1Aula 1
Aula 1
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 
Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...
Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...
Microsoft Tech·Ed Brasil 2010: DEV302 - Como e onde devo utilizar o Managed E...
 
Projetos Mono e Moonlight
Projetos Mono e MoonlightProjetos Mono e Moonlight
Projetos Mono e Moonlight
 
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO) CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
CURSO DELPHI FUND. CLIENT SERVER (DIURNO)
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010
 
Netbeans
NetbeansNetbeans
Netbeans
 
Apostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NETApostila - Desenvolvimento Web com ASP.NET
Apostila - Desenvolvimento Web com ASP.NET
 
Introdução ao Java
Introdução ao JavaIntrodução ao Java
Introdução ao Java
 
TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5
TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5
TDC 2012 Goiânia: Trilha .NET - Novidades do .NET Framework 4.5
 
Microsoft Community Launch 2010: .NET Framework 4
Microsoft Community Launch 2010: .NET Framework 4Microsoft Community Launch 2010: .NET Framework 4
Microsoft Community Launch 2010: .NET Framework 4
 

Destacado

Windows server 2003 curso completo
Windows server 2003 curso completoWindows server 2003 curso completo
Windows server 2003 curso completofalcao_raphael
 
Resposta do curso bradesco j2me
Resposta do curso bradesco j2meResposta do curso bradesco j2me
Resposta do curso bradesco j2me118452
 
Programação em c# (117 horas)
Programação em c# (117 horas)Programação em c# (117 horas)
Programação em c# (117 horas)Vitor Savicki
 
As vantagens do desenvolvimento em .NET
As vantagens do desenvolvimento em .NETAs vantagens do desenvolvimento em .NET
As vantagens do desenvolvimento em .NETJoel Rodrigues
 
Fundamentos do .NET Framework - Parte 2
Fundamentos do .NET Framework - Parte 2Fundamentos do .NET Framework - Parte 2
Fundamentos do .NET Framework - Parte 2Julian Correa
 
Ms excel 2007 básico (23 horas)
Ms excel 2007 básico (23 horas)Ms excel 2007 básico (23 horas)
Ms excel 2007 básico (23 horas)Vitor Savicki
 
Conhecendo a Plataforma .NET
Conhecendo a Plataforma .NETConhecendo a Plataforma .NET
Conhecendo a Plataforma .NETPedro Alves Jr.
 
Segurança da informação (23 horas)
Segurança da informação (23 horas)Segurança da informação (23 horas)
Segurança da informação (23 horas)Vitor Savicki
 
Gestão de projetos 01 como trabalhar com projetos(20 horas)
Gestão de projetos 01 como trabalhar com projetos(20 horas)Gestão de projetos 01 como trabalhar com projetos(20 horas)
Gestão de projetos 01 como trabalhar com projetos(20 horas)Vitor Savicki
 
Instalação do microsoft windows server 2003 guia passo a passo
Instalação do microsoft windows server 2003   guia passo a passoInstalação do microsoft windows server 2003   guia passo a passo
Instalação do microsoft windows server 2003 guia passo a passoPortus96
 
Enterprise services com .net
Enterprise services com .netEnterprise services com .net
Enterprise services com .netFernando Palma
 
Certificado students to business desenvolvimento de software
Certificado students to business desenvolvimento de softwareCertificado students to business desenvolvimento de software
Certificado students to business desenvolvimento de softwareVitor Savicki
 
Componentes do Cobit
Componentes do CobitComponentes do Cobit
Componentes do CobitFabio Viana
 
Processo de desenvolvimento de software (12 horas)
Processo de desenvolvimento de software (12 horas)Processo de desenvolvimento de software (12 horas)
Processo de desenvolvimento de software (12 horas)Vitor Savicki
 
Simulado Itil V2 PortuguêS
Simulado Itil V2 PortuguêSSimulado Itil V2 PortuguêS
Simulado Itil V2 PortuguêSFernando Palma
 
Modelagem de dados (35 horas)
Modelagem de dados (35 horas)Modelagem de dados (35 horas)
Modelagem de dados (35 horas)Vitor Savicki
 
Boas práticas de programação em C# .NET
Boas práticas de programação em C# .NETBoas práticas de programação em C# .NET
Boas práticas de programação em C# .NETFabiano Roman Beraldi
 

Destacado (20)

Windows server 2003 curso completo
Windows server 2003 curso completoWindows server 2003 curso completo
Windows server 2003 curso completo
 
Resposta do curso bradesco j2me
Resposta do curso bradesco j2meResposta do curso bradesco j2me
Resposta do curso bradesco j2me
 
Noções básicas do windows 7
Noções básicas do windows 7Noções básicas do windows 7
Noções básicas do windows 7
 
Programação em c# (117 horas)
Programação em c# (117 horas)Programação em c# (117 horas)
Programação em c# (117 horas)
 
As vantagens do desenvolvimento em .NET
As vantagens do desenvolvimento em .NETAs vantagens do desenvolvimento em .NET
As vantagens do desenvolvimento em .NET
 
Fundamentos do .NET Framework - Parte 2
Fundamentos do .NET Framework - Parte 2Fundamentos do .NET Framework - Parte 2
Fundamentos do .NET Framework - Parte 2
 
Ms excel 2007 básico (23 horas)
Ms excel 2007 básico (23 horas)Ms excel 2007 básico (23 horas)
Ms excel 2007 básico (23 horas)
 
Conhecendo a Plataforma .NET
Conhecendo a Plataforma .NETConhecendo a Plataforma .NET
Conhecendo a Plataforma .NET
 
Segurança da informação (23 horas)
Segurança da informação (23 horas)Segurança da informação (23 horas)
Segurança da informação (23 horas)
 
Gestão de projetos 01 como trabalhar com projetos(20 horas)
Gestão de projetos 01 como trabalhar com projetos(20 horas)Gestão de projetos 01 como trabalhar com projetos(20 horas)
Gestão de projetos 01 como trabalhar com projetos(20 horas)
 
Instalação do microsoft windows server 2003 guia passo a passo
Instalação do microsoft windows server 2003   guia passo a passoInstalação do microsoft windows server 2003   guia passo a passo
Instalação do microsoft windows server 2003 guia passo a passo
 
Enterprise services com .net
Enterprise services com .netEnterprise services com .net
Enterprise services com .net
 
Certificado students to business desenvolvimento de software
Certificado students to business desenvolvimento de softwareCertificado students to business desenvolvimento de software
Certificado students to business desenvolvimento de software
 
Componentes do Cobit
Componentes do CobitComponentes do Cobit
Componentes do Cobit
 
Processo de desenvolvimento de software (12 horas)
Processo de desenvolvimento de software (12 horas)Processo de desenvolvimento de software (12 horas)
Processo de desenvolvimento de software (12 horas)
 
Linguagem de programação C# 4 e 5
Linguagem de programação C# 4 e 5Linguagem de programação C# 4 e 5
Linguagem de programação C# 4 e 5
 
Cobit 4.1 - DS2
Cobit 4.1 - DS2Cobit 4.1 - DS2
Cobit 4.1 - DS2
 
Simulado Itil V2 PortuguêS
Simulado Itil V2 PortuguêSSimulado Itil V2 PortuguêS
Simulado Itil V2 PortuguêS
 
Modelagem de dados (35 horas)
Modelagem de dados (35 horas)Modelagem de dados (35 horas)
Modelagem de dados (35 horas)
 
Boas práticas de programação em C# .NET
Boas práticas de programação em C# .NETBoas práticas de programação em C# .NET
Boas práticas de programação em C# .NET
 

Similar a Fundamentos do .NET Framework - Parte 1

01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1César Augusto Pessôa
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010Norton Guimarães
 
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...Fabrício Lopes Sanchez
 
O Projeto Mono: Aplicações .NET para sistemas não Windows
O Projeto Mono: Aplicações .NET para sistemas não WindowsO Projeto Mono: Aplicações .NET para sistemas não Windows
O Projeto Mono: Aplicações .NET para sistemas não WindowsAlessandro Binhara
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioGeovani Ferreira Gonçalves
 
Jogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharpJogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharpPedro Vuvu Alvaro
 
Jogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharpJogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharpMarcio Chiaveli
 
Como desenvolver softwares utilizando tecnologias microsoft
Como desenvolver softwares utilizando tecnologias microsoftComo desenvolver softwares utilizando tecnologias microsoft
Como desenvolver softwares utilizando tecnologias microsoftJucinei Pereira Dos Santos
 
Paper NOVL - Naked Objects View Language- InfoBrasil 2012
Paper NOVL - Naked Objects View Language- InfoBrasil 2012Paper NOVL - Naked Objects View Language- InfoBrasil 2012
Paper NOVL - Naked Objects View Language- InfoBrasil 2012Marcius Brandão
 
ASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureGiovanni Bassi
 

Similar a Fundamentos do .NET Framework - Parte 1 (20)

Introdução ao .NET
Introdução ao .NETIntrodução ao .NET
Introdução ao .NET
 
Novidades do .NET 3.5
Novidades do .NET 3.5Novidades do .NET 3.5
Novidades do .NET 3.5
 
.NET Open Source
.NET Open Source.NET Open Source
.NET Open Source
 
01 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.101 - Introdução a programação para internet v1.1
01 - Introdução a programação para internet v1.1
 
1º FasS2B 2010
1º FasS2B 20101º FasS2B 2010
1º FasS2B 2010
 
ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010ASP.NET e Visual Studio 2010
ASP.NET e Visual Studio 2010
 
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
Construindo aplicações robustas com a suíte de tecnologias gratuítas da Micro...
 
O Projeto Mono: Aplicações .NET para sistemas não Windows
O Projeto Mono: Aplicações .NET para sistemas não WindowsO Projeto Mono: Aplicações .NET para sistemas não Windows
O Projeto Mono: Aplicações .NET para sistemas não Windows
 
Int305 projeto mono-final
Int305 projeto mono-finalInt305 projeto mono-final
Int305 projeto mono-final
 
Desenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual StudioDesenvolvimento de Aplicações com Visual Studio
Desenvolvimento de Aplicações com Visual Studio
 
Apresentando .NET
Apresentando .NETApresentando .NET
Apresentando .NET
 
Introdução a Plataforma .NET 4.0
Introdução a Plataforma .NET 4.0Introdução a Plataforma .NET 4.0
Introdução a Plataforma .NET 4.0
 
Jogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharpJogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharp
 
Jogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharpJogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharp
 
Csharp
CsharpCsharp
Csharp
 
Como desenvolver softwares utilizando tecnologias microsoft
Como desenvolver softwares utilizando tecnologias microsoftComo desenvolver softwares utilizando tecnologias microsoft
Como desenvolver softwares utilizando tecnologias microsoft
 
.NET Open Source 2009
.NET Open Source 2009.NET Open Source 2009
.NET Open Source 2009
 
Paper NOVL - Naked Objects View Language- InfoBrasil 2012
Paper NOVL - Naked Objects View Language- InfoBrasil 2012Paper NOVL - Naked Objects View Language- InfoBrasil 2012
Paper NOVL - Naked Objects View Language- InfoBrasil 2012
 
Cebraspe 2016: .NET Core e ASP.NET Core
Cebraspe 2016: .NET Core e ASP.NET CoreCebraspe 2016: .NET Core e ASP.NET Core
Cebraspe 2016: .NET Core e ASP.NET Core
 
ASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e AzureASP.NET Core com Linux, Docker e Azure
ASP.NET Core com Linux, Docker e Azure
 

Último

O papel da automação de processos no mundo do trabalho pós-moderno
O papel da automação de processos no mundo do trabalho pós-modernoO papel da automação de processos no mundo do trabalho pós-moderno
O papel da automação de processos no mundo do trabalho pós-modernoDenis Pereira Raymundo
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Dirceu Resende
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Dirceu Resende
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Dirceu Resende
 
TI EXAMES - NIST Cybersecurity Framework.pdf
TI EXAMES - NIST Cybersecurity Framework.pdfTI EXAMES - NIST Cybersecurity Framework.pdf
TI EXAMES - NIST Cybersecurity Framework.pdfRodrigoMori7
 
Knowtree - Extração de Dados com o KAPE.
Knowtree - Extração de Dados com o KAPE.Knowtree - Extração de Dados com o KAPE.
Knowtree - Extração de Dados com o KAPE.Thiago lindolfo
 
PRODUCT OPS - COMO APROVEITAR O MÁXIMO DESTA NOVA TENDÊNCIA - Priscila Chagas...
PRODUCT OPS - COMO APROVEITAR O MÁXIMO DESTA NOVA TENDÊNCIA - Priscila Chagas...PRODUCT OPS - COMO APROVEITAR O MÁXIMO DESTA NOVA TENDÊNCIA - Priscila Chagas...
PRODUCT OPS - COMO APROVEITAR O MÁXIMO DESTA NOVA TENDÊNCIA - Priscila Chagas...Priscila Ribeiro Chagas
 

Último (7)

O papel da automação de processos no mundo do trabalho pós-moderno
O papel da automação de processos no mundo do trabalho pós-modernoO papel da automação de processos no mundo do trabalho pós-moderno
O papel da automação de processos no mundo do trabalho pós-moderno
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
 
TI EXAMES - NIST Cybersecurity Framework.pdf
TI EXAMES - NIST Cybersecurity Framework.pdfTI EXAMES - NIST Cybersecurity Framework.pdf
TI EXAMES - NIST Cybersecurity Framework.pdf
 
Knowtree - Extração de Dados com o KAPE.
Knowtree - Extração de Dados com o KAPE.Knowtree - Extração de Dados com o KAPE.
Knowtree - Extração de Dados com o KAPE.
 
PRODUCT OPS - COMO APROVEITAR O MÁXIMO DESTA NOVA TENDÊNCIA - Priscila Chagas...
PRODUCT OPS - COMO APROVEITAR O MÁXIMO DESTA NOVA TENDÊNCIA - Priscila Chagas...PRODUCT OPS - COMO APROVEITAR O MÁXIMO DESTA NOVA TENDÊNCIA - Priscila Chagas...
PRODUCT OPS - COMO APROVEITAR O MÁXIMO DESTA NOVA TENDÊNCIA - Priscila Chagas...
 

Fundamentos do .NET Framework - Parte 1

  • 2. 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 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
  • 3. 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. Fonte: Wikipedia. Disponivel em http://pt.wikipedia.org/wiki/Microsoft_.NET .Acesso em:03/09/2008
  • 4. 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. Fonte: Microsoft. Disponivel em http://www.microsoft.com/net/Overview.aspx. Acesso em:06/10/2008
  • 5. 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).  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).  Fonte: Microsoft http://msdn.microsoft.com/en-us/library/zw4w595w.aspx Acessado em 08/10/2008
  • 6. 6
  • 7. 7
  • 8. 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. 8
  • 9. 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 II) Arquitetura .Net • Vantagens •Desvantagens •User Interfaces •Arquitetura .Net •Coleta de lixo • Máquina virtual •Como funciona?
  • 10. 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”
  • 11. É 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.
  • 12. O .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”. 12
  • 13. 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
  • 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. 16
  • 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. 17
  • 18. 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.
  • 20. Código Fonte F# C++ C# Componente não gerenciado Compilador Compilador Compilador Gerenciado Assembly Assembly Assembly MSIL MSIL MSIL CLR Compilador JIT Código Nativo Serviços do Sistema Operacional
  • 21. 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 III) A linguagem C# • Por que C#? • A linguagem C# • ASP.NET • Componentes importantes
  • 22. 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.
  • 23. É 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++).
  • 24. 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).
  • 25. 25
  • 26. 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.
  • 27. 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 IV) Evolução das arquiteturas • Arquitetura Cliente/Servidor • Arquitetura N camadas ( MVC )
  • 28. 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+,).
  • 29. Interface web Tecnologia de acesso a dados SGBD SQL Server ou Oracle Interface desktop
  • 30. 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.
  • 31. Interface ASP.NET/ WebForms Regras de negócio Tecnologia compartilhadas com ADO.NET de Remoting acesso a dados SGBD Interface WinForms
  • 32. Front-end Servidor de Aplicação Banco de Dados .NET Framework .NET Framework Cliente do Banco de Dados
  • 33. Front-end Banco de Dados Servidores de Aplicação