Veremos neste artigo breves introduções sobre o desenvolvimento de software, voltado para a plataforma .NET, de uma forma bastante teórica para memorizar conceitos básicos nesta área.
Guia do artigo:
- Linguagens de programação
- C#
- VB.NET
- F#
- Delphi Prism
- Compilador
- A compilação em .NET
- .NET Framework
- Visual Studio
- Conclusão
Como um pequeno manual para introduzir os principais conceitos e termos utilizados em desenvolvimento .NET, tentando ajudar a familiarizar e acelerar o conhecimento do leitor neste ambiente de desenvolvimento. Serve também como um “glossário”.
Saiba mais: Primeiros Passos com C#
O tema é útil para quem está iniciando no ambiente .NET, assim poderá ver os principais conceitos, janelas, menus e funcionalidades presentes no Visual Studio 2010, além de ter um embasamento teórico bastante abrangente da área .NET. É útil para aqueles que entram no universo .NET e se deparam com uma gama enorme de tecnologias, opções e termos. É preciso aprender o que são, para que servem e quando são aplicados.
Este artigo irá abordar os principais conceitos na área de desenvolvimento de software tentando encaixá-los nas tecnologias .NET, com o objetivo principal de familiarizar o leitor neste ambiente de programação. Serão explicadas as principais linguagens e ferramentas de programação utilizadas, entre elas VB.NET, C#, Delphi Prism e a nova F#. Além disso, será explicado detalhadamente como funciona um compilador e a compilação de um código fonte em .NET. Sempre tendo em vista apresentar o Visual Studio 2010, alguns detalhes de sua IDE, Templates, Assemblys, Namespaces e Class Library. Para finalizar, um modelo de formulário Windows e um modelo detalhado de um formulário Web, onde poderão ser utilizados os novos recursos de IntelliSense, também demonstrados no artigo.
Nos dias atuais, para quem trabalha no ramo de desenvolvimento de software, às vezes é difícil estar sempre atualizado nas novidades tecnológicas da área, ou então, realizar uma mudança drástica de tecnologia, como mudar de uma linguagem de programação para outra. Ou ainda, saber quais os caminhos a tomar, qual rumo seguir e quais ferramentas a utilizar.
Saiba mais: Cursos de .NET
Neste artigo, o leitor ficará familiarizado com as tecnologias .NET e poderá distinguir quais linguagens estão presentes, como funciona um compilador de maneira geral em .NET, além de ver detalhes que podem ajudar a utilizar e a iniciar a programar no Visual Studio, onde o leitor será capaz de escolher a linguagem de programação que mais se adapte a sua realidade. Vale lembrar que nem todos os conceitos, telas e nomenclaturas foram citadas, este artigo visa uma introdução dos principais temas da área visando habilitar o leitor ao fascinante mundo de .NET.
Linguagens de programação
A forma como podemos interagir com uma máquina é descrita pela linguagem de programação. Uma linguagem de programação é composta por instruções padronizadas para expressar tarefas a um computador. Ela é caracterizada por comandos próximos à linguagem humana, possuindo determinadas características léxicas, sintáticas e semânticas capazes de serem interpretadas por um compilador e traduzidas para a linguagem de máquina. De uma maneira usual é a forma como uma pessoa pode indicar um conjunto de instruções a serem executadas pelo computador.
Confira também
As linguagens de programação são de extrema importância para quem atua na área de desenvolvimento de software, pois facilitam, agilizam e estruturam de forma organizada as soluções em informática, de maneira em geral, também chamadas de programas de computador.
As principais linguagens de programação utilizadas em .NET são: C#, VB.NET, F# e Delphi Prism, onde cada uma delas possui características próprias em termos de sintaxe, mas todas com o mesmo objetivo de facilitar ao programador o desenvolvimento de softwares.
C#
Durante o desenvolvimento da plataforma .NET, as bibliotecas foram escritas primordialmente em uma linguagem chamada Simple Managed C (SMC), que possuía um compilador próprio. Em janeiro de 1999, uma equipe de desenvolvimento foi escolhida pela Microsoft para desenvolver uma linguagem. Então, foi assim que teve início a criação de uma linguagem chamada Cool. E no ano de 2000, o projeto .NET era apresentado ao público na Professional Developers Conference (PDC), e a linguagem Cool foi renomeada e apresentada como C#.
A linguagem C# (lê-se C Sharp) é uma linguagem de programação orientada a objetos fortemente tipada desenvolvida pela Microsoft e faz parte da plataforma .NET. A sua sintaxe foi baseada na linguagem C++ e ainda inclui bases de outras linguagens de programação, como Object Pascal e Java.
Linguagens fortemente tipadas são aquelas em que a declaração do tipo de variável de programação é obrigatório. Todas as variáveis possuem um tipo específico que tem que ser declarado.
VB.NET
Visual Basic .NET é uma linguagem de programação, que também foi criada pela Microsoft, totalmente orientada a objetos. De uma forma simples, é a evolução natural do Visual Basic 6.0. Nela ocorreram inovações na linguagem como uma nova estrutura de gerenciamento de erros, adição de namespaces, heranças e multithreading (capacidade de executar mais de uma funcionalidade ou processo ao mesmo tempo sem um interferir no outro).
Um namespace é um recipiente que contém um conjunto de tipos com funcionalidades específicas que podem ser instanciadas ou adicionadas em um projeto de desenvolvimento, seu principal objetivo é criar uma estrutura hierárquica de elementos.
F#
F# é uma linguagem de programação que oferece suporte para programação funcional, além da programação orientada a objetos. Como um membro recente em .NET, a linguagem fornece segurança de tipos, desempenho e habilidade de trabalhar como uma linguagem de script. A programação funcional estimula o uso de uma grande variedade de formas, principalmente de funções matemáticas, que estimulam o uso de seus resultados como parâmetros para outras funções que podem ser consideradas parâmetros de entrada dessas funções ou resultados das mesmas.
Delphi Prism
É a solução de desenvolvimento para quem utilizava a linguagem baseada na sintaxe do Delphi, sendo assim uma evolução e adaptação para a programação em .NET. Delphi Prism permite desenvolver aplicativos web e aplicativos Windows, além de ser multiplataforma, utiliza os recursos presentes em .NET 4.0 e no Visual Studio 2010 integrando completamente com as principais funcionalidades para desenvolvimento.
Compilador
Um compilador é um programa capaz de traduzir um código fonte escrito em uma linguagem de programação em uma outra linguagem chamada de código objeto ou código que possa ser interpretado pela máquina. A linguagem de programação, também chamada de linguagem de programação de alto nível, que recebe este nome devido a ser uma linguagem mais direcionada a linguagem humana e distante da linguagem de máquina, sem que o programador se preocupe com as características relacionadas à arquitetura do computador, é transformada pelo compilador em uma linguagem de baixo nível a qual está diretamente relacionada à sua arquitetura, que entende de instruções de processador e registradores, como exemplo existe a linguagem Assembly.
O compilador pode ser subdividido em algumas partes no processo chamado de compilação, que é o momento em que o código da linguagem de programação é transformado em código objeto. Tais partes correspondem ao Analisador Léxico, Analisador Sintático, Analisador Semântico e Gerador de Código.
Na etapa de compilação, a análise léxica é a primeira etapa a ser realizada em um código fonte, a análise léxica corresponde ao momento em que, a partir de um alfabeto ou dicionário de palavras, cada entrada de caracteres ou palavras é analisada lexicalmente (gramaticalmente) e convertida para símbolos léxicos também chamados de tokens. Um token tem o objetivo de facilitar a análise do código por um parser (leitor de saída do código). Caso alguma das palavras não seja reconhecida pelo analisador léxico, um erro é informado ao usuário, por exemplo, em uma aplicação Web ASP.NET na linguagem de programação C#, se for digitado o comando Response.Rediret(www.meusite.com); será gerado um erro léxico, pois o comando correto seria Response.Redirect(www.meusite.com); e a palavra Rediret não corresponde a nenhum token.
A próxima etapa é composta pela análise sintática, onde a estrutura do código é analisada a partir dos tokens gerados pelo analisador léxico. Nesta etapa deve ser reconhecido como são formulados os comandos válidos na linguagem, dando sentido a uma linha de código informada. Por exemplo, em uma aplicação qualquer na linguagem de programação C#, a declaração do comando nome_variável string; geraria um erro sintático, pois a declaração está invertida, neste caso de propósito para demonstrar o erro, a regra sintática correta é a declaração do tipo variável nome_variável, ou seja, string nome_variável;.
A terceira etapa é realizada pela análise semântica, na qual são verificados, principalmente, os tipos de variáveis, verificações de fluxo de controle e verificações da existência única de declarações de variáveis, ou seja, se um mesmo nome de variável não foi declarado mais de uma vez. Como exemplo, o analisador semântico deve verificar se todas as variáveis foram declaradas, caso contrário será informado um erro, ou então, uma outra situação, seria a declaração de uma variável do tipo inteiro e atribuir valores não inteiros (com casas decimais), o analisador semântico também nos informará um erro.
Após a análise semântica, o processo que entra em execução é a geração de código, este código é gerado em uma linguagem intermediária próxima a linguagem de máquina, em uma segunda etapa este código é transcodificado para a linguagem Assembly, desta forma o compilador reaproveita para trabalhar com diferentes instruções para diversos tipos de processadores. Em muitas situações antes dessa segunda etapa o código é analisado por um otimizador de código com o objetivo de reavaliar as instruções para tirar um melhor proveito.
Em resumo, estes são os processos envolvidos na compilação de um código fonte de uma determinada linguagem até a geração de um código que a máquina seja capaz de identificar. A Figura 1 demonstra as fases da compilação de um código.
Como exemplo de um compilador em .NET temos o compilador C#, representado pelo nome csc.exe, e para compilar um código fonte desenvolvido em uma linguagem de programação, no caso C#, basta indicar em uma linha de comando a instrução csc arquivo.cs, onde arquivo.cs representa o código fonte (Figura 2).
A compilação em .NET
Ao planejar um aplicativo e digitar seu código fonte em uma determinada linguagem em .NET, como as descritas anteriormente, este arquivo pode ser compilado para gerar um arquivo executável na linguagem que o computador entenda. Ao iniciar o processo de compilação, o código fonte é verificado de acordo com os princípios básicos de um compilador (conforme foi explicado). Um dos passos é verificado pela CLS (Common Language Specification), ou seja, consiste na verificação de compatibilidade do código fonte com o modelo de desenvolvimento em .NET, além de sua estruturação de desenvolvimento. Outro passo é analisado pela CTS (Common Type System), onde é feita a verificação de tipos básicos da linguagem no código fonte.
Após as etapas anteriores, o fonte é codificado para um código de linguagem intermediária chamada de IL (Intermediate Language) ou CIL (Commom Intermediate Language) ou ainda MSIL (Microsoft Intermediate Language), semelhante a uma linguagem Assembly. Este código IL permite que o conjunto de instruções codificadas fique independente de plataforma e que seja capaz de ser traduzido por qualquer ambiente que possua suporte a .NET.
Como última etapa entra em ação a máquina virtual do .NET que nada mais é que o processo responsável por interpretar o código IL e informar ao sistema operacional quais as tarefas que devem ser executadas. Nesta etapa entra em ação o CLR (Commom Language Runtime), também chamada de máquina virtual, nela que ocorre a chamada ao compilador JIT (Just In Time, ou tempo de execução) que é o responsável por traduzir ou codificar o código IL em um código nativo que o computador possa executar.
Na CLR também está presente o GC (Garbage Collector) que é o responsável por analisar endereços de memória não referenciados e liberá-los para que outros aplicativos possam utilizar, ou seja, otimizar a alocação de memória.
.NET Framework
Um framework é um repositório que contém funcionalidades específicas para solucionar determinados tipos de problemas. O .NET Framework, desenvolvido pela Microsoft, é um pacote de classes com soluções codificadas para problemas comuns de programação, suporta várias linguagens de programação no ambiente .NET e fornece uma gama de recursos relacionados à interface com o usuário, acesso a dados, conectividade a banco de dados relacionais, criptografia, comunicações de rede e ambiente de desenvolvimento web. O conjunto dessas classes deve ser bastante flexível podendo permitir o desenvolvimento de aplicativos especificando apenas os detalhes da aplicação, ou seja, o uso das classes e suas funcionalidades.
O Framework deve possuir algumas características básicas entre elas ser reusável ou reaproveitado, bem documentado e fácil de usar. Deve permitir uma complementação de suas funções, ou seja, abstração para que o programador possa estender as funcionalidades de acordo com a necessidade, e, além disso, ter um nível de segurança, por exemplo, não deve permitir a remoção/exclusão do framework.
As principais vantagens na sua utilização dizem respeito a maior facilidade na detecção e correção de erros, tendo em vista que um Framework atua de maneira pontual em uma aplicação, tornando mais eficiente a resolução de problemas. Suporta várias linguagens de programação, o gerenciamento de memória é realizado pelo sistema operacional e não pelo aplicativo, e seus aplicativos desenvolvidos em .NET são independentes do sistema operacional, visto que se baseia no conceito de Framework e precisa dele para ser executado.
Existe um projeto chamado Mono que tem por objetivo permitir a execução de aplicativos .NET em outras plataformas, como Linux.
Visual Studio
O desenvolvimento de sistemas para as pessoas que utilizavam as ferramentas de desenvolvimento da Microsoft, até meados do ano de 2002 era a linguagem Visual Basic utilizando uma ferramenta de desenvolvimento chamada de Visual Studio. O Visual Studio é um ambiente de desenvolvimento integrado que permite a quem o utiliza desenvolver, principalmente, aplicativos Windows, web e para dispositivos móveis. De maneira simples, o Visual Studio é a ferramenta utilizada para o desenvolvimento de um código fonte, como se fosse um editor de textos com vários recursos voltados à programação, compilação e execução de um aplicativo. O IDE (Integrated Development Environment) do Visual Studio (Figura 3) consiste, basicamente, em um editor de código fonte, um compilador com recursos para realizar análises de código (Debug), elementos visuais para facilitar e agilizar o desenvolvimento e ferramentas para geração e aperfeiçoamento de aplicativos.
Foi neste mesmo ano que surgiu a versão 1.0 do .NET Framework, com recursos próprios para o desenvolvimento orientado a objetos e desenvolvimento de aplicações voltadas para a web juntamente com a versão do Visual Studio 2002.
IDE consiste em um ambiente com recursos de desenvolvimento integrado com o objetivo de facilitar o desenvolvimento de softwares.
Em 2003, surge a versão 1.1 do .NET Framework juntamente com a versão 2003 do Visual Studio, amplamente utilizado, o que impulsionou o desenvolvimento em .NET. Uma das características marcantes é que desde o início era possível escolher mais de um tipo de linguagem para desenvolvimento de dentro do próprio Visual Studio, as linguagens disponíveis eram: VB.NET, C#, C++ e J# (uma versão da Microsoft para desenvolvimento voltado para a sintaxe da linguagem Java).
No ano de 2005 é apresentada a versão 2.0 do .NET Framework e a versão 2005 do Visual Studio, foi nesta versão, principalmente, que o desenvolvimento de aplicativos web foi impulsionado, pois o desenvolvimento ficou mais simples e muitas ferramentas surgiram para o acesso a dados e criação de interfaces (uma interface representa a forma como um ser humano pode interagir com a aplicação, seja um formulário web, um botão, um texto, um grid, entre outros).
Como era de se prever, em novembro de 2007 foi lançado a versão 3.5 do .NET Framework, juntamente com a versão 2008 do Visual Studio, nessa versão era possível ver melhorias na conversão de projetos desenvolvidos nas versões anteriores e a principal característica, a adição da linguagem LINQ (Language-Integrated Query).
LINQ corresponde a uma sintaxe unificada, inicialmente incorporada às linguagens C# e Visual Basic, para consultas em fontes de dados variadas. A sintaxe de consulta da LINQ foi inspirada na da Structured Query Language (SQL), que é uma linguagem padrão para comunicação com bancos de dados relacionais.
Antes da versão 3.5 do .NET Framework, existiu a versão 3.0, mas sem a criação de uma nova versão do Visual Studio, esta versão 3.0 foi marcada pela inclusão das tecnologias: Windows Presentation Foundation, Windows Communication Foundation, Windows Workflow Foundation e Windows CardSpace. São tecnologias voltadas a padronizar um modelo de programação, serviços da web e sistemas distribuídos.
E por fim, surge o .NET Framework 4.0 e a versão atual do Visual Studio 2010. Vem voltado com melhorias visuais com o novo IDE redesenhado em WPF, capacidade de utilizar múltiplos monitores permitindo uma fácil visualização e utilização do código, recursos de programação paralela que estavam faltando devido à necessidade de programação para ambientes de processadores com mais de um núcleo e muito mais.
WPF também conhecido como Windows Presentation Foundation é caracterizado por ser um subsistema ou biblioteca de recursos gráficos capazes de renderizar interfaces gráficas para aplicativos Windows.
Principais janelas do Visual Studio 2010
Ao desenvolvermos um projeto no Visual Studio 2010, através do menu View (Figura 4), é possível acessar algumas opções de janelas disponíveis, basta clicar na desejada ou então utilizar as teclas de atalho caso estejam disponíveis. Das principais, pode-se destacar: a janela Code que é onde será escrito o código fonte, a janela Designer onde será construída e visualizada a interface gráfica, a janela Solution Explorer, local que nos indica os projetos presentes dentro de nossa solução (ou projeto base) e nos fornece informações sobre cada um dos itens pertencentes ao projeto, a janela Server Explorer que é um gerenciador de conexões para fontes de dados, nela você poderá gerenciar e conectar a fontes de dados como um servidor de banco de dados SQL Server, a janela Class View que nos indica uma forma fácil de visualizar a estrutura de classes do projeto e a janela Object Browser que apresenta a estrutura hierárquica de cada objeto e os membros que pertencem a ela.
A janela ToolBox (Figura 5) indica os controles ou componentes que podem ser utilizados em um projeto. Esta janela é agrupada por tipos de componentes e alguns dos componentes podem aparecer de acordo com o tipo de projeto selecionado (Aplicação Windows ou Web). Para utilizá-los basta clicar no componente desejado e adicioná-lo no Designer da sua interface.
A janela Toolbox pode ser personalizada de acordo com sua necessidade, para isso clique com o botão direito do mouse sobre a janela e escolha a opção choose items, ali estarão presentes vários outros itens disponíveis para o ambiente.
Os controles disponíveis e acessados na janela Toolbox possuem características específicas, tais características podem ser vistas na janela Properties (Figura 6) de cada controle. De acordo com a figura, os itens destacados em vermelho correspondem a: (ID) representa o nome do controle (no caso Button1), System.UI.WebControls.Button representa o tipo do controle (sendo System.UI.WebControls o namespace e Button o tipo propriamente dito) , Enabled significa habilitar ou desabilitar o controle, Font indica qual a fonte e suas características (tamanho, tipo, negrito, itálico, sublinhado) que será usada para o controle, Text representa o texto que será mostrado no controle e o item circulado representa a aba de possíveis eventos para o controle (por exemplo ao controle receber um clique do mouse).
Solution Explorer
É o local onde pode ser gerenciado um projeto ou um conjunto de projetos pertencentes a uma solução, fornecendo informações de forma simples e visual de todos os itens presentes em seus projetos. Além disso, tarefas comuns de manipulação de arquivos também podem ser realizadas. A Solution Explorer (Figura 7) é bastante flexível permitindo trabalhar de forma independente nos seus projetos, código fonte e arquivos de maneira geral que não precisam estar diretamente relacionados a um projeto.
Ao selecionar um item na Solution Explorer e clicar com o botão direito do mouse, um menu com várias opções é apresentado, dependendo do tipo de arquivo, este menu pode apresentar tarefas simples (como visualizar o código, copiar, colar, excluir o arquivo e excluir do projeto) e, também, tarefas mais complexas (no caso de um projeto) como compilar o projeto, adicionar novos itens, adicionar itens existentes e iniciar a execução de um aplicativo.
Tipos de Projetos e Templates
Para desenvolver um aplicativo é necessário realizar um planejamento da solução a ser implementada e escolher o seu tipo de projeto. Existem vários tipos de projetos que podem ser criados no Visual Studio 2010, dentre os principais, podemos citar: Class Library (biblioteca de funções sem a presença de uma interface com o usuário), Console Application (uma aplicação de console ou por linha de comando), Database Project (projeto relacionado a um Banco de Dados, podendo conter scripts ou comandos SQL), Device Application (aplicação voltada a dispositivos smart-device), Empty Project (projeto em branco), SQL Server Project (projeto voltado ao Banco de Dados SQL Server, manutenção de objetos(tabelas), Web Service (aplicativo web com funcionalidades específicas sem a presença de uma interface com o usuário), Web Site (aplicativo da web desenvolvido com ASP.NET), Windows (aplicativo Windows com uma interface definida para este ambiente), Windows Service (aplicativo Windows com funções específicas sem a presença de uma interface com o usuário), WPF Browser Application (aplicação web baseada nos conceitos da Windows Presentation Foundation).
No momento de adicionar um novo projeto, um menu com vários modelos de projetos pré-existentes é apresentado, tal menu pode ser agrupado por tipo de projeto e funcionalidade, a esses modelos de projetos é dado o nome de Templates (Tabela 1).
Tipo de Template |
Modelo de Projeto |
Descrição |
Windows Templates |
Class Library |
Usado para criar bibliotecas de classes e funcionalidades específicas. |
Windows Templates |
Console Application |
Aplicações do tipo console ou linha de comando. |
Windows Templates |
Empty Project |
Projeto em branco ou vazio. |
Windows Templates |
Windows Forms Application |
Aplicativo do tipo Windows. |
Windows Templates |
Windows Forms Control Library |
Usado para criar controles customizados para serem utilizados em aplicativos Windows. |
Windows Templates |
Windows Service |
Cria serviços do Windows sem interface com o usuário. |
Windows Templates |
WPF Application |
Utilizado para criar aplicativos com interface usando os princípios da WPF. |
Windows Templates |
WPF User Control Library |
Permite criar controles customizados utilizando as funcionalidades básicas de WPF. |
Windows Templates |
WPF Browser Application |
Cria uma aplicação utilizando WPF capaz de ser executada em um navegador web. |
Windows Templates |
WPF Custom Control Library |
Usado para criar uma biblioteca de funções customizadas utilizando a tecnologia WPF. |
Web Templates |
ASP.NET Web Application |
Possui a funcionalidade de criar um aplicativo para web. |
Web Templates |
ASP.NET MVC 2 Web Application |
Aplicação web utilizando o modelo model view controller. |
Web Templates |
ASP.NET Empty Web Application |
Projeto web em branco. |
Web Templates |
ASP.NET Dynamic Data Entities Web Application |
Usado para criar um aplicativo web que utilize um banco de dados relacional. |
Web Templates |
ASP.NET Dynamic Data Linq to SQL Web Application |
Modelo utilizado para criar um aplicativo web que utilize LINQ para acessar as informações de um banco de dados. |
Web Templates |
ASP.NET Server Control |
Utilizado para desenvolvimento de controles do tipo server-control que possam ser reaproveitados. |
Web Templates |
ASP.NET AJAX Server Control |
Desenvolvido para criar controles de servidor e cliente utilizando tecnologia AJAX. |
Web Templates |
ASP.NET AJAX Server Control Extender |
Usado para implementar controles estendidos AJAX de controles já existentes. |
ASP.NET MVC 2 é um modelo de visualização e controle que
permite diferenciar e separar os controles de uma aplicação web, desta forma,
destacando cada parte do aplicativo, facilitando e aumentando a produtividade.
AJAX é um padrão de bibliotecas que permitem, principalmente
do lado do cliente, a definição de modelos customizados e ágeis para
visualização de dados em páginas web.
Assemblys, Namespaces e Class Librarys
Assembly é um conjunto de tipos e recursos capazes de se agrupar e interagir para formar funcionalidades de bibliotecas distintas. Além disso, o assembly contém toda a especificação de como os elementos se relacionam e quais as suas dependências entre si. Um Assembly pode consistir em um ou mais arquivos, esses arquivos de código recebem o nome de módulos, que podem estar agrupados formando um conjunto de módulos. O código gerado de um assembly é codificado na linguagem intermediária IL, conforme foi descrito anteriormente.
Um namespace, de forma simplificada, organiza os objetos ou funcionalidades de um assembly, cada namespace contém tipos básicos que podem ser utilizados em aplicativos. O namespace tem por principal objetivo evitar a redundância de definições de nomes, além de tentar organizar e agrupar por tipos de objetos semelhantes ou com funcionalidades parecidas. Exemplo: O namespace definido por System.IO possui funcionalidades específicas para entrada e saída de dados.
Uma Class Library básica pode ser definida como um conjunto de bibliotecas padrões para serem utilizadas em .NET, possuindo funções determinadas para tratamento de entrada e saída de arquivos, processamento gráfico, utilização de banco de dados, funções matemáticas e lógicas dando um determinado grau substancial para o desenvolvimento de aplicativos. Cada funcionalidade estará contida em um local específico, o que permite chamá-la de acordo com a necessidade, evitando assim que uma grande carga de funções sejam instanciadas em memória (com chamada ou uso desnecessário) e acelerando o tempo de inicialização de um aplicativo. Por padrão as bibliotecas de classe do .NET (Tabela 2) desenvolvidas pela Microsoft iniciam-se pelas palavras Microsoft ou System.
Namespace |
Descrição |
Microsoft.Csharp |
Contém classes que oferecem suporte a compilação e geração de código na linguagem C#. |
Microsoft.Win32 |
Fornece classes que tratam os eventos gerados pelo sistema operacional e registro do sistema. |
Microsoft.WindowsCE.Forms |
Contém classes para desenvolvimento em Pocket PC. |
System |
Permite acesso às classes fundamentais e classes base, referências, valores, tipos primários e tratamentos de exceções. |
System.Configuration |
Possui os tipos que permitem manipular arquivos de configuração. |
System.Data |
Contém classes que permitem o acesso a dados e gerenciamento dos mesmos. |
System.Data.Oledb |
São as classes que permitem acesso a fonte de dados de um determinado tipo, no caso, Oledb (uma conexão oledb permite acesso a diversos tipos de fontes de dados). |
System.Net |
Fornece uma interface de programação para recursos de rede. |
System.Text |
Permite acesso a classes que representam diversas codificações de caracteres, como os modelos ascii e unicode. |
System.Web |
Fornece classes e interfaces para comunicação no âmbito navegador-servidor. |
System.Web.Security |
Classe utilizada para implementar segurança em ASP.NET. |
Design no Visual Studio
Ao se criar um aplicativo, seja ele baseado em princípios web ou windows, o Visual Studio permite que seja trabalhado em seu Design, um ambiente gráfico voltado para a parte visual da interface. Esta interface pode ser um formulário ou um conjunto de formulários, que nada mais é, que um objeto de determinado tipo que possui características próprias e propriedades específicas para facilitar e acelerar o desenvolvimento, aumentando assim a produtividade. É no design que podemos adicionar controles, que podem variar de acordo com o objetivo da aplicação e o tipo de aplicação desenvolvida, como exemplo, podem ser adicionado botões, imagens, menus e grid para tratamento, manipulação e interação de informações com o usuário do aplicativo.
A principal vantagem do design é a sua visibilidade gráfica (Figura 8) permitindo visualizar em tempo real o que está sendo planejado e desenvolvido. Nesta figura foi incluído um formulário Windows contendo: um controle de Label (Texto), controle de TextBox (para receber um texto), controle Button (botão) e um controle PictureBox (descrito pela imagem), observe que estamos na aba de Design (descrito pelo nome da aba, Form1.cs [Design]) e o código da aplicação está apresentado na aba de código representada por Form1.cs.
Dessa forma, você pode utilizar a IDE do Visual Studio, pode criar seus formulários, onde um formulário pode ser considerado a base de uma determinada aplicação, ele é como se fosse uma folha em branco pronta para você planejar o seu design adicionando controles para criação de uma interface amigável e funcional para o usuário, lembrando que por trás desta interface sempre existirá um código fonte escrito em uma determinada linguagem de programação para que o aplicativo execute alguma tarefa.
Web Forms
Um web form é o principal meio de comunicação de um aplicativo web com o usuário, como o próprio nome diz é um formulário para a web que possui características próprias semelhantes a um formulário Windows, também podendo ter seu layout planejado e estruturado na janela de design. As principais vantagens no seu uso são: separação do código HTML da interface com o código da lógica de programação, modelo de programação em eventos e a adição de controles no lado servidor, ainda em tempo de design, utilizando os controles disponíveis no Visual Studio relacionados ao desenvolvimento Web.
Os controles para uso em um web form são subdivididos em dois tipos: controles HTML (HTML controls) e controles de web form (web form controls). Controles HTML são mais básicos e os mesmos controles utilizados em linguagem HTML convencional, controles tipo Button, Text Field, Password Field, CheckBox, Radio Button, Table, Image e ListBox, como se estivesse desenvolvendo um site sem recursos em .NET.
Já os controles web form controls (Tabela 3) herdam suas propriedades de uma classe base, a System.Web.UI.WebControls, as suas principais propriedades em comum são: BackColor (indicando a cor de fundo), Enabled (se o controle está habilitado ou ativo), Font (descrição da fonte que será usada e suas características), ForeColor (indicando a cor da frente), TabIndex (informa a ordem do controle no web form), Visible (indica se o controle está visível), Width (indica a largura do controle).
Controle |
Descrição do Controle |
Label |
Mostra um texto em uma página. |
TextBox |
Permite que o usuário informe um texto em uma área pré-determinada. |
Button |
Um botão que poderá acionar algum evento quando ele for clicado. |
LinkButton |
Um botão semelhante a link que retorna ao servidor um comando como se fosse um hyperlink tradicional em html. |
ImageButton |
Mostra uma imagem em uma determinada área. |
Hyperlink |
Um hyperlink normal que corresponde a um evento quando clicado. |
DropDownList |
Uma lista em formato estilo dropdown onde são visualizadas as informações com base em um texto específico ou uma fonte de dados. |
ListBox |
Permite visualizar as informações em formato de lista semelhante ao controle HTML podendo ainda estar relacionado a uma fonte de dados. |
DataGrid / GridVew |
Tem a função de visualizar as informações de uma fonte de dados no formato de tabela. |
DataList |
Cria uma lista não tabulada com formato pré-determinado para mostrar os dados de uma fonte. |
Repeater |
Possibilita a criação de um template onde os itens são adicionados e percorridos um a um em uma lista de uma fonte de dados. |
CheckBox |
Semelhante ao controle checkbox presente em páginas html. |
CheckBoxList |
Possibilita criar uma lista de checkbox para se trabalhar em conjunto. |
RadioButton |
Semelhante ao controle radiobutton presente em páginas html. |
RadioButtonList |
Permite mostrar uma lista agrupada de radiobuttons. |
Image |
Um controle para visualização de imagens. |
Panel |
Controle usado para agrupar outros controles. |
IntelliSense
Quando se deseja desenvolver um aplicativo, uma das principais funcionalidades para um bom editor de códigos, e uma funcionalidade extremamente interessante em um IDE, é o recurso chamado de IntelliSense. O IntelliSense é uma facilidade criada para agilizar e auxiliar o programador quando se está digitando um código, dessa forma eliminando dúvidas e acelerando o desenvolvimento.
No Visual Studio 2010 ela está melhorada, ao invés de mostrar uma lista longa e completa de itens esta lista é diminuída a cada tecla que é digitada, além disso, a busca é feita pela palavra informada em qualquer parte do texto (Figura 9), por exemplo, ao digitar textchanged a palavra é pesquisada com qualquer ocorrência, inclusive as palavras que iniciam e que contenham o texto mencionado.
Outra funcionalidade do IntelliSense no Visual Studio 2010 é o padrão de busca utilizando determinada nomenclatura, dessa forma, se sabemos o que procurar o IntelliSense nos indicará rapidamente os possíveis complementos da palavra (Figura 10).
Conclusão
Como pode ser visto no artigo, vários assuntos vinculados à programação e ao .NET foram tratados. Foi introduzido o conceito de linguagem de programação, explicado algumas das linguagens e como uma linguagem de programação influencia no processo de compilação realizado por um compilador.
O conceito de framework foi explicado além de termos como assemblys, namespaces e class library, deixando o leitor familiarizado com tais termos no mundo de .NET. Dessa forma, deixando-o apto a iniciar a programação na ferramenta Visual Studio 2010. O Visual Studio foi introduzido, dando um breve histórico em suas versões e a evolução até os dias atuais, com isso, o leitor ficou com um bom embasamento teórico nesta área.
As principais telas do Visual Studio 2010, normalmente as mais usadas, foram vistas com o objetivo de facilitar e agilizar ainda mais o aprendizado. Sendo assim, só resta dizer ao leitor, tenha muito prazer em iniciar a programar em .NET com o Visual Studio 2010, um grande abraço e até a próxima.