Criando um navegador avançado usando Gecko - Parte 1

Breve introdução e preparação do ambiente para o desenvolvimento do navegador.

PHP Moderno: Criando uma aplicação com área administrativa

Todo iniciante em desenvolvimento, tem como sonho criar um navegador de Internet, Já postamos aqui como criar um navegador, porém é algo muito básico.

Por padrão o motor do Web Browser é o Trident, que está presente no Internet Explorer, como todos já sabemos, o IE é um Jovem muito problemático, por conta de seus desenvolvedores.

Não estamos menosprezando o Internet Explorer, apenas ressaltando que o Motor do mesmo deixa muito a desejar.

Gecko é o motor utilizado no Mozilla Firefox e será o mesmo utilizado em nosso projeto, ele suporta HTML 5, CSS 3, Javascript e muito mais, enquanto o Trident não nos proporciona isto.

Esta matéria terá algumas partes traduzidas para o Inglês, afim de atingir um público maior, claro, que a parte funcional será em português.

O nome do nosso navegador será Bluefox, ele terá as seguintes funcionalidades:

  • Navegar através da barra de endereço;
  • Pressionando enter na barra, ele irá acessar a página;
  • Selecionando uma URL na barra de endereço, ira acessar a página;
  • Incluir página na Home;
  • Voltar;
  •  Avançar;
  • Salvar histórico;
  • Atribuir link na barra de endereço;
  • Salvar histórico de acesso;
  • Salvar URL acessadas;
  • Outros.

Você deve fazer Download de um arquivo compactado, o mesmo contém três pastas, que são:

- imagens: contém todas as imagens que serão usadas no projeto, como, Avançar, Voltar, Home, Atualizar, Ícone e logo em PNG (todas as imagens encontradas no site findicons.com);

- Skybound: Contém dentro da pasta bin a DLL que devemos adicionar como referência;

- xulrunner: contém todas as bibliotecas, DLL e tudo mais para que o Gecko possa funcionar.

Até a criação desta matéria, não existe nenhum outro portal que explicasse a criar algo deste tipo com o Gecko, nem mesmo com os recursos que serão utilizados aqui, por este motivo foi decido criar algo inovador e inédito para nossos usuários.

Criando o projeto

Agora vamos apenas criar nosso projeto e preparar o formulário, para isto abra o Visual Studio 2013.

Clique em File (Arquivo), New (Novo), Project (Projeto).

Na janela seguinte, selecione .NET Framework 4, escolha no menu de opções a esquerda, Visual C#, Em name insira Bluefox_Browser (nome é opcional), escolha Windows Forms Application e por fim clique em OK.

Nosso projeto começa apenas com um Form vazio sem nenhuma classe adicional criada.

Agora vamos fazer as devidas configurações para o mesmo, clique no Form1 e na paleta Properties faça as seguintes alterações a baixo.

BackColor  White
Text Bluefox
Name frmBluefox
StartPosition CenterScreen
WindowState  

Na propriedade Icon, há três pontinhos, clique no mesmo, na pasta que faz o download há um arquivo .ICO, selecione o mesmo, ele será o Ícone que aparecerá na janela do Navegador (Folder Download, have icon, use here for show Title Window Browser).

Agora vamos alterar o nome do nosso formulário no Solution Explorer, para isto clique com o botão direito do Mouse sobre Form1.cs em seguida clique em Rename, insira frmBrowser, como mostrado na imagem abaixo, confirme as alterações, mas cuidado para não apagar o .cs, no total deve ficar frmBrowser.cs.

Para finalizar nosso ambiente, vamos alterar o Ícone do nosso projeto, este Ícone deverá aparecer no executável, estes Ícones devem ser com a extensão .ico.

Clique no menu Project em seguida Bluefox_Browser Properties.

Clique em Application no menu à esquerda, caso não esteja selecionado, por último procure por Icon, logo a frente deste campo, há um botão com três pontinhos, procure pelo Ícone que usamos no formulário, o mesmo que está disponível na pasta Imagem que você fez o Download, clique em Ok quando encontrar e selecionar.

Se você seguiu todos os procedimentos acima, nosso projeto já está configurado para que possamos instalar o Gecko e adicionar outros complementos.

Na próxima matéria, vamos adicionar as DLL e adicionar o Gecko ao nosso formulário.