Microsoft .NET
Download
Report
Transcript Microsoft .NET
Microsoft .NET
Flávia Andrade de Souza
Rodrigo Mibielli Peixoto
O que é a plataforma .NET?
Plataforma de software que conecta informações, sistemas,
pessoas e dispositivos.
Possibilita a conexão de dados e transações entre sistemas
e aplicativos de forma independente de sistema
operacional, tipo de computador ou de dispositivo móvel
em que sejam utilizados, ou da linguagem de programação
utilizada na sua criação.
Desenvolvida sobre os padrões de Web Services XML.
Breve Histórico
Oficialmente apresentada ao mercado em 22 de
junho de 2001.
Principal objetivo: viabilizar o que a Microsoft
chama de "nova geração da Internet“ – união de
Informática e Telecomunicações, abordando o uso
da Web através de diversos dispositivos.
Premissas básicas:
software como serviço
variedade de dispositivos
nova experiência do usuário
XML como linguagem para troca de dados
Windows & Plataforma .NET
Opera um dispositivo inteligente
Windows XP é capaz de utilizar Web Services XML
Windows Messenger
Assistente para publicação na Web
Autenticação do Passport
Elementos básicos .NET
Elementos Básicos .NET
Dispositivos Inteligentes
São dispositivos capazes de:
Reconhecer o usuário
Reconhecer a rede
Distinguir as informações
Interagir com outros dispositivos
Identificar software e serviços
Exemplos:
PCs, laptops, workstations, telefones inteligentes, Tablet PCs, etc
Elementos Básicos .NET
Web Services XML
Componentes de software baseados em padrões
abertos – XML, SOAP, entre outros
Permitem que aplicações conectadas em rede
compartilhem dados, mesmo rodando em
plataformas diferentes
Elementos Básicos .NET
Web Services XML (cont.)
Cada web service executa um conjunto limitado
de tarefas
Exemplos:
Cliente-cliente
Cliente-servidor
Servidor-servidor
Serviço-serviço
Elementos Básicos .NET
Servidores
São a base da infra-estrutura para operar os Web
Services XML
Microsoft Windows Server System
Forte integração com o padrão XML
Acelera a integração de aplicações que usam web services
Exemplos:
MS Application Center 2000
MS BizTalk Server 2002
MS SQL Server 2000
Elementos Básicos .NET
Ferramentas de Desenvolvimento
Visual Studio .NET
versão atual (dezembro/2003): Visual Studio .NET 2003
conjunto de ferramentas independente da linguagem
do desenvolvedor
cria automaticamente a interface XML e SOAP necessária para
transformar a aplicação em um web service
Linguagens suportadas – Visual Basic, C#, C++, J++, JScript,
VBScript, Python, SmallTalk, Eiffel, etc
Elementos Básicos .NET
Ferramentas de Desenvolvimento (cont.)
.NET Framework
versão atual (dezembro/2003): .NET Framework 1.1
conjunto de interfaces de programação que constitui o núcleo da
plataforma .NET
componente do Windows que serve tanto como modelo de
programação quanto como ambiente de execução para os Web
Services XML, aplicações da Web e aplicativos cliente-servidor
inteligentes, dentro do padrão .NET
Componentes básicos:
CLR – Commom Language Runtime
Biblioteca de Classes
Elementos Básicos .NET
Ferramentas Desenvolvimento .NET Open-Source
Projeto Sharp Develop http://www.icsharpcode.net/opensource/sd/
Projeto Mono: C# para Linux! –
http://www.go-mono.com/
Produto .NET
Plataforma .NET
Visual Studio .NET
.NET Framework
Infraestrutura .NET Server
Building Blocks Services
serviços que constituem um conjunto integrado de XML Web
Services pelo qual o usuário torna-se o centro e podendo
controlar os dados.
Exemplo: Passport (para identificação do usuário)
Produto .NET
Plataforma .NET (cont.)
NET Device Software
constituído do Windows XP, Windows Me, Windows CE, Windows
Embedded, .NET Framework e da .NET Compact Framework
possibilita que toda uma nova geração de dispositivos inteligentes para
Internet, laptops e workstations operem no universo .NET
Iniciativas .NET
Meios para que os usuários finais interajam com os web services
XML
Podem ser criadas com o Visual Studio .NET
Exemplos - Microsoft Office, MSN, etc
Multilinguagem
A plataforma .NET suporta diversas linguagens de
programação e permite que elas se integrem
CLS – Commom Language Specification
Especificação comum para as linguagens
Contém as funcionalidades básicas necessárias às linguagens
Exemplos de funcionalidades da CLS:
Tipos primitivos – inteiro, double, boolean, etc
Eventos
Herança
Multilinguagem
Linguagem intermediária
o uso de código intermediário possibilita tanto a
multiplataforma quanto o desenvolvimento
multilingüagem
processo de compilação de código na plataforma .NET é
composto de duas etapas:
Compilação do código fonte utilizando compilador da linguagem
gera código em MSIL (MS Intermediate Language)
.NET Framework chama o JIT (Just-In-Time) Compiler através
da CLR para compilar o código em MSIL para código nativo do
computador
Multilinguagem
Compilação Código C#
Benefícios da plataforma .NET
Facilidade e Adaptabilidade
Escalabilidade e Confiabilidade
Suporte a várias linguagens de programação
Distribuição e Instalação
Performance
Arquitetura de Desenho - C#
Linguagem: C#
Mesmo desenvolvedor do Delphi - Anders Hejlsberg
todas as classes são derivadas de um ancestral
comum chamado object
a herança é simples, mas permite a
implementação de múltiplas interfaces
Garbage collection - as variáveis alocadas
dinamicamente não precisam ser liberadas, elas
estão sujeitas à “coleta de lixo”
Tipagem forte
Arquitetura de Desenho – C#
Visibilidade dos membros de uma classe
public
protected
internal
protected internal
private
Exemplo:
public class Point
{
public int x, y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
}
Arquitetura de desenho – C#
Herança
Suporta somente herança simples
Apenas interfaces podem empregar herança múltipla
Uma classe pode implementar múltiplas interfaces
Arquitetura de Desenho – C#
Herança (cont.)
Exemplo:
interface IControl
{
void Paint( );
}
interface IDataBound
{
void Bind(Binder b);
}
public class EditBox: IControl, IDataBound
{
public void Paint( ) {...}
public void Bind(Binder b) {...}
}
Arquitetura de Desenho – C#
Polimorfismo
Overloading
Exemplo:
class Test
{
static void F(int x) {
Console.WriteLine("F(int)");
}
static void F(double x, double y) {
Console.WriteLine("F(double, double)");
}
static void Main() {
F(1);
// Invokes F(int)
F(1, 1);
// Invokes F(double, double)
}
}
Arquitetura de Desenho – C#
Polimorfismo (cont.)
Overriding
Exemplo:
public abstract class Expression
{
public abstract double Evaluate(Hashtable vars);
}
public class Constant: Expression
{
double value;
public Constant(double value) {
this.value = value;
}
public override double Evaluate(Hashtable vars) {
return value;
}
}
Arquitetura de Desenho – C#
Exceções
Try-catch
Try-finally
Try-catch-finally
Eiffel.NET
É uma implementação completa da linguagem
Eiffel rodando sobre o .NET Framework
Projetos em Eiffel.NET podem ser criados tanto a
partir do Visual Studio .NET como do Eiffel Studio
a combinação da linguagem Eiffel com a
plataforma .NET permite resolver questões como
herança múltipla.
Comparação C# x Eiffel
Característica
C#
Eiffel
Herança simples
Sim
Sim
Herança múltipla
Não
Sim
Polimorfismo
Sim
Sim
Desenho por contrato
Não
Sim
Tratamento de exceções
Sim
Sim
Invariantes/Pré-condições/ Póscondições
Não
Sim
Garbage Collection
Sim
Sim