Documente Academic
Documente Profesional
Documente Cultură
NET
Monique Monteiro
Agenda
Plataforma Microsoft .NET .NET X J2EE Common Language Infrastructure
Modelo de Compilao Common Type System CLI Principais Implementaes
CLR X JVM .NET Arquitetura ASP .NET Web Services C# X Java Referncias
.NET X J2EE
.NET:
Vrias linguagens em um nico ambiente
J2EE
Uma nica linguagem em vrios ambientes
J2EE
.NET
Web
ASP .NET
ADO .NET Suporte embutido e simplificado .NET Remoting
Banco de Dados JDBC Web Services Suporte por meio de APIs Distribuio
Introduo Plataforma Microsoft .NET
RMI, EJB
Modelo de Compilao
Manifesto
Linguagem X 2
(Interpretao)
Introduo Plataforma Microsoft .NET
Inteiros
Enumeraes (Enums)
String
Ponto Flutuante
Estruturas
Delegates
Object
Boxed Enums
Equivalentes Estruturais
Arrays
Estruturas
Exemplo de value type (alocadas na pilha) Exemplo (C#):
Enumeraes
Exemplo de value type (alocadas na pilha) Exemplo (C#):
Delegates
Verso OO e segura de ponteiros para funo Utilizados no modelo de eventos Exemplo:
public delegate int Function(int x, int ... Function function1 = new Function(Sum); Function function2 = new Function(<some int result1 = function1(10, 20); int result2 = function2(30, 40); ... static int Sum(int x, int y) { return x ... int Subtract(int a, int b) { return x y);
object>.Subtract);
+ y; } y; }
Mono
Plataformas: Linux, Solaris, Mac OS X, Windows, Unix
CLR X JVM
CLR Suporte a Generics Boxing/Unboxing Nativo Nativo JVM Sinttico Sinttico
Enumeraes
Sistema de Tipos
Nativo
Multi-paradigma
Sinttico
Especfico para Java
.NET Arquitetura
Web Services Web Forms
Windows Forms
ASP .NET
ADO .NET Dados e XML Biblioteca de Classes Bsicas Common Language Runtime
ASP .NET
Tecnologia para criao de aplicaes Web baseada no Framework .NET Reformulao total da tecnologia ASP Compatvel com qualquer linguagem .NET Gerenciamento automtico de sesses em Web Farms
ASP .NET
Web Forms
Pginas ASP .NET compiladas dinamicamente Correspondente ao Java Server Pages do J2EE Componentes semelhantes aos encontrados em ferramentas RAD para desktop Modelo declarativo Suporte automtico a validao Portveis entre diferentes navegadores (incluindo dispositivos mveis)
ASP .NET
Web Services
Servios disponibilizados via WWW com base em padres e especificaes estabelecidos (SOAP, WSDL, UDDI, etc.), de forma independente de linguagem de programao.
Web Services
WebMethods Framework
Fornecido por ASP .NET Extensvel Mapeia mensagens SOAP em chamadas/retorno de mtodos
POST /math/math.asmx HTTP/1.1 SOAPAction: "urn:math:subtract" <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <Subtract xmlns="http://example.org/math"> <x>33</x> <y>66</y> </Subtract> </soap:Body> </soap:Envelope>
C# X Java Similaridades
Sintaxes praticamente idnticas Todas as classes descendem de Object No h funes ou constantes globais
Tudo pertence a uma classe
Uso de excees Conceito de espao de nomes (namespaces X packages) Comentrio utilizado para documentao Classes e mtodos com nomes parecidos
Equals(), Finalize(), ToString(), etc.
Introduo Plataforma Microsoft .NET
C# X Java Diferenas
Sentena foreach para iterao por arrays e classes que implementam IEnumerable
Introduzido no J2SE 5.0
Campos/mtodos e propriedades private por padro Sobrecarga de operador (inclusive coero) Documentao em XML Uso de ponteiros (cdigo marcado como unsafe)
Propriedades Exemplo
public class Pessoa { string nome; public string Nome{ get { return nome; } set { nome = value; } } }
Referncias
.NET Framework Developer Cente
http://msdn.microsoft.com/netframework/
ASP .NET:
http://msdn.microsoft.com/ASP.NET/ http://www.asp.net/whidbey/
Web Services:
http://msdn.microsoft.com/webservices/
C# para Programadores de Java. Brian Bagnall, Philip Chen, Stephen Golsberg. Alta Books.
Introduo Plataforma Microsoft .NET