Microsoft.NET Flávia Andrade de Souza Rodrigo Mibielli Peixoto.

28
Microsoft .NET Flávia Andrade de Souza Rodrigo Mibielli Peixoto

Transcript of Microsoft.NET Flávia Andrade de Souza Rodrigo Mibielli Peixoto.

Microsoft .NET

Flávia Andrade de SouzaRodrigo 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ós-condições

Não Sim

Garbage Collection Sim Sim