Difference between revisions of "Equipe Cão-Cão"

From AdonaiMedrado.Pro.Br
Jump to: navigation, search
(Linguagem compilada)
(Independente de máquina)
Line 112: Line 112:
 
Caberá também ao compilador gerar metadados, os quais contém informações adicionais que serão utilizadas em seguida para execução do programa. Estes, juntamente com o código intermediário, serão armazenados, mas não serão diretamente executáveis. Para isso, será necessário converter o código obtido do MSIL para código de máquina. Desse modo o CLR, runtime do framework, carregará o código intermediário e obterá o código executável através do compilador instantâneo conhecido como Just-In-Time (JIT).
 
Caberá também ao compilador gerar metadados, os quais contém informações adicionais que serão utilizadas em seguida para execução do programa. Estes, juntamente com o código intermediário, serão armazenados, mas não serão diretamente executáveis. Para isso, será necessário converter o código obtido do MSIL para código de máquina. Desse modo o CLR, runtime do framework, carregará o código intermediário e obterá o código executável através do compilador instantâneo conhecido como Just-In-Time (JIT).
  
== Independente de máquina ==
+
'''Independente de máquina'''
  
 
Como vimos, teremos o código executável através do compilador JIT, trazendo consigo informações suficientes para execução em um determinado processador. Por esse motivo será possível obter aplicações VB.NET multiplataforma uma vez que o framework .NET atua como um intermediário para que a aplicação execute em diferentes sistemas operacionais.
 
Como vimos, teremos o código executável através do compilador JIT, trazendo consigo informações suficientes para execução em um determinado processador. Por esse motivo será possível obter aplicações VB.NET multiplataforma uma vez que o framework .NET atua como um intermediário para que a aplicação execute em diferentes sistemas operacionais.

Revision as of 13:49, 30 September 2008

Visual Basic .NET

Visual Basic

"Visual Basic 2008 é uma evolução da linguagem Visual Basic que foi projetada e produtivamente desenvolvida para aplicações seguras e orientadas a objetos. Visual Basic permite desenvolvimentos para Desktop, Web e aplicações móveis. Da mesma maneira que todas as linguagens cujo alvo são os framewoks Microsoft .NET, programas escritos em Visual Basic beneficiam por sua segurança e a interoperabilidade da linguagem."

http://msdn.microsoft.com/en-us/library/2x7h1hfk.aspx


"Visual Basic .NET (VB.NET) é uma linguagem de computador orientada a objetos que pode ser vista como uma evolução do Microsoft Visual Basic (VB) implementado no framework Microsoft .NET."

http://en.wikipedia.org/wiki/Visual_Basic_.NET


Histórico da linguagem

O Inicio de tudo: Basic.

"A linguagem Basic, que quer dizer Beginner's all purpose symbolic instruction code, ou Código de instrução simbólico de uso genérico para principiantes, foi criada em 1964 por John Kemmeny e Tom Kurtz, dois professores universitários americanos Querendo tornar o computador mais acessível aos estudantes, construíram um código com palavras de uso comum em inglês. Surgiu assim o método interativo. Isso significa que o computador responde direta e imediatamente às perguntas do usuário, assim como uma pessoa que conversa com outra. Dois funcionários da empresa MITS, Bill Gates e Paul Allen, incrementaram o Basic, que passou a fazer parte do conjunto do micro, ou seja, era só ligar na tomada e usar."

http://super.abril.com.br/superarquivo/1989/conteudo_111537.shtml


Evoluindo: Visual Basic.

Quando o Windows se tornou padrão, pensava-se que a programação para este ambiente só seria possível com linguagens como C, sendo impossível alguma pessoa com pouca experiência fazer um programa por mais simples que fosse. A solução encontrada para essa questão surgiu em 1991, quando a Microsoft lançou o VISUAL BASIC, como um novo BASIC, não mais aquele confuso, mas um estruturado e bem mais poderoso com a combinação de recursos já existentes na linguagem BASIC com ferramentas de projeto visual introduz simplicidade e facilidade de uso, sem sacrifícios de desempenho ou das características gráficas que fazem do Windows um ambiente agradável. Tornou-se a linguagem mais utilizada em todo o mundo, sendo considerada uma das causas do sucesso do Windows.

O Visual Basic introduziu uma estratégia radicalmente nova de programação. O fato é que, com o passar do tempo, escrever programas passou a ser cada vez mais difícil, especialmente programas que exigem interface gráfica. Entretanto, alguns programadores perceberam que muitas coisas que eram difíceis de ser feitas, como construir janelas, menus ou botões, podiam ser feitas sempre da mesma forma. Estes programadores, que já tinham o hábito de colecionar sub-rotinas de utilização geral, passaram a encapsular algumas destas rotinas em uma espécie de "objeto" pronto para ser usado. A idéia final, que deu origem ao Visual Basic, foi a percepção de que vários destes objetos podiam simplesmente ser desenhados na tela como se desenha um retângulo ou outra figura qualquer.

Os comandos usados no Visual Basic são basicamente os mesmos usados no BASIC, com a diferença de que foram ampliados para satisfazer os necessidades de uma aplicação voltada para Ambientes Gráficos.

http://www.infotem.hpg.ig.com.br/lin_progr_vb.htm


Contribuições para a criação e o desenvolvimento da linguagem

Inicialmente temos John Kemmeny e Tom Kurtz, professores americanos criadores do Basic, linguagem que deu origem ao atual Visual Basic .NET. Bill Gates e Paul Allen também possuem grande importância. O 'Visual Basic' é uma linguagem programação que foi produzida pela empresa Microsoft, e de igual maneira é parte integrante do pacote Microsoft Visual Studio. Sua versão mais recente faz parte do pacote Visual Studio .NET, voltada para aplicações .Net. Sua versão anterior fez parte do Microsoft Visual Studio 6.0, ainda muito utilizado atualmente.


Versões e Evoluções

A Versão inicial do Visual Basic ( versão 1.0 ) lançado em 1991, alcançou um sucesso expressivo, vendendo milhares de cópias e recebendo destaque especiais da maioria das revistas técnicas de informática. Em outubro de 1992 veio a versão 2.0, trazendo novas e poderosas características. A versão 3.0 veio logo depois transformando-se num programa amadurecido, com muitas ferramentas poderosas de programação, a versão 3.0 ( ultima versão orientada a evento ) tinha como principais características:

     Melhor desempenho.
     Ferramentas para criação de bancos de dados.
     Acesso visual aos dados com um controle de dados, de forma que se possa criar aplicativos de pesquisas e varreduras de dados sem necessidade de codificação.
     Um conjunto de caixas de diálogo para suportar os requisitos mais comuns de informação.
     Habilidade para criar menus sobrepostos em qualquer lugar nos aplicativo


Depois de algum tempo surgiu a versão 4.0, tinha como principal característica a primeira versão do Visual Basic orientada a Objeto (até a versão 3.0 ele era orientado a Eventos). Em Janeiro de 1996 foi anunciada a versão 5.0. E na versão 6.0 notamos uma ajuda aos desenvolvedores para criar facilmente soluções de negócios e soluções baseadas na Web.. Com as edições Learning, Professional e Enterprise, o Visual Basic 6.0 atende às necessidades de qualquer desenvolvedor.

http://www.infotem.hpg.ig.com.br/lin_progr_vb.htm


Plataforma .NET:

A plataforma Dot Net veio com uma visão mais ampla na parte de programção e disponibilização dos códigos, ela aborda tanto PCs, como também PDAs, Telefones Celulares, etc....Com a nova extrutura de montagem de arquivos, os códigos agora são pré-compilados em MSIL (Microsoft Intermediate Language) e compilados em tempo de execução pela CLR (Commom Language Runtime). Uma importante capacidade desta arquitetura é a de interagir com navegadores HTML comuns. Dentre suas várias vantagens, destacamos também a produtividade, quando comparado a qualquer outra ferramenta do mercado. Ele torna o desenvolvimento de aplicativos baseados em Web tão simples como o desenvolvimento de aplicativos em Visual Basic. O programador não tem sequer que conhecer HTML ou scripts de cliente(usualmente JScritp) para criar aplicativos sofisticados

http://forum.imasters.uol.com.br/index.php?showtopic=22277


VB .NET 2001:

O Visual Basic.NET só veio a surgir de fato, na sua primeira versão, após o Visual Basic 6.0 em 2001. Mais do que acrescentar alguns recursos ao Visual Basic 6.0 a Microsoft reestruturou completamente o VB com o objetivo de tornar a tarefa de escrever e distribuir aplicações para a WEB ou para sistemas com n-camadas muito mais fácil e simples. O Visual Basic.NET veio com dois novos pacotes para formulários : Windows Forms e Web Forms, uma nova versão da ADO para acesso a fonte de dados desconectadas além de novas características que abrem novas portas para quem utiliza o Visual Basic como ferramenta de desenvolvimento.


VB .NET 2002:

A versão do VB .NET 2002, foi completamente reformulada para suportar CLR. Além de um modelo de compilação totalmente novo, o CLR oferece melhor gerenciamento de memória, um ambiente orientado a objetos e segurança de tipo. Um dos principais recursos do CLR é o coletor de lixo (GC). No ambiente runtime gerenciado, o heap do GC é responsável pelo gerenciamento de todos os objetos.

VB .NET 2005:

Na versão VB .NET 2005 tivemos algumas novidades. Partial types é um recurso adicionado na síntaxe da orientação a objetos que permite uma utilização bem mais ampla do famoso code-behind que já estavamos acostumados a utilizar em ASP 3. A palavra Partial pode ser adicionada a uma classe, permitindo que o código da classe seja dividido em duas partes. Assim sendo, se temos uma classe grande, podemos dividi-la em vários arquivos utilizando a palavra partial. No momento da compilação o compilador vai juntar tudo e interpretar como uma única classe. Níveis de Acesso Mistos é um recurso que faltou no VB.NET 2003 e agora está sendo trazido de volta (sim, de volta, pois VB 6 tinha). Digamos que vamos criar uma propriedade com valor calculado, INSS, por exemplo. Desejaremos que esta propriedade seja somente de leitura. Mas internamente pode ser útil que seja possível a escrita na propriedade INSS, para permitir a realização de cálculos. Neste caso o GET e o SET da propriedade passam a ter visibilidades distintas : Enquanto o GET é público, o SET é privado ou protected. O Blogo usign se assemelha muito ao bloco try/finally, mas com uma síntaxe mais enxuta. Através do bloco using podemos definir variáveis que serão usadas em um pequeno trecho de código e que depois serão eliminadas, sendo chamado o dispose nos casos em que o objeto implementar a interface Idisposable.


VB .NET 2008:

A última versão do VB (VB .NET 2008) traz melhorias e novos recursos para os programadores VB. Isso inclui melhorias no .NET Framework e no IDE e mudanças na linguagem VB em si. As melhorias na linguagem VB que mais interessam aos programadores incluem "query comprehensions", que são muito parecidas com a consulta SQL no que diz respeito à sintaxe e são usadas para retornar um conjunto de dados de diversas origens, como XML e coleções, e suporte a LINQ, tipos anônimos, expressões lambda e métodos de extensão.


Outras Versoes:

Além dessas, tivemos também como versões o Visual Basic 2003, Visual Basic 2005. Não foram feitas maiores explicações sobre melhorias das versões por serem consideradas muito técnicas e, portanto, fora do escopo de uma pesquisa com o intuito de informar iniciantes a respeito da linguagem.


Aplicações desenvolvidas em VB .NET

A página a seguir foi desenvolvida em em VB.NET: www.macoratti.net.


"O software responsável pelo registo dos cidadãos será o PA-PE (Posto de Atendimento - Posto de Emissão). O PA-PE é uma aplicação desenvolvida em VB.NET e foi concebida para funcionar em rede, a mesma só funciona se estiver numa rede de no mínimo dois computadores e os mesmos têm de pertencer ao mesmo workgroup."

Fonte: http://www.tiangola.com/portal/inicio/noticias/98-governo-e-tecnologia/61-tecnologia-em-prol-do-processo-eleitoral-em-angola

Características da linguagem

Linguagem compilada

Visual basic é uma linguagem compilada e bem como o VB.NET tem seu código parcialmente compilado ao passo que o mesmo é escrito. Para entender como funciona a execução do código na linguagem VB.NET, podemos verificar passo a passo de que modo isso funciona no Framework .NET, desde o código escrito até o momento de execução do mesmo. No momento da compilação, o compilador não transforma diretamente o código analisado em código binário, como acontece quando cria-se um aplicativo em Visual Basic, por exemplo. Há nesse ponto uma grande diferença aos métodos tradicionais, uma vez que no .NET Framework haverá uma linguagem intermediária, conhecida como Microsoft Intermediate Languaje (MSIL), para a qual é convertido o código-fonte. O código intermediário então gerado trará um conjunto de instruções independentes do sistema operacional bem como informações importantes à execução: manipulação de objetos, acesso á memória, etc., possibilitando programas seguros e multiplataforma. Caberá também ao compilador gerar metadados, os quais contém informações adicionais que serão utilizadas em seguida para execução do programa. Estes, juntamente com o código intermediário, serão armazenados, mas não serão diretamente executáveis. Para isso, será necessário converter o código obtido do MSIL para código de máquina. Desse modo o CLR, runtime do framework, carregará o código intermediário e obterá o código executável através do compilador instantâneo conhecido como Just-In-Time (JIT).

Independente de máquina

Como vimos, teremos o código executável através do compilador JIT, trazendo consigo informações suficientes para execução em um determinado processador. Por esse motivo será possível obter aplicações VB.NET multiplataforma uma vez que o framework .NET atua como um intermediário para que a aplicação execute em diferentes sistemas operacionais.

Requisitos mínimos

Cabe ao Common Language Runtime (CLR) facilitar a distribuição e instalação de aplicações. É o CLR quem coordena a execução do código e possui as DDLs das APIs do Windows e arquivos runtime do VB. Tarefas antes atribuídas ao programador, serão agora implementadas no ambiente de execução, fazendo, desse modo, com que não se dependa de bibliotecas externas.


Sintaxe: principais elementos e estruturas da linguagem:

Instruções Condicionais:

If ... Then ... Else

  If (condicao #1) Then
     [codigo #1]
  End If

ou

  If (condicao #1) Then
     [codigo #1]
  Else
     [codigo #2]
  End If

Aninhando instruções:

  If (condicao #1) Then
     [codigo #1]
  Else
     If (condicao #2) Then
        [codigo #2]
     End If
  End If

Iif

  Iif ( (condição #1),
      [código se a condicao for verdadeira],
      [código se a condicao for falsa])

Select Case

  Select Case (expressao #1) 
       Case (condicao #1)
            [codigo #1]
       Case [condicao #2)
            [codigo #2]
       ...
       Case Else
            [código #3]
  End Select

- expressão #1: é a variável ou expressão que esta sendo comparada.

- condicao #n: é a condição lógica a ser avaliada.

- Case Else: executa o bloco de código associado se nenhuma condição anterior for verdadeira.

Instruções de Repetição:

For ... Next

  For <contador = valorinicial > To <valorfinal> [step]
     [código #1]
  Next [contador] 

Ex:

  For x=1 To 100 step 2
     x = x+10
     If x > 68 then
          exit for
     End If
  Next

- contador : variável númerica que controla o número de vezes que o código será executado.

- step: especifica o valor de incremento do contador.O valor padrão é de uma unidade.

- Exit For - interrompe a execução do laço

For Each/Next

O laço For Each...Next é idêntico ao laço For...Next mas executa o bloco de código para cada elemento em uma coleção , ou invés de executar um determinado número de vezes.

  For Each elemento In coleção
     '[código a ser executado para cada valor do elemento]
  Next [elemento]

While ... End While

  While <expressão booleana>
     [código #1]
  End While

Do ... Loop

  Do {While | Until} <condicao>
     [bloco de código]
     [Exit Do]
  Loop 

Exit Do - interrompe a execução do laço.

  Do While <condição >
     [código]
  Loop 

Faça enquanto a condição for verdadeira.

  Do Until <condição >
    [código]
  Loop

Faça até que a condição seja verdadeira.

A condição de saída também pode aparecer no final do laço

  Do
     [Código #1]
  Loop Until <condição #1>


Variáveis

Declaração

  Dim |nomeVariavel| as |Tipo|

Escopo

- Public: As variáveis são visíveis por toda a aplicação.

- Private: As variáveis são visíveis dentro do módulo ou classe onde foram declaradas.

- Shared: Estática, compartilhada por todos os objetos do respectivo módulo ou classe.


Funções

Declaração

- Sem tipo de retorno:

  Sub NomedaSubRotina (parametro1 As TipodoParametro1, Parametro2 As TipodoParametro1, ...)
     ' O código da função
  End Sub 

- Com tipo de retorno:

  Sub NomedaFunçõa (parametro1 As TipodoParametro1, Parametro2 As TipodoParametro1, ...) as Tipo
     ' O código da função
     Return ValordeRetorno
  End Sub

Passagem de parâmetros

ByRef: passagem por referência ByVal: passagem por valor

  Sub Main()
     Dim Numero As Integer = 100
     Console.WriteLine("Valor de 'Numero' ANTES de chamar a sub-rotina: " & Numero)
     Console.Read()
     MudaValorParametro(Numero)
     Console.WriteLine("Valor de 'Numero' DEPOIS de chamar a sub-rotina: " & Numero)
     Console.Read()
     NaoMudaValorParametro(Numero)
     Console.Writeline("Valor de 'Numero' nao foi alterado: "& Numero)
  End Sub 
  Sub MudaValorParametro(ByRef valor As Integer)
     valor = 1000
  End Sub 
  Sub NaoMudaValorParametro(ByVal valor As Integer)
     valor = 50
  End Sub

Escopo

- Public: A rotina pode ser chamada de qualquer parte de sua aplicação. É o padrão quando não se informa nada.

- Private: A rotina pode ser chamada somente por outra rotina dentro do mesmo módulo ou classe onde esta definida.

Classes

Declaração

  Class Aluno
  ...
  End Class 

Ex:

  Public Class Aluno
     Dim notaExame As Double = 7.8
     Dim materiaExame As String = "Inglês"
     Public Sub MostraNota()
        System.Console.WriteLine(notaExame)
     End Sub
  End Class 

Declarando e instanciando objetos

- declarar uma variável objeto do tipo Aluno :

  Dim objAluno As Aluno

- instanciar o objeto com a palavra-chave 'New' :

  objAluno = New Aluno / Dim objAluno2 as New Aluno()


Suporte a Banco de Dados (ADO .NET)

ADO .NET (ActiveX Data Objects): conjunto de classes definidas pelo framework .NET utilizados para acessar dados armazenados em banco de dados. Os recursos de acesso a dados do ADO .NET estão presentes no namespace System.Data.

  • System.Data - contém as classes fundamentais para gerenciar dados como DataSet e DataRelation
  • System.Data.Common - Possui classes bases que são herdadas por outras classes.
  • System.Data.OleDb - Possui classes usadas para realizar conexão com o provedor OLE DB.
  • System.Data.SqlClient - Possui classes para conexão com um banco de dados SQL Server via interface TDS (Tabular Data Stream)
  • System.Data.SqlTypes - inclui tipos adicionais de dados que não são fornecidos pelo .NET.


Acesso a dispositivos externos (impressoras, scanners, etc) (FALTANDO)

Impressão

Pode ser feita através das classes disponíveis em System.Drawing.Printing


Interação com outras linguagens

A plataforma .NET fornece um alto nível de interoperabilidade entre linguagens. Os programas escritos em diferentes linguagens .NET são todos compilados em MSIL - as partes diferentes podem ser combinadas para criar um programa unificado. O MSIL permite que a plataforma .NET seja "independente" de linguagem, pois os programas .NET não estão vinculados a uma linguagem específica. Qualquer linguagem que possa ser compilada em MSIL é chamada de 'linguagem compatível com .NET'. Eis a lista de algumas das linguagens atuais que suportam a plataforma .NET:

  • C#
  • COBOL
  • Fortran
  • Java
  • Pascal
  • Perl
  • Python
  • Smalltalk
  • Visual Basic .NET
  • Visual C++ .NET


Formas de auxílio à Documentação

No VB.NET as principais formas de gerar documentação são utilizando o Visual Studio, VBCommenter e o NDoc.

O visual Studio 2003 possibilita a documentação de Projetos a partir da utilização da ferramenta VBCommeter. Ela é responsável por gerar o arquivo XML com os dados que mesclamos junto com o código para gerar a documentação. Esta ferramenta não está incluída no Visual Studio .NET.

O Visual Studio 2005 oferece ao desenvolvedor a possibilidade de gerar código XML ( que pode ser convertido em arquivos de documentação ) sem a necessidade de programas auxiliares. É possível realizar toda a documentação de um Projeto utilizando apenas a ferramenta nativa NDOC. Essa ferramenta gera a documentação em um formato pré-definido. Podemos gerar em formato do MSDN ou um próprio HELP, como os padrões do Windows.

Atualmente, no Visual Basic 2008 é possível gerar documentação das Classes de um Projeto através de uma ferramenta que a Microsoft está trabalhando conhecida com SandCastle. O processo constitui basicamente da extração de comentários XML do código e geração dos arquivos de documentação já no formato MSDN. Para tanto, é necessário que sejam estabelecidos padrões que devem ser seguidos ao longo do Projeto tais como comentários das classes, métodos e propriedades. Conhecimentos básicos são exigidos por parte dos usuários. Por exemplo, para comentar um código em VB que seja reconhecido como documentação XML deve-se utilizar três aspas simples ao invés do comentário "convencional" que é feito com somente uma aspa simples. A partir daí o Visual Studio ( com uma pequena configuração ) fica responsável pela exportação dos comentários em formato XML e o SandClastle completa o trabalho da documentação, transformando esses arquivos XML em um formato de documento help padrão CHM, por exemplo.

Suporte à Aplicações Desktop

Os aplicativos Desktop do VB.NET são chamados Aplicativos Windows Forms. Um aplicativo Windows Forms se baseia nas classes do namespace System.Windows.Forms.Usando um ambiente de desenvolvimento como o Visual Studio, você pode criar aplicativos Windows Forms que exibem informações, solicitam entradas de usuários e se comunicam com computadores remotos pela rede. No Windows Forms, um formulário é uma superfície visual na qual são exibidas informações para o usuário. Normalmente, os aplicativos do Windows Forms são criados pela inserção de controles em formulários e pelo desenvolvimento de respostas a ações do usuário, como cliques do mouse ou pressionamentos de teclas. Um controle é um elemento discreto de interface do usuário que exibe dados ou aceita a entrada de dados. Quando um usuário executa alguma ação em seu formulário ou em um de seus controles, gera um evento.O seu aplicativo reage a esses eventos usando código e os processa quando eles acontecem , bem parecido com uma Aplicação Swing em Java.


Suporte à Aplicações Web (FALTANDO)

  • item 8


Controles Personalizados

É tão fácil criar um Controle Personalizado como criar uma classe. Você simplesmente utiliza a herança para herdar de um controle já existente e adiciona as características desejadas ao seu controle. Além disto você pode também criar uma classe de controle customizado como parte do projeto existente e então mais tarde colocá-la em uma assembly separado que pode ser compartilhado com outros programadores.

Podemos fazer distinção entre três tipos de Controles Personalizados :

Controles de Usuários - Users Controls : São os tipos mais simples de controles. Eles herdam da classe System.Windows.Forms.UserControl e seguem o modelo da composição.

Controles Herdados - Inherited Controls : São controles com mais recursos. Você escolhe um controle que mais se aproxima de suas características e então deriva uma classe personalizada que sobrescreve ou inclui propriedades e métodos, como se você estivesse trabalhando com Classes e usasse Herança.

Controles Criados - São controles criados usando as rotinas da GDI+ e que geram toda a interface com o usuário; geralmente tendem a herdar da classe System.Windows.Forms.Control.

Pode-se verificar como fazer um Controle Personalizado no Visual Studio no tutorial na seção de Referências.


IDE's (FALTANDO)

  • item 9


Padronização da Linguagem (ANSI/ISO) (FALTANDO)

  • item 10


Referencias