Introdução ao .NET
                                 Aula 1




Thomas Cristanis
Modelos Anteriores – Linguagem C

 Gerenciamento de Memória Manual. free(ponteiro);
 Pode acessar áreas de memórias proibidas;
 Linguagem Estruturada (Imperativas);
 Não tira proveito de recursos da OO, como a herança;
 Complexo desenvolvimento quando se utiliza de APIs
  puras;
 Complexidade ao se usar milhares de funções e tipos de
  dados Win32. #FAIL;

           Entretanto, a verdade seja dita !
Modelos Anteriores – Linguagem C++

 Melhorias em relação a linguagem C;
 Orientação a Objetos;
 Continua a gerenciamento de memória manual.
 Melhorias com a criação de frameworks, como: MFC.
 Uma maior facilidade na criação de interfaces de
  usuário;
 Ainda muito enraizada na linguagem C;
Modelos Anteriores – Linguagem Visual Basic 6

  Se popularizou pela sua capacidade de construir
     interface s complexas;
    Ferramentas para uma alta produtividade na construção
     de interface;
    Maior biblioteca de código;
    Não é uma linguagem totalmente OO;
    A linguagem é apenas compatível com Objetos;
    Não suporta parametrização e construtores;
    Não suporta aplicações Multithreads;
Modelos Anteriores – C | C++ | VB6



     Aplicações               S.O



       Monitor

      Impressora          Computador

       Teclado
Modelos Anteriores – Linguagem e Plataforma Java

   Surgimento de uma nova perspectiva, à INTERNET;
   O conceito de Virtual Machine;
   Linguagem Orientada a Objetos;
   Linguagem bastante robusta e que possui uma grande
    biblioteca de classes;
   Possibilidade de desenvolver grandes aplicações 100%
    Java;
   Tem um problema potencial, a falta de integração com
    outras linguagens;
   Interoperabilidade é um conceito chave hoje em varias
    áreas da computação;
Plataforma .NET – A idéia da Microsoft

 Apresentada em 2000, no PDC;
 Uma nova visão no desenvolvimento e comercialização;
 Plataforma tem a internet como alvo principal;
 Em seu surgimento: A idéia do software não ser mais um
  produto, mas um serviço;
 Plataforma única;
 Suporte a varias linguagens;
 Hoje engloba uma serie de tecnologia para o
  desenvolvimento de software;
Plataforma .NET – O que é um Framework ?

 Framework:
“Framework é um conjunto de classes que colaboram para
  realizar uma responsabilidade para um domínio de um
  subsistema da aplicação.” FAYAD e SCHMIDT

 .NET Framework:
“Visão da Microsoft de 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 que possua um framework de tal
  plataforma.”
Plataforma .NET – A idéia da Microsoft

 Plataforma única de desenvolvimento e execução:
    Desenvolvimento Web
    Desenvolvimento Desktop
    Desenvolvimento de Jogos
    Desenvolvimento Mobile

 Multiliguagem, suporta mais de 40 linguagens;
 Aberto e Padronizado pelo ECMA;

 Projetos Open Source
    Mono Project
    dotGNU
    Moonlight
Plataforma .NET - .Web Services

                               Web Service
                             Cotação de Moeda

 Aplicação Asp.NET
    e-commerce


                      INTERNET



                                Web Service
                            Validação de Cartão
.NET Framework - CLR

  Localizar;
  Carregar;
  Gerenciar;


  Gerenciamento de Tipos do .NET, de memória, de
  threads, verificações de segurança.
.NET Framework - CTS


   Possui as especificações de tipos de dados e de
    estruturas de programação;
   Definição e Operações;
   Verificar esse suporte em tempo de execução;
   Programas escritos em diferentes linguagens de
    programação compartilham facilmente informações;

   Todas as linguagens (.NET) devem ter a mesma
   especificações de linguagem, mas podem ter
   especificações de tipo diferenciadas.
.NET Framework - CTS
.NET Framework - CTS

      Tipos por Valor   Tipos por Referencia

           Inteiros             Vetores

         Decimais             Textox

        Booleanos             Objetos

        Estruturas            Classes

       Enumeradores
.NET Framework - CLS


   Especificações relacionadas aos subtipos comuns;
   Todas as linguagens suportadas pelo .NET;
   Com isso podemos concluir que um tipo do .NET tem
   que ir de acordo com as especificações do CLS, com isso
   todas a linguagens suportadas poderão interoperar.
.NET Framework – Class Libary


   Fornece suporte aos tarefas necessárias nas aplicações
    de hoje;

  Exemplo:
   Classes para acesso a base de dados;
   Classes para manipulação de arquivo XML;
   Classes para segurança da aplicação;
   Classes para uso de criptografia;
   Classes para persistência de dados em um banco;
   Classes para desenvolvimento, Web, Desktop, Mobile;
Plataforma .NET - .NET Framework
              As Bibliotecas de Classe Básicas

     Acesso à Base   GUI API´s                    API´s
                                 Segurança
       de Dados       Desktop                    Remotas


                      I/O de
      Threading                  API´s Web   Management
                     Arquivos



   CLR – Common Language Runtime

    CTS - Common Type System
     CLS – Common Language Specification
Plataforma .NET - .O que é o NET Framework ?

 Visual Basic®   C++   C# IronPhyton …

     Common language specification




                                            Visual Studio® .NET
   ASP.NET: Web services          Windows
       e Web Forms                 Forms

         ADO.NET: Dados e XML

             Base class library


        Common language runtime
.NET Framework - Compilação

 Código Fonte       F#        Visual Basic         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
.NET Framework – Linguagens do .NET

    A#
    Asp.NET
    Visual Basic.NET
    Boo
    C#
    C++
    Cobol (NetCobol)
    F#
    Fontran
    Haskell
    IronPhyton
    J# (Java)
    Lua
    Delphi (Delphi Prism)
    Perl
    Iron Ruby
    Smalltalk
    Scala

              www.dotnetlanguages.net
Certo, mas o que dá pra fazer ?
•   Windows Forms
•   Aplicativos de Console
•   DLLs
•   Controles
•   Websites ASP.NET
•   Webservices
•   Instalação
•   Office 2003 e 2007
•   Dispositivos Móveis
•   Jogos: PC, Zune, XBOX 360 (XNA)
•   Web Rica
•   Cloud Computer
•   ...
Versões .NET Framework


                     LANÇAMENTO DO                                  LANÇAMENTO DO                             LANÇAMENTO DO




                                               .Net Framework 1.1
.Net Framework 1.0




                                                                                         .Net Framework 2.0
                     FRAMEWORK 1.0                                  FRAMEWORK 1.1                             FRAMEWORK 2.0


                     VISUAL STUDIO 2002                             VISUAL STUDIO 2003                        VISUAL STUDIO 2005


                     GRANDE REVOLUÇÃO NO                                                                      CONSIDERÁVEIS
                     DESENVOLVIMENTO.                                                                         MELHORAS NO ACESSO A
                     AINDA NÃO CONTAVA COM                                                                    DADOS.
                     UMA VASTA BIBLIOTECA DE
                     CLASSES                                                                                  ASP.NET


                                                                                                              NOVOS DESIGN PATTERNS
                                                                                                              PARA DESENVOLVIMENTO
                                                                                                              WEB
                                                                                                              SHARPDEVELOP
Versões .NET Framework


                     LANÇAMENTO DO FRAMEWORK                        VISUAL STUDIO 2008                        LANÇAMENTO DO FRAMEWORK




                                               .Net Framework 3.5




                                                                                         .Net Framework 4.0
.Net Framework 3.0




                     3.0                                                                                      4.0
                                                                    FRAMEWORK .NET 3.5
                     NOVOS RECURSOS PARA                                                                      VISUAL STUDIO 2010
                     INTERFACE WINDOWS (WPF)
                                                                    LINQ
                                                                                                              ASP.NET 4.0
                     NOVO SISTEMA DE
                     COMUNICAÇÃO (WCF)                              ASP.NET MVC


                     NOVO FRAMEWORK PARA                            ENTITY FRAMEWORK
                     WORKFLOWS (WF)
                                                                    DYNAMIC DATA
                     CARDSPACE


                     VISUAL STUDIO EXPRESS


                     SQL SERVER EXPRESS
.NET Framework 3.0
 WPF
 WCF
 WF
 CardSpace
.NET Framework 3.5
 LINQ
Tecnologias Microsoft
 Windows Forms
 Asp.NET
 Silverlight
 Web Services
 VSTO
 XNA
 Windows Azure
 Windows Mobile
 Windows Phone 7
Plataforma .NET - .Ferramentas

 Ferramentas SDK;
 SharpDevelop (OpenSource)
 MonoDevelop (OpenSource)
 Delphi Prism (CodeGear)
 C# Builder (CodeGear)
 Visual Studio Express;
 Visual Studio;
Microsoft Expression Studio
Microsoft Visual Studio
                              Aula 1




Thomas Cristanis
Plataforma .NET – Porque conhecer o VS ?

  Revista INFO (Maio de 2007)
   “Em matéria de desenvolvimento ninguém bate o Visual
   Studio dentro das empresas. A Microsoft teve mais do
   que o dobro da votação da segunda colocada, a IBM”

  Revista INFO (Março de 2008)
   “A Microsoft, com seu Visual Studio, brilhou entre as
   ferramentas de desenvolvimento. Seus 610 pontos
   bateram a soma alcançada pelo trio IBM,
   Borland/CodeGear e Sun”
Porque conhecer o .NET e o C# – Mercado Local


• Simplestec – João Pessoa
• Vsoft – João Pessoa
• InfoMed – João Pessoa
• Neocart – João Pessoa
• UniMix – João Pessoa
• PublicSoft – João Pessoa
• Light Infocon – Campina Grande
Editor de Código
Gerenciador   Gerenciador      Caixa
    de             de            de       Propriedades
 Soluções      Servidores   Ferramentas
Barras




Lista de Erros




   Saídas
Pratica com o Visual Studio
 Agenda de Contatos;
 Conceitos básicos de programação;
 Conexão com uma base de dados SQL Server;
 Explorar os recursos do Visual Studio 2008;
 Alta Produtividade;
Contato




 Emails
    thomascristanis@hotmail.com
    thomascristanis@gmail.com


twitter.com/thomascristanis

 Blog

Aula 1

  • 1.
    Introdução ao .NET Aula 1 Thomas Cristanis
  • 3.
    Modelos Anteriores –Linguagem C  Gerenciamento de Memória Manual. free(ponteiro);  Pode acessar áreas de memórias proibidas;  Linguagem Estruturada (Imperativas);  Não tira proveito de recursos da OO, como a herança;  Complexo desenvolvimento quando se utiliza de APIs puras;  Complexidade ao se usar milhares de funções e tipos de dados Win32. #FAIL; Entretanto, a verdade seja dita !
  • 4.
    Modelos Anteriores –Linguagem C++  Melhorias em relação a linguagem C;  Orientação a Objetos;  Continua a gerenciamento de memória manual.  Melhorias com a criação de frameworks, como: MFC.  Uma maior facilidade na criação de interfaces de usuário;  Ainda muito enraizada na linguagem C;
  • 5.
    Modelos Anteriores –Linguagem Visual Basic 6  Se popularizou pela sua capacidade de construir interface s complexas;  Ferramentas para uma alta produtividade na construção de interface;  Maior biblioteca de código;  Não é uma linguagem totalmente OO;  A linguagem é apenas compatível com Objetos;  Não suporta parametrização e construtores;  Não suporta aplicações Multithreads;
  • 6.
    Modelos Anteriores –C | C++ | VB6 Aplicações S.O Monitor Impressora Computador Teclado
  • 7.
    Modelos Anteriores –Linguagem e Plataforma Java  Surgimento de uma nova perspectiva, à INTERNET;  O conceito de Virtual Machine;  Linguagem Orientada a Objetos;  Linguagem bastante robusta e que possui uma grande biblioteca de classes;  Possibilidade de desenvolver grandes aplicações 100% Java;  Tem um problema potencial, a falta de integração com outras linguagens;  Interoperabilidade é um conceito chave hoje em varias áreas da computação;
  • 9.
    Plataforma .NET –A idéia da Microsoft  Apresentada em 2000, no PDC;  Uma nova visão no desenvolvimento e comercialização;  Plataforma tem a internet como alvo principal;  Em seu surgimento: A idéia do software não ser mais um produto, mas um serviço;  Plataforma única;  Suporte a varias linguagens;  Hoje engloba uma serie de tecnologia para o desenvolvimento de software;
  • 10.
    Plataforma .NET –O que é um Framework ?  Framework: “Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.” FAYAD e SCHMIDT  .NET Framework: “Visão da Microsoft de 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 que possua um framework de tal plataforma.”
  • 11.
    Plataforma .NET –A idéia da Microsoft  Plataforma única de desenvolvimento e execução:  Desenvolvimento Web  Desenvolvimento Desktop  Desenvolvimento de Jogos  Desenvolvimento Mobile  Multiliguagem, suporta mais de 40 linguagens;  Aberto e Padronizado pelo ECMA;  Projetos Open Source  Mono Project  dotGNU  Moonlight
  • 12.
    Plataforma .NET -.Web Services Web Service Cotação de Moeda Aplicação Asp.NET e-commerce INTERNET Web Service Validação de Cartão
  • 14.
    .NET Framework -CLR  Localizar;  Carregar;  Gerenciar;  Gerenciamento de Tipos do .NET, de memória, de threads, verificações de segurança.
  • 15.
    .NET Framework -CTS  Possui as especificações de tipos de dados e de estruturas de programação;  Definição e Operações;  Verificar esse suporte em tempo de execução;  Programas escritos em diferentes linguagens de programação compartilham facilmente informações;  Todas as linguagens (.NET) devem ter a mesma especificações de linguagem, mas podem ter especificações de tipo diferenciadas.
  • 16.
  • 17.
    .NET Framework -CTS Tipos por Valor Tipos por Referencia Inteiros Vetores Decimais Textox Booleanos Objetos Estruturas Classes Enumeradores
  • 18.
    .NET Framework -CLS  Especificações relacionadas aos subtipos comuns;  Todas as linguagens suportadas pelo .NET;  Com isso podemos concluir que um tipo do .NET tem que ir de acordo com as especificações do CLS, com isso todas a linguagens suportadas poderão interoperar.
  • 19.
    .NET Framework –Class Libary  Fornece suporte aos tarefas necessárias nas aplicações de hoje; Exemplo:  Classes para acesso a base de dados;  Classes para manipulação de arquivo XML;  Classes para segurança da aplicação;  Classes para uso de criptografia;  Classes para persistência de dados em um banco;  Classes para desenvolvimento, Web, Desktop, Mobile;
  • 20.
    Plataforma .NET -.NET Framework As Bibliotecas de Classe Básicas Acesso à Base GUI API´s API´s Segurança de Dados Desktop Remotas I/O de Threading API´s Web Management Arquivos CLR – Common Language Runtime CTS - Common Type System CLS – Common Language Specification
  • 21.
    Plataforma .NET -.O que é o NET Framework ? Visual Basic® C++ C# IronPhyton … Common language specification Visual Studio® .NET ASP.NET: Web services Windows e Web Forms Forms ADO.NET: Dados e XML Base class library Common language runtime
  • 22.
    .NET Framework -Compilação Código Fonte F# Visual Basic 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
  • 23.
    .NET Framework –Linguagens do .NET  A#  Asp.NET  Visual Basic.NET  Boo  C#  C++  Cobol (NetCobol)  F#  Fontran  Haskell  IronPhyton  J# (Java)  Lua  Delphi (Delphi Prism)  Perl  Iron Ruby  Smalltalk  Scala www.dotnetlanguages.net
  • 24.
    Certo, mas oque dá pra fazer ? • Windows Forms • Aplicativos de Console • DLLs • Controles • Websites ASP.NET • Webservices • Instalação • Office 2003 e 2007 • Dispositivos Móveis • Jogos: PC, Zune, XBOX 360 (XNA) • Web Rica • Cloud Computer • ...
  • 25.
    Versões .NET Framework LANÇAMENTO DO LANÇAMENTO DO LANÇAMENTO DO .Net Framework 1.1 .Net Framework 1.0 .Net Framework 2.0 FRAMEWORK 1.0 FRAMEWORK 1.1 FRAMEWORK 2.0 VISUAL STUDIO 2002 VISUAL STUDIO 2003 VISUAL STUDIO 2005 GRANDE REVOLUÇÃO NO CONSIDERÁVEIS DESENVOLVIMENTO. MELHORAS NO ACESSO A AINDA NÃO CONTAVA COM DADOS. UMA VASTA BIBLIOTECA DE CLASSES ASP.NET NOVOS DESIGN PATTERNS PARA DESENVOLVIMENTO WEB SHARPDEVELOP
  • 26.
    Versões .NET Framework LANÇAMENTO DO FRAMEWORK VISUAL STUDIO 2008 LANÇAMENTO DO FRAMEWORK .Net Framework 3.5 .Net Framework 4.0 .Net Framework 3.0 3.0 4.0 FRAMEWORK .NET 3.5 NOVOS RECURSOS PARA VISUAL STUDIO 2010 INTERFACE WINDOWS (WPF) LINQ ASP.NET 4.0 NOVO SISTEMA DE COMUNICAÇÃO (WCF) ASP.NET MVC NOVO FRAMEWORK PARA ENTITY FRAMEWORK WORKFLOWS (WF) DYNAMIC DATA CARDSPACE VISUAL STUDIO EXPRESS SQL SERVER EXPRESS
  • 28.
    .NET Framework 3.0 WPF  WCF  WF  CardSpace
  • 30.
  • 32.
    Tecnologias Microsoft  WindowsForms  Asp.NET  Silverlight  Web Services  VSTO  XNA  Windows Azure  Windows Mobile  Windows Phone 7
  • 33.
    Plataforma .NET -.Ferramentas  Ferramentas SDK;  SharpDevelop (OpenSource)  MonoDevelop (OpenSource)  Delphi Prism (CodeGear)  C# Builder (CodeGear)  Visual Studio Express;  Visual Studio;
  • 34.
  • 35.
    Microsoft Visual Studio Aula 1 Thomas Cristanis
  • 36.
    Plataforma .NET –Porque conhecer o VS ?  Revista INFO (Maio de 2007) “Em matéria de desenvolvimento ninguém bate o Visual Studio dentro das empresas. A Microsoft teve mais do que o dobro da votação da segunda colocada, a IBM”  Revista INFO (Março de 2008) “A Microsoft, com seu Visual Studio, brilhou entre as ferramentas de desenvolvimento. Seus 610 pontos bateram a soma alcançada pelo trio IBM, Borland/CodeGear e Sun”
  • 37.
    Porque conhecer o.NET e o C# – Mercado Local • Simplestec – João Pessoa • Vsoft – João Pessoa • InfoMed – João Pessoa • Neocart – João Pessoa • UniMix – João Pessoa • PublicSoft – João Pessoa • Light Infocon – Campina Grande
  • 38.
  • 39.
    Gerenciador Gerenciador Caixa de de de Propriedades Soluções Servidores Ferramentas
  • 40.
  • 41.
    Pratica com oVisual Studio  Agenda de Contatos;  Conceitos básicos de programação;  Conexão com uma base de dados SQL Server;  Explorar os recursos do Visual Studio 2008;  Alta Produtividade;
  • 42.
    Contato  Emails thomascristanis@hotmail.com thomascristanis@gmail.com  twitter.com/thomascristanis  Blog