Aplicação Web + Javascript = Aptana Studio

Delphi, Dicas Blog, Ferramentas, JavaScript, Programação maio 10th, 2011

Se você desenvolve aplicações Web, em qualquer momento queira ou não, terá que desenvolver código Javascript. Com Javascript seu site ou aplicação web se transforma e ganha recursos que normalmente só conseguíamos em aplicações desktop comuns. Códigos HTML ou XHTML puros podem ser muito bem feitos, mas, sem uma “pitada” de javascript eles não conseguem oferecer uma interface realmente boa. Javascript roda em todos os browsers (alguns cuidados são necessários).

Há muito tempo atrás, em 2001, comecei a desenvolver uma nova versão da minha aplicação principal e, queria que rodasse em Linux e Windows, comecei a desenvolver em Delphi e Kilyx; não preciso dizer que não deu muito certo. Nem a Borland deu continuidade no Kilyx (esse estava muito longe de oferecer o que era prometido; embora algumas coisas funcionassem bem).

Se tivesse o conhecimento que tenho hoje naquela época teria desenvolvido em PHP (com isso não teria perdido tanto tempo).  Mas, dominava muito mais o Delphi e parti então para o velho WebBroker (na época, novo! rsrsrs). Não posso dizer que me arrependo, pois, a aplicação aconteceu e consegui realizar todas as minhas idéias; bem, quase todas, o servidor da aplicação tem que ser Windows, pois, as regras de negócio e serviços são compiladas em Delphi; mas, não importa, porque meu cliente pode trabalhar com ela em qualquer equipamento com um Firefox, Internet Explorer ou Chrome instalados.

Os clientes gostaram de ter um sistema fácil de manter e atualizar, mas, reclamavam da interface. No sistema antigo era mais prático!. A tela não precisava ser atualizada sempre…etc. Eu já sabia desses detalhes!. Mas, tinha que convencê-los que a Web era o futuro. É, agora é, certo?.

Mas, foi então que percebi que tinha que agilizar logo as novidades para a interface, mas, na época, Web 2.0 era uma promessa e, desenvolver código javascript puro, era coisa de maluco!. Bom, eu comecei a desenvolver mesmo assim.

A maior dificuldade era que não havia um editor de código javascript amigável. Trabalhei muito tempo com o “SciTe”, ao menos ele “colorizava” o código facilitando um pouco as coisas. Mas, estava longe do “code insight” do Delphi. Tomava um bom tempo “normalizar” o código.

Foi quando descobri o Aptana, o editor de códigos perfeito para javascript; contendo: colorização, code complection e até depuração de código integrados. No começo perde-se um tempo para se adaptar, mas, em seguida, fica tudo sob controle. Vida mais fácil!.

Hoje, não importa a linguagem que vou utilizar para criar meus serviços web (Delphi, .Net, Java, Ruby, etc). As aplicações cliente (a interface) sempre são construídas com código: html, xhtml, xml e  javascript. A imaginação (e o tempo é claro) se tornam o limite.

O mundo desktop, de uns anos para cá, saiu também daquela terrível plataforma cliente x servidor para se integrar à WEB; mas, ainda fico com os códigos que me permitem rodar a aplicação no navegador web, visto que não quero ter que me preocupar em instalar programas clientes em cada máquina do meu cliente novamente. Ou, pior, ter que apelar para “terminais server” ou outras caríssimas soluções. Arghhh!.

Dica: Além do javascript o Aptana permite gerenciar, muito bem, projetos: PHP, Ruby e Rails.

Tags: , ,

Envio de E-mail com Delphi 2010, Indy 10, OpenSSL e GMail

Código-Fonte, Delphi, Open Source, Programação abril 7th, 2011

Depois de alguma horas de pesquisa, devido, dificuldades no envio de e-mail usando uma conta do GMAIL e outras; tivemos que modificar o código para usar autenticação segura. Interessante que em algumas máquinas funcionava sem o serviço de autenticação (qdo descobrir o motivo eu digo, rsrsrs). Compartilho com vocês essas informações.

Alguns erros reportados durante as falhas de envio de e-mail foram: “Must issue a STARTTLS command first” (indicando que seria necessário TLS ou, autenticação de segurança) e depois de implentado o código abaixo sem baixar a OpenSSL na máquina “Could not load SSL library”.

Modificamos então, o código para permitir o envio de e-mails usando autenticação ou não. Usando autenticação, é necessário instalar a OpenSSL  e, declarar alguns units no seu código. Na web encontrei vários artigos sobre isso, mas, a maioria com informações incompletas, agradeço mesmo assim essas informações, pois me auxiliaram a entender o que precisaria fazer e, juntando as peças (copiando e colando) montei o código abaixo.

As ferramentas e recursos de desenvolvimento utilizadas são: Delphi 2010, Indy 10 (disp. no Delphi), OpenSSL e testado com uma conta do GMAIL.

Veja o código:

Clique para continuar lendo “Envio de E-mail com Delphi 2010, Indy 10, OpenSSL e GMail”

Tags: , , ,

Firebird Developers Day – 8ª Edição

Banco de Dados, Delphi, evento, Informação, Notícias, Novidades, Open Source março 30th, 2011

Firebird Developers DayO FDD 8ª edição já tem data e local definidos; prepare a sua agenda!. Foi publicado oficialmente no site da Firebase essa semana; o evento será realizado em Piracicaba-SP (como de costume) no dia 23 de Julho de 2011. Marque aí na sua agenda.

Esse evento reúne os melhores profissionais do Brasil e que usam o Firebird; além de diversas autoridades internacionais em FB (desenvolvedores que trabalham no projeto do FB ou desenvolvem ferramentas); bem como: Dmitry Yemanov, Dmitry Kuzmenko, Vlad Khorsun (IB Surgeon); entre outros.

É uma oportunidade imperdível para ficar em dia com todos os assuntos e ferramentas para o Firebird. Além de poder comprar produtos e ferramentas com preços especiais.

Visite o site da Firebase e saiba mais:  http://www.firebase.com.br/fb/

Tags: ,

JEDI VCS – Controle de Versões

Código-Fonte, Delphi, Dicas Blog, Ferramentas, Open Source, Programação setembro 16th, 2010

Introdução

Tenho visto que muitos colegas não usam nenhum sistema de controle de versões; uns por acharem que é muito caro, outros muito difícil de implementar. Para quem usa o Delphi, por exemplo, existem algumas opções interessantes; sem nenhum custo e de fácil implementação.

Eu diria que, se vc. nunca usou um sistema de controle de versões, não sabe quanta dor de cabeça poderia ter evitado; Lembra aquele código que vc modificou, não deu certo e, quando vc. viu já era tarde para recuperar o antigo. Ou pior, seu computador deu problema (HD pifou, foi roubado, etc), backup desatualizado e dai?.

Um sistema integrado de “Controle de Versões” resolve todos esses problemas. Vou citar aqui o “JEDI VCS” cujo projeto está disponível no “sourceforge”. É muito fácil de instalar, eu uso com o meu banco de dados preferido, o Firebird.

JEDI VCS

O JediVCS versão 4.5 é a versão estável mais recente; a 2.5 está na Beta 3. Eu instalei o Jedi há alguns anos atrás e

Clique para continuar lendo “JEDI VCS – Controle de Versões”

Tags: , , ,

Delphi Conference Brasil – Resumo

Delphi, Notícias fevereiro 25th, 2010

Terminou agora há pouco a “Delphi Conference Brasil’ que foi transmitida via “live meeting” com apresentações muito interessantes; para quem não conhece e também para quem conhece mas pretende se atualizar ou e aprimorar conhecimento com novas técnicas e recursos.

  • Touch e Gestures” no Delphi (Andreano Lanusse da Embarcadero). O Delphi 2010 oferece agora suporte completo para a criação de aplicações baseadas e “toques” ou e “gestos” (aplicações estilo Iphone por exemplo).
  • “DataSnap” com exemplos (usando webservices,comparação SOAP e REST apresentado por Rodrigo Leonhardt Silva da Polishop). DataSnap com REST é uma nova tecnologia disponível no Delphi que permite acessar dados de um servidor usando JSON (JavaScript Object Notation), dispensa o uso do XML para troca de informação entre aplicações e é muito rápido e fácil de implementar no novo DataSnap do Delphi.
  • Uma apresentação do “ressuscitado” e agora muito melhor “Intraweb” e com boas perspectivas para o futuro (por Jackson Gomes da Atozed). Quem usa o Intraweb e está com idéia de refazer tudo, não deixe de conferir essa nova versão, com os novos “eventos” em AJAX ficou bem mais interessante. O Jackson nos disse que estão trabalhando numa nova versão onde estarão disponibilizando recursos para utilização de frameworks como: JQuery, YUI, Dojo, etc.
  • Boas Práticas OOP (com exemplos focados no Delphi Prism) por Adilson Jr da TDS; nessa apresentação o Adilson dá uma verdadeira aula de como trabalhar com objetos distribuídos.
  • Testes para desenvolvedor Delphi; onde o palestrante Daniel Width; deu uma visão geral dos motivos para aplicação de testes e recursos e softwares disponíveis para testes com o Delphi, exemplificando o uso do Dunit, um plugin para o Firefox algumas opções free e outras comerciais.
  • E, por ultimo, uma excelente apresentação (muito completa) de recursos do Rave Reports por Alan Glei, onde com muita paciência ele demonstrou recursos interessantes e indispensáveis para organizar e estruturar os seus relatórios com Rave;

Clique para continuar lendo “Delphi Conference Brasil – Resumo”

Tags: , , , , ,

Delphi 2010 x Firebird

Delphi, Novidades agosto 25th, 2009

Agora é realidade!. O Delphi/Rad Studio versão 2010 disponibiliza o suporte nativo para o Firebird 1.5 -> 2.1. Com isso a Embarcadero atende uma antiga solicitação dos desenvolvedores (principalmente no Brasil) que usam esse excelente banco de dados. Saiba mais…

Tags:

ACBrNFe – Componente OpenSource p/Nota Fiscal Eletrônica

Código-Fonte, Delphi, Open Source, Programação abril 22nd, 2009

Mais componente (gratuíto) para: gerar, transmitir e obter respostas do WebService da SEfAZ; o componente é disponibilizado em duas versões: ACBr_NFe_CAPICOM e ACBr_NFe_OpenSSL.

A ACBr_NFE_CAPICOM; usa as DLL da Capicom da Microsoft (para conexão) e MSXML (para assinatura e validação do XML da NFe). Limitada para uso com Delphi e Windows. Pode ser usada com certificados tipo A1 ou A3.

Clique para continuar lendo “ACBrNFe – Componente OpenSource p/Nota Fiscal Eletrônica”

Tags: , ,

Consulta CEP com Webbroker e JavaScript

Código-Fonte, Delphi, JavaScript, Novidades, Sem categoria dezembro 24th, 2008

Uma das funções mais interessantes hoje em qualquer tipo de cadastro que contenha endereço postal é a busca pelo CEP, para obter o endereço, bairro, cidade e estado; muitos desenvolvedores mantém uma base de dados do CEP local (em cada cliente) para que possa ser usada pela aplicação durante a edição dos endereços no cadastro.

O “buscarcep.com.br” é um WebService de consulta de CEP gratuíto e foi usado nesse exemplo. Esse serviço pode facilitar a vida de muita gente, já que usando o serviço, não mais será necessário manter uma base de dados do CEP local (em cada cliente).

Abaixo dou um exemplo de como implementar isso em uma aplicação WEB usando Delphi Webbroker e Javascript (para dar um toque Web 2.0 na aplicação).

Clique para continuar lendo “Consulta CEP com Webbroker e JavaScript”

Tags: , , ,

Armazenando os dados do Certificado Digital Selecionado

Código-Fonte, Delphi dezembro 22nd, 2008

Sempre que necessário assinar ou enviar dados para o serviço da NF-e; é necessário informar o nome do certificado digital; é interessante, então, armazenar esses dados de forma que sempre que houver necessidade de usar o certificado vc possa informar os dados armazenados evitando assim que tenha que selecionar o mesmo à cada comando;

Como fazer isso então? A primeira coisa a fazer é inserir uma opção de seleção do certificado na sua aplicação e nela, um evento onde após a seleção do certificado onde vc. guarda em um arquivo esses dados; veja abaixo o código que permite armazenar os dados do certificado (usando recursos da NFe_UTIL.dll):

Ex.01: Salvando dados do Certificado Digital Selecionado

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var Util:NFe_Util_Interface;
    i:integer;
    F: TextFile;
begin
  Util := CoUtil.Create;
  Try
  nomeCertificado := '';
  i:= Util.PegaNomeCertificado(nomeCertificado, msg);
 
  if i > 1 then
      MessageDlg( 'Ocorreu uma falha no acesso ao repositório de certificados digitais...'+#13+#13+msg, mtInformation, [mbOk], 0)
  else
      begin
        AssignFile(F, 'CertificadoDigital.res');
        Rewrite(F);
        Write(F,nomeCertificado);
        CloseFile(F);
      end;
  finally
     Util := nil;
  end;

Ex.02 Recuperando dados do certificado digital selecionado

1
2
3
4
5
6
7
8
9
10
11
var F: TextFile;
    nomecertificado: string;
begin
  if FileExists('CertificadoDigital.res') then
  begin
     AssignFile(F, 'CertificadoDigital.res');
     Reset(F);
     Readln(F,nomecertificado); // a variável nomecertificado vai receber os dados armazenados.
     CloseFile(F);
  end;
end;

Com isso, problema resolvido, após ler os dados do certificado na variável “nomecertificado” vc pode passar essa informação, por exemplo, para assinar o XML como abaixo (o exemplo usa uma função da NFE_UTIL.dll):

          i:= Util.Assinar(xmlNaoAssinado, 'infNFe', nomecertificado, 
               xmlAssinado, mensagem);
          // a variável "nomercertificado" já contendo os dados do certificado 
          // conforme obtido no exemplo 02.

Tags: ,

Code Rage III em Dezembro/2008

Banco de Dados, Código-Fonte, Delphi, Notícias novembro 24th, 2008

http://conferences.codegear.com/coderage08

http://conferences.codegear.com/coderage08

Entre os dias 1 e 5 de Dezembro próximo, aconteçe uma conferência virtual 100% técnica sobre programação e técnicas de banco de dados; hospedada pela Codegear Developer Network em conjunto com a Codegear Education Services. São mais de 100 horas de pura informação e tecnologia dividido em aprox 80 sessões; ministradas por experts em cada assunto. Você ainda poderá trocar informações diretas via chat com outros desenvolvedores. Com tradução para o nosso idioma.

Quem se interessar pode fazer a inscrição no site da CodeGear. Leia mais…

Tags: ,