Desenvolvimento - C#

Série aprenda C# - Introdução a plataforma .NET e ao C#

Freqüentemente recebo e-mails ou vejo em fóruns e listas de discussões que as pessoas estão sim querendo aprender C#, e material para esse público (os iniciantes) realmente é muito difícil de se encontrar.

por Cleber Dantas



Público: Iniciante.

Introdução

Freqüentemente recebo e-mails ou vejo em fóruns e listas de discussões que as pessoas estão sim querendo aprender C#, e material para esse público (os iniciantes) realmente é muito difícil de se encontrar principalmente em português. Até mesmo na época em que eu estava aprendendo sofri bastante pra aprender e sabendo dessa dificuldade resolvi criar alguns artigos direcionados justamente a esse publico iniciante.

Os artigos têm como objetivo ensinar os conceitos básicos da linguagem para que assim você leitor possa “caminhar” com as próprias pernas nos estudos posteriores, pensando nisso criei uma lista de assuntos que serão abordados, veja:

  • Introdução ao .NET Framework e ao C#. (Este artigo)
  • C# básico
    • Tipos de Dados e CTS (Common Type System)
      • Meu primeiro programa em C#
      • Tipos de dados
      • Variáveis e Constantes
    • Operadores em C#
      • Operadores aritméticos
      • Operadores de atribuição
      • Operadores relacionais
      • Operadores lógicos
      • Precedência de operadores
    • Estrutura de decisão
      • Instrução if…else
      • Instrução switch…..case
    • Estrutura de repetição (Loop - Laço)
      • Laço for
      • Laço while
      • Laço do....while
      • Laço foreach
    • Arrays em C#
      • Array unidimensional
      • Array bidimensional
      • Percorrendo um Array

Agora para começarmos vamos ver realmente o que é plataforma .NET e uma introdução ao C#.

A iniciativa .NET

Em junho do ano 2000 aMicrosoft lançou nos Estados Unidos a Plataforma .NET (lê-se DOTNET), a iniciativa .NET nada mais é do que a visão da Microsoft onde o software será comercializado em forma de serviços. Diferente de outras tecnologias o .NET foi concebido tendo a internet como alvo e principalmente a geração de negócios através da mesma isso é possível através dos Web Services (discutido mais a frente), mas o .NET não é só isso é também uma revolução no modo de se desenvolver software

O .NET Framework

O .NET Framework é um novo ambiente computacional para o desenvolvimento e distribuição de software é através dele que tudo o que foi dito acima se torna possível.

O .NET Framework pode ser dividido em duas grandes partes:

- Common Language Runtime

- .NET Class Library

Common Language Runtime

O Common Language Runtime (CLR) é o ambiente de execução do .NET. Quando um programa .NET é executado, todo o controle do mesmo é feito através do CLR. É também o CLR que dá suporte a todas a linguagens habilitadas ao .NET. Uma linguagem habilitada ao .NET é uma linguagem cujo seu compilador é capaz de gerar um código denominado MSIL (Microsoft Intermediate Language).

.NET Class Library

O .NET Class Library (Biblioteca de classes) como o próprio nome sugere é uma coleção de classes integrada com o ambiente de execução – CLR. É através do .NET Class Library que você terá todas as funcionalidades para o desenvolvimento de seus programas, tais como: Manipulação de dados, manipulação de arquivos, segurança, conectividade com banco de dados, só para citar algumas.

Integração Multi-Linguagem

A integração multi-linguagem é possível através do MSIL (código intermediário) pense na seguinte situação, você cria um componente escrito em C# e quer consumir esse componente em um programa escrito em Visual Basic.NET, isso é possível, pois todo código em .NET é compilado duas vezes, a primeira vez pelo compilador da própria linguagem onde o resultado dessa compilação é um código intermediário (MSIL) e a segunda compilação é feita pelo JIT (Just In Time Compiler) onde o resultado dessa compilação é um código nativo de CPU ai sim esse código é passado para o comando do CLR e o programa é executado, ou seja, no final tudo é IL independente da linguagem.

Common Type System - CTS

Um conjunto de tipos de dados comum a todas as linguagens habilitadas ao .NET, ou seja, uma variável do tipo Integer em VB.NET terá a mesma estrutura e quantidade de bytes em C# ou qualquer outra linguagem habilitada. Mas o que isso é bom pra mim? Bom isto facilita a integração entre programas que utilizam diferentes linguagens do .NET imagine ter que mapear todas os tipos de dados de uma linguagem depois fazer as conversões necessárias para a outra linguagem, nada legal não é? Bom com o CTS essa preocupação não existe.

Assemblies

Um assembly é um agrupamento lógico de funcionalidades em um arquivo físico. Um assembly pode ser tanto um arquivo .DLL ou .EXE.

É através dele que podemos fazer o controle de versões, controle de distribuição de uma aplicação e também configurações de segurança de nosso aplicativo ou componente. Um benefício dos assemblies é termos versões do mesmo software trabalhando no mesmo computador sem problema algum.

XCOPY, Eu voltei!

Pra quem é da época do bom e velho MS-DOS (não é o meu caso) conhece ou já ouviu falar do comando Xcopy, esse comando era usado para copiar arquivos e pastas. Todos nós usuários de Windows, já ouvimos falar ou então já mexemos no Registry (Registro do Windows), é exatamente lá que ficam registrados todos os programas instalados em nosso computador, essa maneira de instalar software seria até boa a não ser pelo fato de, por exemplo, você ter em seu computador uma versão de um software instalado, depois de um tempo você quer instalar uma versão mais recente desse software, mas a instalação acaba substituindo algumas DLL’s do software mais antigo, ou seja, ele não funciona mais ou pior os dois param de rodar (quem nunca passou por isso hein?). Com a chegada do .NET volta-se ao tempo de copiar um executável de um micro para outro (só um Copy e Paste mesmo) por exemplo e ele funciona como deveria. Agora vem a pergunta: Como isso é possível? A resposta é simples, isso é possível através dos metadados, metadados nada mais são do que informações que um componente .NET tem sobre si mesmo, ou seja, todas as informações necessárias para que o componente funcione estão todas nele próprio em forma de Metadado.

O que podemos fazer com .NET?

Aplicações Windows, aplicações Web, Aplicações para dispositivos móveis, componentes enfim o que vier na sua mente e o melhor você pode fazer isso com uma linguagem de sua preferência, você aprende ela uma vez e pronto pode sair fazendo qualquer tipo de projeto, aliás, com .NET isso não existe mais: ”Você terá que aprender Tal linguagem”, ao invés disso existe essa pergunta: ”Em qual linguagem você trabalha?”, com certeza ela já deve ser habilitada ao .NET.

Web Services

Web Services permite a comunicação entre aplicativos, imagine um site de E-commerce que faz a validação de um cartão de credito através de um serviço (Web Service) disponibilizado pelo banco do cliente. Esse processo é feito claro através da internet, onde o aplicativo de E-commerce “Conversa” como aplicativo do banco (Web Service) para verificar se o cartão é valido. Os Web Services usam protocolos padrão da industria para troca e envio de informações são eles: http (Protocolo de comunicação), XML (Formato das mensagens) e SOAP (Protocolo de transporte). Os Web services realmente são uma revolução no desenvolvimento de software distribuído, não teremos mais programas onde todas as funcionalidades ficam nele próprio, pelo contrario teremos programas feitos com serviços dispostos pelo mundo inteiro em forma de Web Services.

ADO.NET

ADO.NET é uma nova biblioteca de classes do .NET Framework, desenvolvida para facilitar o acesso e manipulação de dado em bases de dados de diversos tipos, especialmente bancos de dados, como Access, SQL Server, Oracle etc. o ADO clássico ainda pode ser usado porém não é recomendado. A Microsoft procurou manter muitos dos conceitos do ADO clássico no ADO.NET, mas á válido dizer que o ADO.NET foi construído do zero sem reaproveitar a tecnologia ADO.

C# .NET

Primeiro C# .NET, C# e Visual C# .NET é a mesma coisa, digo isso, pois algumas pessoas pensam que são linguagens diferentes e terá que aprender uma por uma. Bom C# com certeza é uma linguagem fácil e poderosa e você poderá comprovar isso no decorrer dos artigos, podemos dizer que é tão fácil como Visual Basic e tão poderosa como o C++.

Embora saiba que você não esta vendo nenhum código em C# neste artigo faço isso de propósito, pois verá no próximo artigo. Já que esse artigo é uma introdução a plataforma .NET quero que você se foque só nisso e entenda muito bem.

Algumas características do C#:

· Case Sensitive – Diferencia maiúsculas de minúsculas

· Trabalha em ambiente gerenciado – O programador não precisa se preocupar, por exemplo, com liberação e alocação de memória isso é feito de forma automática.

· Totalmente dentro do padrão de POO – Linguagem totalmente orientada a objetos.

Conclusão

Este artigo procurou mostrar a plataforma .NET para aqueles que não a conhecem e com certeza você já deve estar com muita vontade de aprender essa nova e maravilhosa plataforma de desenvolvimento, espero realmente que tenham gostado e estejam ansiosos para começar a aprender os conceitos básicos da linguagem, no próximo artigo já começaremos com C# propriamente dito. Espero vocês!!

Qualquer dúvida, crítica ou sugestão fale comigo: cleberwd@hotmail.com

Cleber Dantas

Cleber Dantas - Ministra palestras e mini-cursos, MSP (Microsoft Student Partner), MCAD (Microsoft Certified Application Developer) e MCTS (Microsoft certified Technology Specialist). Membro do comitê Web/Infra do INETA Brasil (International .NET Association), colaborador do Portal Linha de código e IMasters. Trabalha com a plataforma .NET desde 2003.