Pular para o conteúdo principal

O .NET Framework porque usa-lo?

Para quem programa em VBA, em bora a Autodesk tenha informado que o VBA será descontinuado desde a versão 2009 o suporte a versão 2013 já foi lançado através de um pacote específico que pode ser baixado no site do AutoCAD.

A Autodesk entende que existem muitas empresas que ainda utilizando VBA em suas aplicações (até mesmo aplicações comercias!!!) e por isso o suporte permanece e eu particularmente acredito que isso ainda vai durar por pelo menos até 2015, mais isso é uma expectativa minha  minha nada impede de que esta seja a ultima versão com suporte ao VBA,  entrando existem algumas de mudar para o .NET.


A primeira delas é que invariavelmente isso vai ser descontinuado mais cedo ou mais tarde, a Autodesk está dando tempo para que você, velho desenvolvedor cabeça dura, mude toda o seu programa para .NET.

A segunda vantagem é a segurança do código: no VBA tradicional quando você quer enviar a aplicação para um cliente para alguém utilizar o código vai junto o máximo que você pode fazer é protege-lo com uma senha (exitem outros mecanismos também mas o principal é a senha) que pode ser quebrado. Eu nunca adentrei por essa questão do envio do código mas de qualquer forma é complicado isso e tem essa questão da fragilidade do acesso a quilo que você perdeu tempo desenvolvendo. Vamos imaginar um programa que sobe em cima do AutoCAD como o pró-eletrica ou metálicas. Estes softwares se desenvolvidos em VBA o código é enviado junto com a aplicação cada vez que se vende uma cópia do programa o que é bem perigoso.

Uma das maneira encontradas para resolver isso é criar um DLL externa ou um programa externo que roda e consegue fazer a parte de análise dos dados fora o que é mais um complicado a final você criou um conector do seu programa para o AutoCAD pelo Windows. Certamente vai dar pau em algum momento, dois processos assíncronos se comunicando...

A terceira vantagem é a maior integrabilidade com outros aplicativos dentro do windows. O VBA peca por dois motivos: (i) só permite uma linguagem de programação o Visual Basic e (ii) faz parte do aplicativo e ponto final. O VBA fica tão ligado com a aplicação mãe que é difícil integra-lo com outros serviços mais avançados do Windows. Quando o Microsoft definiu a primeira grande mudança da interface visual do Windows para o XAML muita coisa iria mudar em termos de programação e as estruturas antigas  iriam ficar incompatíveis de alguma maneira e para se integrar com esses novos requisitos uma nova maneira seria necessária que o VBA não seria capaz de comportar.

Através do .NET Framework é possível acessar todo o windows e todas as aplicações instaladas, alterar o registro solicitar permissão de acesso e muitas outras que o VBA não permitia e dava sempre aquele ar de aplicação brasileira tipo house made ...

A quarta vantagem é o uso do Visual Studio. Quem faz aplicações para Windows sabe como o Visual Studio é uma plataforma bem completa para desenvolvimento de aplicações e sua robustez é louvável. Eu realmente acredito que hoje é a melhor plataforma que eu utilizo para desenvolvimento seguida do Eclipse e do Qt Creator da Nokia. O VS 2012 possui bons recursos de compilação e depuração de código auxiliando também em critérios de programação e controle de desenvolvimento via servidor (Team Project), que naturalmente o VBA não tem por definição embora algumas iniciativas tenham sido feitas e possam ainda ser encontradas pela internet.

A quinta  e ultima vantagem é a multilinguagem o VBA só permitia suporte a linguagem Visual Basic que é algo bem diferente do C# e C++ que são tradicionais em programas de alto nível e agora com o .NET é possível utilizar qualquer linguagem para criar sua aplicação.


O que é o .NET Framework em si?

Como eu disse acima o Microsoft .NET é uma iniciativa da Microsoft em que para uma plataforma única para desenvolvimento e execução de sistemas e aplicações que reúne tudo no windows.

Dessa forma qualquer código gerado para .NET, pode ser executado em qualquer dispositivo (por exemplo um tablet com windows 8). Isso é bem parecido com o  Java, o programador deixa de escrever código para um sistema ou dispositivo específico, e passa a escrever para a plataforma .NET.

A plataforma .NET, é executada sobre uma CLR (Common Language Runtime), Ambiente de Execução Independente de Linguagem, interagindo com uma Coleção de Bibliotecas Unificadas, que juntas são o próprio framework. Esta CLR é capaz de executar mais de vinte diferentes linguagens de programação (segundo a Microsoft eu só testei as quatro mais básicas C#, C++, VB  e esse tal do F#), interagindo entre si como se fossem uma única linguagem.

Estas são:

  • APL ; 
  • Boo ; 
  • Fortran ; 
  • Pascal ; 
  • C++ ; 
  • Haskell ; 
  • Perl ; 
  • C# ; 
  • Java ; 
  • Python ; 
  • COBOL ; 
  • Microsoft JScript® ; 
  • RPG ; 
  • Component Pascal ; 
  • Mercury; 
  • Scheme; 
  • Curriculum ; 
  • Mondrian ; 
  • SmallTalk ; 
  • Eiffel ; 
  • Oberon ; 
  • Standard ML ; 
  • Forth ; 
  • Oz ; 
  • Microsoft Visual Basic® ; 
  • Delphi ; 
  • J# ; 
  • Ruby ; 
  • Lua .

A plataforma .NET se baseia em um dos princípios utilizados na tecnologia Java (compiladores JIT), os programas desenvolvidos para ela são duplo-compilados, ou seja são compilados duas vezes, uma na distribuição e outra na execução.

Um programa é escrito em qualquer das mais de vinte linguagens de programação disponível para a plataforma, o código fonte gerado pelo programador é então compilado pela linguagem escolhida gerando um código intermediário em uma linguagem chamada  MSIL (Microsoft Intermediate Language) que depois gera um "Assembly" que muda com o tipo de projeto:
  • EXE - Arquivos Executáveis, Programas
  • DLL - Biblioteca de Funções
  • ASPX - Página Web
  • ASMX - Web Service
No momento da execução do programa ele é novamente compilado, desta vez pelo JIT (Just In Time Compiler), de acordo com a utilização do programa. Isso permite subir uma DLL num aplicativo próprio (como o AutoCAD) e depurar o código da DLL!

No próximo post vou começar a colocar código mesmo!

Comentários

Postagens mais visitadas deste blog

Numeração Automática no AutoCAD

Sem dúvida esse é uma ferramenta única que fazia falta a tempos e foi introduzida recentemente no AutoCAD, na última década… Em 2013 tinha feito um programa para criar uma bolinhas de numeração automática usando o conceito de Leader eu fazia um controle dos números dos itens na mão mesmo, depois de um tempo resolvi fazer um menuzinho para controlar o conteúdo do número dos bullets, hoje isso não é mais necessário, existe um comando no próprio AutoCAD para isso e faz parte das Ferramentas Expressas do AutoCAD. Gosto de compartilhar ferramentas e dicas que tendem a ser menos conhecidas ou subutilizadas, mas ainda podem fornecer um impulso para sua produtividade e fluxo de trabalho e que eu mesmo me surpreendi quando as encontrei Hoje, quero apresentar outra ferramenta, a numeração automática. Como o nome indica, o comando Numeração automática permite que você adicione automaticamente um número às etiquetas ou texto em um desenho. Vou mostrar como a numeração automática pode ser usada par

Alterar a cor de fundo do AutoCAD

Eu sou um adepto do fundo preto, tudo que eu posso mudo a cor do fundo para preto. Nas ultimas versões do AutoCAD tenho notado que não é mais o padrão o fundo preto absoluto, é um cinza escuro. As vezes gosto também de mudar a cor do Layout de branco para preto afinal de contas quando trabalhamos com penas e contraste no model space preto, ver um desenho no layout é impossível.  Você pode mudar sua cor de fundo do AutoCAD para a cor que quiser. Definindo cores personalizadas Primeiro, vá para o menu Opções (botão Aplicativo> Opções), selecione a guia Exibição e clique no botão Cores. Agora você deve ver a caixa de diálogo Cores da janela de desenho: Agora você pode atualizar as cores de qualquer elemento da interface. Isso incluí o plano de fundo em qualquer contexto (selecione Model e Layout). Você pode escolher qualquer uma das predefinições, ou você pode escolher a partir de todo o espectro (basta escolher a opção Selecionar Cor ...). Se você não gosta ai

Trabalhando mais rápido utilizando Express Tools

Se você não está usando o AutoCAD Express Tools, está perdendo tempo. O Express Tools é uma coleção de pequenas ferramentas de aprimoramento de produtividade que são instaladas com o AutoCAD. Eles são criadas usando as APIs do AutoCAD, como o AutoLISP, e, portanto, não estão disponíveis no AutoCAD LT também (aquela versão baratinha do AutoCAD). Aqui algumas possibilidades do Express Tools Nossa jornada começa com a barra de menus do estilo antigo. Ative-o com o comando MENUBAR e no estado 1. Clique em Express no lado direito e ele será expandido para mostrar mais de 10 categorias de ferramentas. Ainda fui mais longe e nos submenus consegui contar mais de 60 outros comandos. Ferramentas para blocos Existe dentro do Express Tools ferramentas específicas para blocos. vamos a algumas: Copy Nernest Objects - com essa ferramente você pode copiar objetos de dentro de um bloco para fora sem precisar explodir o bloco. Export Atribute Information - Você pode ain