.Net Framework
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
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
.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
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
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.
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.
Alguns recursos da plataforma WPF WCF Windows CardSpace WF LINQ Entity Framework
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
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
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
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)
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.
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.
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.
.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
.Net e Java vantagens Java Linguagem mais madura. Grande número de frameworks. Gratuito, inclusive as IDEs.NET Várias linguagens podem ser usadas no desenvolvimento. O número de soluções pode ser menor, mas são garantidos por um único fabricante e se integram de maneira transparente. Tem acesso as bibliotecas do Windows Multiplataforma. Facilidade de rodar aplicações móveis Existe o projeto mono Desenvolvimento de aplicações em.net tende a ser mais rápido do que com Java
.Net e Java desvantagens Java.NET Pouca integração com o sistema operacional. É difícil criar código não gerenciado pela JVM. Número muito menor de soluções públicas e gratuitas 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.
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_platfo rms http://pontonetpt.com/blogs/sekhmet/archive/2007/03/25/p13276.asp x