Top Banner
.Net Framework
29

.Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos

Nov 30, 2018

Download

Documents

votruc
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos

.Net Framework

Page 2: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos

O que é .Net ?

• Proprietário da Microsoft

• Versão simplificada para Linux

• Versão compacta para dispositivos móveis

• Plataforma de desenvolvimento e execução

• Interface com usuário, conectividade do banco de dados, criptografia, aplicações web, algoritmos numéricos, acesso a rede

Page 3: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos

Principais características

• Interoperabilidade: – Comunicação com sistemas não desenvolvidos em .Net

• Plataforma de execução comum:– Permite ao desenvolvedor abstrair o dispositivo

onde o software será executado (Web, Mobile, Desktop)

• Multilinguagem:– .Net é uma plataforma e não uma linguagem

– É possivel desenvolver aplicativos .Net em qualquer

linguagem que implemente as especificações da Common

Type System (CTS), atualmente mais de 20 linguagens

oferecem esse suporte entre elas C#, Java, Phyton, Ruby)

– É possivel desenvolver um aplicativo utilizando mais de uma

linguagem de programação, desde que as mesmas tenham

suporte a plataforma .Net. A “comunicação” entre elas

é feita de forma transparente.

• Portabilidade– Um aplicativo .Net pode ser executado em qualquer

dispositivo que possua a plataforma .Net instalada.

– Atualmente somente o Windows possui uma versão completa do framework

– Existem as versões Micro e Compact para aplicativos embarcados ou para dispositivos móveis

– Mono é a alternativa open source ao .Net

– Outras alternativas são CrossNet e Portable.Net

Page 4: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos

• .Net Framework 1.0

– 13/02/2002

• .Net Framework 1.1

– 24/04/2003

– Nativo no Windows Server 2003

• .Net Framework 2.0

– 07/11/2005

• .Net Framework 3.0

– 06/11/2006

– Windows Vista

– Windows Server 2008

• .Net Framework 3.5

– 19/11/2007

– Windows 7

– Windows Server 2008 R2

• .Net Framework 4.0

– 12/04/2010

Page 5: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos

CLI – Common Language Infrastucture

• O “núcleo” da plataforma .Net

• Composta pela– Common Language Runtime (CLR)

– Common Intermediate Language (CIL)

• Plataforma de desenvolvimento e execução

• Responsável por:– Tratamento de exceções

– Coleta de lixo

– Controle de transações

– Permissões de execução

– Interoperabilidade entre as linguagens suportadas

– Alocação de memória

Page 6: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos

Tipos de valor primitivos

• Byte – 1 Byte. Armazena valores de bytes entre 0 e 255, sem sinal.

• Sbyte - 1 Byte. Armazena valores de bytes entre -128 e 127.

• Int16 (ou apenas short) – 2 Bytes. Armazena valores inteiros entre – 32768 e 32767.

• Int32 (ou apenas int) -4 Bytes. Armazena valores inteiros entre – 2147483648 e 2147483647.

• Uint32 (uint em C#) - 4 Bytes. Armazena valores inteiros entre 0 e 4294967295, sem sinal.

• Int64 (ou apenas long) -8 Bytes. Armazena valores inteiros entre – 9223372036854776808 e 9223372036854776807.

• Single (float em C#) - 4 Bytes. Armazena valores de vírgula flutuante entre – 3.402823E+38 e 3.402823E+38.

• Double - 8 Bytes. Armazena valores de vírgula flutuante entre – 1.79769313486232E+308 e 1.79769313486232E+308.

• Decimal - 16 Bytes. Armazena valores de vírgula flutuante entre –79228162514264337593543950335 e 79228162514264337593543950335.

• Char - 2 Bytes. Armazena um único caracter Unicode.

• Boolean (ou apenas bool) - 4 Bytes. Armazena valores verdadeiro/falso.

• DateTime (ou apenas date) - 8 Bytes. Armazena momentos no tempo entre 1/1/0001 e 31/12/9999.

Page 7: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos

Outros tipos de valor

• Para usar um Tipo de Valor é necessário declarar uma variável do tipo desejado

• Estes Tipos possuem um construtor implícito, ou seja, ao declarar uma variável deste tipo estamos a instanciá-la imediatamente

• Tipos de Valor Nulos:

– Variável de um tipo primitivo que aceita também valores nulos: Nullable <int> x = null ou int? x = null

• Estruturas:

– Tipo de valor definido pelo programador

• Enumerados:

– Tipos com valores fixos e imutávies.

– ‘Constantes’ com nomes.

• Passagem de valores:

– Por valor e referência.

Page 8: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos

Alguns recursos da plataforma

• WPF

• WCF

• Windows CardSpace

• WF

• LINQ

• Entity Framework

Page 9: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos

Windows Presentation Foundation

• Subsistema do .Net 3.0

• Desenvolvimento de interfaces gráficas

• Serve tanto para desktop quanto web

• Suporta:– Interfaces 2D e 3D

– Graficos Raster

– Graficos vetoriais

– Vinculação de dados

– Audio

– Video

• Silverlight é a versão reduzida do WPF, feita para Web

Page 10: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos
Page 11: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos
Page 12: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos
Page 13: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos
Page 14: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos

Windows Communication Foundation

• Voltado para aplicação distribuídas

• Arquitetura orientada a Serviços

• Comunicação realizada através de SOAP

• Biblioteca já inclui suporte aos protocolos de comunicação mais comuns

• Existem adaptadores para comunicação com:– IBM WebSphere MQ

– JMS

Page 15: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos
Page 16: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos

Language Integrated Query

• Adiciona capacidades de busca ao .Net

• Define um conjunto de operadores (standard query operators) para realização de consultas

• Abstrai o local onde a consulta está sendo realizada– Arquivos XML

– Banco de dados

– Arrays

– Tipos enumeraveis

• Principais operadores:– Select, Where, Join, Take

– Skip, Sum, Min, Max,

– Count, Average, Aggregate

– OrderBy, Reverse,

– GroupBy, Distinct, First,

– Last, Union, Intersect,

– Single, Any, All, Contains

Page 17: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos
Page 18: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos
Page 19: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos
Page 20: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos

Providers para LINQ

• Existem providers adicionais para extender a capacidade de busca da técnologia. Dentre os providers disponíveis encontram-se:– LINQ to DataServices

– dotConnect (LINQ to Oracle, MySQL, PostgreSQL)

– Entity Framework (LINQ to Entities)

– Windows Search (LINQ to System Search)

– Google Search (LINQ to Google Search)

– Twitter (LINQ to Twitter)

– Wikipedia (LINQ to Wikipedia)

Page 21: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos

Entities Framework

• É um framework de mapeamento objeto relacional para .Net

• Converte as entidades do banco de dados em objetos

• Realiza o mapeamento das alterações realizadas nos objetos no banco de dados

• Possui controle de transações

• Cada banco de dados possui um provider específico

• A linguagem utilizada para buscas é LINQ

• Na versão 4.0 foi adicionado suporte a SQL, embora não seja recomendado.

Page 22: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos
Page 23: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos

Visual Studio

• Principal ferramenta da Microsoft para o desenvolvimento em .Net

• Suporte a desenvolvimento em C++ e VB além da plataforma .Net

• É um pacote de ferramentas baseadas em componentes e outras tecnologias para a criação de aplicativos avançados e de alto desempenho.

• Permite que os desenvolvedores criem aplicativos com muita rapidez.

• Aplicativos esses que proporcionam ao usuário uma experiência de mais alta qualidade e riqueza.

• Debugger , servidor de aplicação e emulador de dispositivos móveis.

• Tem funcionalidades que facilitam a captura e analise de informações o que significa melhor tomada de decisões de negócios .

Page 24: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos
Page 25: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos

Versões Visual Studio

• É uma ferramenta paga

• Existem diversas versões do Visual Studio, atualmente as principais versões do Visual Studio 2010 são essas

– Professional $799

– Premiun $5,469

– Ultimate $11,899

– Existe uma versão Express que é gratuita, porem possui algumas limitações.

Page 26: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos

.Net e Java

• Algumas semelhanças e diferenças com JVM e Java

– Baseiam-se em um conceito de maquina virtual que abstrai o hardware utilizado

– O código fonte é compilado para uma linguagem intermediária (CIL ou Bytecode)

– Em .Net o código é sempre compilado antes da execução, em Java o código é normalmente interpretado, embora existem meios de compilar antes da execução

– A plataforma .Net só está completamente disponível para Windows enquanto Java está disponível para diversos sistemas

– A JVM suporta apenas códigos escritos em Java enquanto a CLI possui suporte a várias linguagens

Page 27: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos

.Net e Java vantagens

Java .NET

Linguagem mais madura. Várias linguagens podem ser usadas no desenvolvimento.

Grande número de frameworks. O número de soluções pode ser menor, mas são garantidos por um único fabricante e se integram de maneira transparente.

Gratuito, inclusive as IDEs Tem acesso as bibliotecas do Windows

Multiplataforma. Existe o projeto mono

Facilidade de rodar aplicações móveis

Desenvolvimento de aplicações em .NET tende a ser mais rápido do que com Java

Page 28: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos

.Net e Java desvantagens

Java .NET

Pouca integração com o sistema operacional.

Número muito menor de soluções públicas e gratuitas

É difícil criar código não gerenciado pela JVM.

Mudanças de versão na plataforma tem causado dores de cabeça por falta de compatibilidade.

Dificuldade do desenvolvedor a se adaptar aos diversos frameworks que existem.

Pouco código aberto e dependência muito grande de Windows.

Page 29: .Net Framework - inf.ufsc.brfrank/INE5612/Seminario2010.1/DotNet.pdf · O que é .Net ? •Proprietário da Microsoft •Versão simplificada para Linux •Versão compacta para dispositivos

Bibliografia

• http://pt.wikipedia.org/wiki/Microsoft_.NET

• http://en.wikipedia.org/wiki/ADO.NET_Entity_Framework

• http://en.wikipedia.org/wiki/Windows_Presentation_Foundation

• http://www.juliobattisti.com.br/tutoriais/almirrivas/vbdotnet001.asp

• http://en.wikipedia.org/wiki/.NET_Framework#.NET_Framework_1.0

• http://www.asp.net/

• http://msdn.microsoft.com/pt-br/default.aspx

• http://en.wikipedia.org/wiki/Comparison_of_the_Java_and_.NET_platforms

• http://pontonetpt.com/blogs/sekhmet/archive/2007/03/25/P13276.aspx