Pedro Alves Junior Diretor de Desenvolvimento Vsoft Tecnologia .NUG - .NET User Group www.dotnug.com
Introdução ao .NET Framework Frameworks Open Source Versões existentes Ferramentas Sistemas para Internet com .NET Porque conhecer .NET
Por que foi inventado e o que é? Necessidade do mercado Plataforma única de desenvolvimento e execução Aplicações WEB (Sites e Webservices) Aplicações desktop Desenvolvimento de jogos Desenvolvimento para dispositivos móveis 100% orientado a objetos Ambiente multilinguagem
Ambiente multiliguagem Suporte a mais de 40 linguagens VB.NET, C#, C++, Java, Delphi, Cobol, Fortran, Haskel,  Lua, Boo, Perl, PHP, Python, Ruby, Prolog … Common Language Infrastructure Common Type System (CTS) Common Language Specification (CLS) Just-In-Time Compiler (JIT) Virtual Execution System (VES) Aberto e padronizado (ECMA)  http://www.ecma-international.org/publications/standards/Ecma-334.htm  http://www.ecma-international.org/publications/standards/Ecma-335.htm
O que contém? Compiladores para C#, VB.NET e C++ CLR - Common Language Runtime para execução de aplicações, gerenciamento de memória, etc Base Class Library com diversas classes prontas ASP.NET para aplicações Web/Webservices WCF para aplicações distribuídas Windows Forms e WPF para aplicações Desktop ADO.NET e Entity Framework para acesso a base de dados Vários utilitários
DotGNU Fundado por Richard M. Stallman (presidente da Free Software Foundation - FSF) Iniciativa para desenvolver uma versão baseada em GNU/Linux como Software Livre, da plataforma .NET Inclui: Implementação do CLI e Compilador C# Funciona com: Windows, NetBSD, FreeBSD, Solaris, MAC OS e Linux Licença GPL http://www.dotgnu.org
Mono Esforço da comunidade patrocinado pela Novell para implementação de um framework de desenvolvimento .NET Inclui: Compiladores C# e VB.NET CLI CLR compatível com .NET e classes extras ADO.NET, ASP.NET e Windows Forms Roda .NET, Java, Python, Boo, Ruby e mais… Open Source e Free Software Comercialmente suportado Atualmente em uso comercial http://www.mono-project.com
Microsoft Intermediate Language  e CLR
Gerenciado Serviços do Sistema Operacional Código Nativo CLR Compilador JIT Assembly MSIL Assembly MSIL Assembly MSIL F# C++ C# Código Fonte Compilador Compilador Compilador
DEMO
Microsoft Windows / Web / Web Services / SQL / Office .NET 1.0 (NEW); 1.1 ; 2.0 (NEW) ; 3.0 (WPF,WF;WCF); 3.5 (LINQ) e 3.5 SP1 (Entity Framework) Windows Mobile  (Pocket PC / Smartphone) .NET Compact Framework 1.0 ; 1.1 ; 2.0 ; 3.0  e 3.5 Micro .NET Framework (embedded applications on small devices) .NET para micro processadores Silverlight  Aplicações com interface rica para Web
Open Source Desktop / Web / Web Services / Multiplataforma Mono Project dotGNU Moonlight (Silverlight para Linux) Mono Project
Base Class Library Common Language Specification Common Language Runtime ADO.NET: Data and XML Visual Studio ASP.NET: Web Services and Web Forms Windows Forms Visual Basic ® C++ C# JScript ® …
Tipos de aplicativos suportados Websites em geral baseados em XHTML Websites para dispositivos móveis Websites ricos Integração com Silverlight e Flash WPF – Windows Presentation Foundation Webservices
ASP.NET Separação de código Client Side e Server Side Separação de trabalho da equipe Suporte aos padrões Web (XHTML, CSS, JavaScript, etc) Código Server Side é compilado Suporte a AJAX Suporte a controles visuais (server controls)
Server Controls <div id=&quot;MyDiv&quot; runat=&quot;server&quot;/> <asp:TextBox id=&quot;txtUserName&quot; runat=&quot;Server&quot;/> <asp:button type=&quot;submit&quot; OnClick=&quot;SubmitBtn_Click&quot; runat=&quot;server&quot;/>  ID – identificação única do controle no código Runat – ativa processamento server-side OnClick – identifica eventos server-side
Server Controls <script language=&quot;C#&quot; runat=server> void SubmitBtn_Click(Object sender, EventArgs e) { Response.Write (“Olá ” + txtUserName.Text); } </script> PostBack Objeto server-side automaticamente é populado para o lado client-side
Produtividade do desenvolvedor IntelliSense de código Server Side e Client Side Inclui suporte a JavaScript, CSS e HTML em Client Side Depuração de código Server Side e Client Side incluindo  JavaScript Visualização imediata de mudanças em design Centenas de controles prontos Centenas de classes prontas para uso
 
Outras ferramentas e linguagens Phalanger: PHP para .NET Permite migração de aplicações PHP para ASP.NET por etapas www.codeplex.com/Phalanger IronRuby: Ruby para .NET Permite o uso do .NET Framework com o Ruby www.ironruby.net IronPython: Python para .NET Permite o uso do .NET Framework com o Python www.codeplex.com/IronPython
Desenvolvimento  rápido para o .NET Framework
Framework .NET SDK Visual Studio Visual Studio Express SharpDevelop (Open Source) MonoDevelop (Open Source) Delphi (CodeGear) C# Builder (CodeGear)
Visual Basic 2008 Visual C# 2008 Visual C++ 2008 Visual J# 2008 SQL Server 2008 Visual Web Developer XNA Game Studio
Porque conhecê-lo Revista INFO (Maio/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/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.”
http://www.dotnug.com http://www.msdn.com.br http://www.microsoft.com/netframework http://www.asp.net http://windowsclient.net http://msdn.microsoft.com/vstudio/express http://www.microsoft.com/brasil/certifique
.NUG - .NET User Group www.dotnug.com MSN: pedro.alvesjr@hotmail.com E-mail: pedro@dotnug.com

Conhecendo a Plataforma .NET

  • 1.
    Pedro Alves JuniorDiretor de Desenvolvimento Vsoft Tecnologia .NUG - .NET User Group www.dotnug.com
  • 2.
    Introdução ao .NETFramework Frameworks Open Source Versões existentes Ferramentas Sistemas para Internet com .NET Porque conhecer .NET
  • 3.
    Por que foiinventado e o que é? Necessidade do mercado Plataforma única de desenvolvimento e execução Aplicações WEB (Sites e Webservices) Aplicações desktop Desenvolvimento de jogos Desenvolvimento para dispositivos móveis 100% orientado a objetos Ambiente multilinguagem
  • 4.
    Ambiente multiliguagem Suportea mais de 40 linguagens VB.NET, C#, C++, Java, Delphi, Cobol, Fortran, Haskel, Lua, Boo, Perl, PHP, Python, Ruby, Prolog … Common Language Infrastructure Common Type System (CTS) Common Language Specification (CLS) Just-In-Time Compiler (JIT) Virtual Execution System (VES) Aberto e padronizado (ECMA) http://www.ecma-international.org/publications/standards/Ecma-334.htm http://www.ecma-international.org/publications/standards/Ecma-335.htm
  • 5.
    O que contém?Compiladores para C#, VB.NET e C++ CLR - Common Language Runtime para execução de aplicações, gerenciamento de memória, etc Base Class Library com diversas classes prontas ASP.NET para aplicações Web/Webservices WCF para aplicações distribuídas Windows Forms e WPF para aplicações Desktop ADO.NET e Entity Framework para acesso a base de dados Vários utilitários
  • 6.
    DotGNU Fundado porRichard M. Stallman (presidente da Free Software Foundation - FSF) Iniciativa para desenvolver uma versão baseada em GNU/Linux como Software Livre, da plataforma .NET Inclui: Implementação do CLI e Compilador C# Funciona com: Windows, NetBSD, FreeBSD, Solaris, MAC OS e Linux Licença GPL http://www.dotgnu.org
  • 7.
    Mono Esforço dacomunidade patrocinado pela Novell para implementação de um framework de desenvolvimento .NET Inclui: Compiladores C# e VB.NET CLI CLR compatível com .NET e classes extras ADO.NET, ASP.NET e Windows Forms Roda .NET, Java, Python, Boo, Ruby e mais… Open Source e Free Software Comercialmente suportado Atualmente em uso comercial http://www.mono-project.com
  • 8.
  • 9.
    Gerenciado Serviços doSistema Operacional Código Nativo CLR Compilador JIT Assembly MSIL Assembly MSIL Assembly MSIL F# C++ C# Código Fonte Compilador Compilador Compilador
  • 10.
  • 11.
    Microsoft Windows /Web / Web Services / SQL / Office .NET 1.0 (NEW); 1.1 ; 2.0 (NEW) ; 3.0 (WPF,WF;WCF); 3.5 (LINQ) e 3.5 SP1 (Entity Framework) Windows Mobile (Pocket PC / Smartphone) .NET Compact Framework 1.0 ; 1.1 ; 2.0 ; 3.0 e 3.5 Micro .NET Framework (embedded applications on small devices) .NET para micro processadores Silverlight Aplicações com interface rica para Web
  • 12.
    Open Source Desktop/ Web / Web Services / Multiplataforma Mono Project dotGNU Moonlight (Silverlight para Linux) Mono Project
  • 13.
    Base Class LibraryCommon Language Specification Common Language Runtime ADO.NET: Data and XML Visual Studio ASP.NET: Web Services and Web Forms Windows Forms Visual Basic ® C++ C# JScript ® …
  • 14.
    Tipos de aplicativossuportados Websites em geral baseados em XHTML Websites para dispositivos móveis Websites ricos Integração com Silverlight e Flash WPF – Windows Presentation Foundation Webservices
  • 15.
    ASP.NET Separação decódigo Client Side e Server Side Separação de trabalho da equipe Suporte aos padrões Web (XHTML, CSS, JavaScript, etc) Código Server Side é compilado Suporte a AJAX Suporte a controles visuais (server controls)
  • 16.
    Server Controls <divid=&quot;MyDiv&quot; runat=&quot;server&quot;/> <asp:TextBox id=&quot;txtUserName&quot; runat=&quot;Server&quot;/> <asp:button type=&quot;submit&quot; OnClick=&quot;SubmitBtn_Click&quot; runat=&quot;server&quot;/> ID – identificação única do controle no código Runat – ativa processamento server-side OnClick – identifica eventos server-side
  • 17.
    Server Controls <scriptlanguage=&quot;C#&quot; runat=server> void SubmitBtn_Click(Object sender, EventArgs e) { Response.Write (“Olá ” + txtUserName.Text); } </script> PostBack Objeto server-side automaticamente é populado para o lado client-side
  • 18.
    Produtividade do desenvolvedorIntelliSense de código Server Side e Client Side Inclui suporte a JavaScript, CSS e HTML em Client Side Depuração de código Server Side e Client Side incluindo JavaScript Visualização imediata de mudanças em design Centenas de controles prontos Centenas de classes prontas para uso
  • 19.
  • 20.
    Outras ferramentas elinguagens Phalanger: PHP para .NET Permite migração de aplicações PHP para ASP.NET por etapas www.codeplex.com/Phalanger IronRuby: Ruby para .NET Permite o uso do .NET Framework com o Ruby www.ironruby.net IronPython: Python para .NET Permite o uso do .NET Framework com o Python www.codeplex.com/IronPython
  • 21.
    Desenvolvimento rápidopara o .NET Framework
  • 22.
    Framework .NET SDKVisual Studio Visual Studio Express SharpDevelop (Open Source) MonoDevelop (Open Source) Delphi (CodeGear) C# Builder (CodeGear)
  • 23.
    Visual Basic 2008Visual C# 2008 Visual C++ 2008 Visual J# 2008 SQL Server 2008 Visual Web Developer XNA Game Studio
  • 24.
    Porque conhecê-lo RevistaINFO (Maio/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/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.”
  • 25.
    http://www.dotnug.com http://www.msdn.com.br http://www.microsoft.com/netframeworkhttp://www.asp.net http://windowsclient.net http://msdn.microsoft.com/vstudio/express http://www.microsoft.com/brasil/certifique
  • 26.
    .NUG - .NETUser Group www.dotnug.com MSN: pedro.alvesjr@hotmail.com E-mail: pedro@dotnug.com