Precisa de um freelancer, códigos-fonte e exemplos completos? Bem-vindo(a) ao meu site. Além de realizar alguns serviços como freelancer eu tenho alguns códigos-fonte e exemplos completos de Java, Delphi, PHP, Python, C/C++, Hibernate, JPA, Spring, JSP, Servlets, Ruby, Ruby On Rails e muitas outras linguagens e frameworks. Veja como falar comigo clicando aqui.
Parte 1 :: Considerações
Iniciais e Ferramentas Necessárias :: Entendendo
a plataforma .NET
Impossível falar de C#
sem mencionar a plataforma .NET. A linguagem
e a plataforma se completam. A linguagem roda na plataforma
e a plataforma, por sua vez, usa a linguagem como seu principal
meio de demonstração de funcionalidade. Mas afinal,
o que é a plataforma .NET?
Antes de discutirmos a plataforma, vamos analisar alguns cenários
que o deixarão mais preparado para entender situações
em que códigos são executados dentro de um framework
(Sim. .NET Framework é a palavra mais
adequadamente usada em substituição ao termo "plataforma
.NET").
O ano de autoria deste curso se dá nos meses finais de
2005 e início de 2006 (a tecnologia muda da noite para
o dia. É melhor o autor se precaver). Como bom usuário
do Windows (ou outro sistema operacional), você já
deve ter vivenciado uma das três situações
a seguir:
a) Seus amigos recomendaram
a você um ótimo site de animações.
Ao acessá-lo você é presenteado com uma
tela de downloads solicitando a instalação de
um plug-in para visualização
do conteúdo. Isso ocorreu porque a linguagem usada na
animação necessita de um software que você
ainda não possui em seu computador. Instale o plug-in
e o problema será solucionado. Estamos falando do Macromedia
Flash Player.
b) Você acessa um site que usa um Applet
(pequeno aplicativo Java que roda direto no navegador). Este
Applet foi desenvolvido usando as mais recentes APIs do Java.
Uma mensagem o adverte que a execução só
será possível se você baixar e instalar
a última versão do JRE (Ambiente de Execução
do Java).
c) Você acaba de baixar
um software muito recomendado. Ao tentar executá-lo,
você obtém a seguinte mensagem:
Essa mensagem é direta. O aplicativo que você está
tentando instalar foi desenvolvido para a plataforma
.NET e não poderá ser executado até
que você a instale em seu computador. Podemos dizer que
o tempo de vida desta mensagem será curto, visto que
futuras versões do Windows já virão com
o .NET instalado.
Poderíamos enumerar muitas outras situações.
Porém, estas três tornam clara a necessidade de
complementação que algumas linguagens ou softwares
requerem para uma perfeita execução. E assim é
para as linguagens voltadas para a plataforma .NET. A plataforma
oferece os mecanismos necessários para a correta execução
dos códigos contidos nestas linguagens, ora gerenciando
memória, aplicando restrições de segurança
ou gerenciando processos e threads (threads
são fluxos de execução dentro de um mesmo
processo).
Existe nos dias atuais (leia-se período em que este curso
estava sendo escrito) um movimento muito grande no sentido de
adaptar linguagens já conhecidas ao paradigma de desenvolvimento
proposto pela plataforma .NET. Não é surpresa
que neste momento compiladores para mais de 20 linguagens já
estão gerando códigos que podem ser executados
na plataforma .NET. A título de ilustração
podemos citar COBOL, Fortran,
Perl, Python entre outras.
Este movimento é compreensível e muito salutar
aos vários desenvolvedores que abraçaram estas
linguagens e que, não se sentem confortáveis em
abandonar anos de experiência para se aventurarem nos
caminhos do C#, VB.NET ou C++.NET. Eles continuarão desenvolvendo
para a plataforma Windows usando suas linguagens favoritas e
ainda usufruindo de todo o controle e poder que a plataforma
.NET proporciona. Como a proposta da Microsoft é permitir
o acesso às APIs das futuras versões do Windows,
somente através das classes disponíveis no framework
.NET, mais e mais desenvolvedores estarão estudando formas
de adaptar suas aplicações a esta nova realidade.
Em resumo, a plataforma .NET é composta pelo Common
Language Runtime (CLR) e um grupo unificado de bibliotecas
de classes. O CRL é o responsável por fornecer
os serviços de runtime, ou seja, desempenha o mesmo papel
que a JVM (Java Virtual Machine), tão conhecida dos desenvolvedores
Java. As bibliotecas de classe fornecem funcionalidades padrões
tais como entrada e saída, manipulação
de texto, comunicação de rede, etc. Veja uma demonstração
dos blocos que compõem o framework:
Antes de continuarmos tenha em mente que a linguagem C# não
apresenta um conjunto de bibliotecas de classes, como o fazem
diversas linguagens. Toda a funcionalidade da linguagem é
oferecida por meio do acesso direto às bibliotecas de
classes da plataforma .NET.
Todo o conteúdo deste site,
quando não devidamente observado, pertence a seus idealizadores
e não
poderá ser usado para outras finalidades senão estudo e
aprimoramento de técnicas de programação.
Certifique-se de ler asnotas legaisantes de proceder com
o acesso e leitura do
conteúdo disponibilizado nestas páginas.