Criando mini “navegadores” específicos

Por:

Dentro de um programa pode ser exibida uma página HTML. Isso é útil para as seções de ajuda personalizada, por exemplo… Em vez de usar arquivos de texto, ou o formato de ajuda suportado pelo sistema (como os arquivos “.chm” ou “.hlp” do Windows), você cria sua própria interface de navegação. Isso tem de bom que o programa fica com a sua cara 🙂 E o melhor, pode visualizar páginas on ou off line, ou seja: tem-se um navegador.

A criação de um navegador do zero é algo muito complexo, existem muitas e muitas coisas a serem vistas, normalmente deve-se dedicar muito tempo e uma grande equipe, para montar um navegador de respeito. Você teria que bolar um jeito de ler as páginas HTML, montar as páginas na tela, executar os scripts, implantar recursos que suportem plug-ins (como flash, por exemplo), sem falar na parte da comunicação com os servidores da Internet, criptografia, gerenciamento de cookies… Para casos assim você pode “pegar emprestado” o componente de visualização HTML e navegação de um navegador já existente (caso eles forneçam esse recurso), o que vem a ser o caso do Internet Explorer e do Mozilla (não necessariamente o Firefox, mas também o Mozilla, antigo Netscape, e seus derivados, como o SeaMonkey, K-Meleon e diversos outros, que usam o Gecko, o motor do navegador).

No Windows, a forma mais prática para fazer isso é usar o controle Active-X desses navegadores. O do IE já vem com todo Windows mesmo, e o do Mozilla pode ser baixado e instalado de graça. Um controle Active-X é um componente que pode ser usado por outros programas. Ele possui código próprio, mas já está compilado, você não tem acesso ao código fonte (a menos que seja open source, como o Mozilla). Basicamente um controle Active-X pode ser visto como um programa, que roda dentro de outro programa, mas que normalmente não pode ser executado diretamente pelo usuário. Inserindo um controle Active-X num programa, o programa o chamará quando for aberto. Esse controle deverá´, então, estar previamente instalado no sistema onde o programa for rodar. No caso de um navegador usando o motor do IE, não há problema, pois o Windows 98 ou superior já vem com o IE instalado de fábrica. Sê você optar por usar o controle do Mozilla (veremos os dois), deverá fornecer ele junto com sua aplicação, e registrar um arquivo (também veremos isso).

A manipulação do controle Active-X depende de você, como programador. Apenas por inseri-lo no programa, ele fica lá, normalmente não faz nada. Você deverá chamar métodos e funções que ele reconheça. O conjunto desses métodos, que são pré-determinados durante o desenvolvimento dele, é chamado de API: “Application Programing Interface”. Seria “Interface de Programação de Aplicações”. Por exemplo, para abrir uma página, supomos que o método fosse:

navegador.Abre(‘http://www.qualquersite.com.etc’)

Você deverá então, em algum lugar do seu código, fazer essa chamada. Este tutorial mostrará como fazer isso no ambiente Borland Delphi, mas não terá muita coisa diferente em outros ambientes visuais – exceto a linguagem, claro. A API dos controles Active-X serão as mesmas, independentemente de você estar no Delphi, Visual C++ ou outro gerador de programas qualquer, para Windows. Para facilitar ainda mais, o pessoal desenvolveu o controle Active-X do Mozilla pensando em substituir o do IE, em muitas aplicações. As funções têm os mesmos nomes, com pouca edição de código, você pode facilmente trocar o programa para usara o IE ou o Mozilla. Como o IE já vem com o Windows, veremos ele primeiro, e depois o do Mozilla.

Mas antes, espere um pouco… “Criar” um navegador dessa forma não quer dizer que você seja o dono total dele. Afinal, a parte “principal” não foi você quem criou, ao usar um controle Active-X. Você não pode, por exemplo, pegar o núcleo do IE e redistribuir com seu programa (mas pode com o do Mozilla, que é aberto). A vantagem do IE é já estar presente no Windows. Você cria basicamente a interface, e claro, é tão importante quando o “coração”: sem ela, os usuários finais não poderão usar o programa. O próprio IE mesmo, o “coração” é instalado no Windows e fica compartilhado com outros programas, e o “iexplore.exe” é meramente uma interface. Falando nisso, tenho trabalhado em uma leve interface para ele, com abas, mas ficando muito mais leve que o IE7, e ainda com a vantagem de rodar em versões antigas do Windows também. Agora, não pense você que dessa forma estará “construindo” um navegador. Manter um Firefox da vida não é fácil, você deverá estar atualizando constantemente o projeto, verificar brechas de segurança, atualizá-lo com novos recursos de vez em quando… O objetivo deste texto não será mostrar como criar um navegador completo, com suporte a impressão, opções avançadas, leitor de RSS, gerenciador de favoritos… Apesar de ser relativamente fácil você ir acrescentando recursos depois, conforme for pegando intimidade com o controle usado – e lendo, lendo e estudando muito. Ao mesmo tempo, vou mostrar como criar um navegador simples, mas funcional: com barra de endereços, botões voltar, avançar, etc.

Antes de iniciar este projeto, recomendo ler uma parte de um outro tutorial onde passo algumas noções do ambiente Borland Delphi em si, essenciais para que você possa iniciar um programa nele. Você pode usar outros ambientes de programação visual para Windows, irá variar um pouco mas a base é a mesma (claro, desconsiderando-se particularidades dos ambientes e a linguagem de programação utilizada). Se você não tem noções de programação ainda, poderá ter idéia de como é. Veja em:

https://www.hardware.com.br/tutoriais/personaliando-mep-texto/revendo-conceitos-basicos-ide-borland-delphi.html (leia só essa página e volte para cá)

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X