Dotnet Compact Framework
celulares.jpg

Dotnet Compact Framework

N02 - André Chagas

Com a incessante evolução da tecnologia móvel, é imprescindível que a forma de desenvolvimento para estes aparelhos seja mais fácil, mais rápida, portável e unificada. É o que se propõe este framework, unificar os conhecimentos já adquiridos das plataformas desktop e web em um dispositivo smart, sem necessitar reaprender linguagens.

1. Mas o que é um Framework?

“Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.” FAYAD e SCHMIDT, Wikipédia (http://pt.wikipedia.org/wiki/Framework)

Por tanto um framework reune bibliotecas de linguagens diferentes, interagindo em um ambiente único, sendo capaz de executar trechos de linguagens distintas para executar uma tarefa específica.

2. E como é que isto funciona?

Como nosso estudo é sobre o .NET Framework vamos focar na plataforma da Microsoft.
O .Net como é conhecido o Framework da Microsoft, trabalha em cima de uma CLR (Common Language Runtime — Ambiente de Execução Independente de Linguagem). A CLR se assemelha a uma máquina virtual, ela que tem a tarefa de executar as aplicações.

O compilador de cada linguagem na .NET Framework trabalha sobre uma série de padrões (Common Language Specification) para compilar seus códigos, por isso as outras linguagens conseguem "entender" as classes e os métodos, dentre outras informações, que essa linguagem definiu.

Atualmente fazem parte da Framework mais de vinte linguagens que mesmos distintas agem como se fosse uma só. Vamos entender da seguinte forma, pode-se escrever em qualquer linguagem da Framework e compilar no seu respectivo compilador, o resultado é um MSIL code (Microsoft Intermediare Language ou Assembly - Linguagem Intermediária da Microsoft) este por sua vez gera um Assembly de acordo com o tipo de progeto final a que se destina a aplicação (seu .EXE por exemplo) quando a aplicação pré-compilada for executada entra em ação o JIT (Just In Time Compiler - Compilador do momento da execução), que se encarrega de transformar o Assembly em linguagem de máquina ou native code.

Vamos analisar então a seguinte imagem:

clr.jpg?w=483&h=263

Pelo conceito de compiladores podemos identificar que a parte sintática dos compiladores .NET geram um texto objeto escrito em uma linguagem comum, chamada MSIL. Esta linguagem é por sua vez compilada no momento da execução do aplicativo (estes tipos de programas recebem o nome de duplo-compilados).

É esta caracteristica que permite ao .NET Framework agrupar diversas linguagens distintas em um ambiente de execução unico.

Podemos então complementar a nossa definição de Framework dizendo que o aprendizado de novas linguagens para suprir desenvolvimentos em plataformas distintas se torna dispensavel, uma vez que, independente da linguagem escolhida o programa será compilado e irá funcionar de forma comum.

3. E o tal Compact Framework?

Bom… O Compact Framework foi criado como sub-conjunto do .NET Framework o que permite a ele ter as mesmas caracteristicas, ou seja, utilizar os conhecimentos já adquiridos sobre uma determinada linguagem para desenvolver aplicativos smart (celulares, palms, handhelds, smartphones etc.) que rodem o .NET Framework.

A Microsoft disponibilizou inicialmente este Framework junto com sua suite Visual Studio 2003 e desde então a gama de equipamentos que permitem a execução destes aplicativos vem aumentando. Podemos destacar atualmente a empresa Red Five Labs, que desenvolveu um .NET Compact Framework para dispositivos Symbian (Nokia). Desta forma, aplicações desenvolvidas para Windows Mobile podem rodar inalteradas para dispositivos Symbian (nós amantes do Symbian agradecemos).

No caso do Compact Framework o compilador foi alterado para dar mais foque no quesito otimização de código, que são as rotinas do compilador que ajustam o código tornando ele mais enxuto, mais limpo, sem redundâncias e sem ineficiencias. Afinal os dispositivos em que iram rodar as aplicações são limitados em tamanho de tela, memoria, espaço rígido etc… Desta forma, o código "bruto" que foi criado por alguem que nao seja habituado em desenvolver para dispositivos móveis é re-organizado e compilado para rodar em um smart.

A frase que a Microsoft descreve a Compact Framework é "Levar a informação a qualquer hora, a qualquer lugar e em qualquer dispositivo."

**Ainda em desenvolvimento do restante **

Fontes literárias até o momento
- Visão Geral do .NET Compact Framework (http://msdn.microsoft.com/pt-br/library/cc580579.aspx)
- Wikipédia (http://pt.wikipedia.org/wiki/Framework)
- Blog Lineker Tomazeli (http://tomazeli.wordpress.com/2008/09/30/framework-net-novidades-e-como-funciona/)

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License