29 junho 2009

Erro HTTP 411

Desde algum tempo atrás quando comecei a testar o Econodin no Windows, já acessando o site hospedado na internet, percebi que ocorria um erro quando acessava o sistema onde trabalho. A particularidade é que somente ocorria o erro utilizando o Firefox no Windows (o Internet Explorer não tem esse problema, e não testei outros), e somente no trabalho, no computador de minha casa funciona perfeitamente. O erro apresentado em um alert do JavaScript era "411: Length Required", e sempre ocorria quando eu acessava 2 funções JavaScript que fazem um request no servidor.

Sem idéia alguma do que poderia estar ocorrendo, fiz uma pesquisa na internet e encontrei essa pequena discussão no fórum do Mentawai: http://forum.mentaframework.org/posts/list/2271.page. Resumindo, o problema ocorre por estar acessando o sistema através de um proxy, sendo que alguns proxys necessitam que sejam passados parâmetros no request caso contrário retornam o erro 411, e no caso dessas 2 funções que estavam dando problema nenhum parâmetro erra passado.

A solução desse caso é inserir um parâmetro qualquer para o request, por exemplo,
req.addParameter("qualquercoisa", "qualquercoisa");
Pronto, isso é o bastante para resolver o problema.

Porém ainda ficou uma coisa no ar: por que o IE não apresenta esse problema? Essa resposta eu não consegui ainda.


De volta ao JQuery

Conforme postei aqui passei a utilizar o YUI no Econodin. Porém, após algum tempo desenvolvendo com Yahoo UI cheguei a conclusão de que para mim a melhor opção é mesmo o JQuery. O trabalho de portar o sistema para YUI e depois portar novamente para JQuery foi grande, porém valeu muito pela experiência e aprendizado.

O motivo que me levou a utilizar o YUI foi o que muitos consideram o grande diferencial do JQuery: a grande quantidade de plugins. Porém eu não achava esse diferencial do JQuery tão bom assim, já que essa grande quantidade acaba por confundir quem não tem experiência, e foi isso que aconteceu comigo. Comecei a utilizar vários plugins do JQuery, muitos eu realmente precisava e outros não tinha necessidade nenhuma, e isso acabou me complicando um pouco. Decidi utilizar o YUI pois ele já traz uma grande quantidade de componentes oficiais, com vasta documentação e seu estilo padrão é bem agradável, sendo que eu não precisaria mexer com CSS dos componentes.

Porém algo que não me agradava desde a primeira vez que o testei o YUI é sua complexidade e curva de aprendizado alta. Umas das coisas chatas que percebi é que a ordem das funções importam para ele, ou seja, se a função X chama a função Y então a função Y deve ficar antes da função X, caso contrário a função X não reconhece a função Y. Também não consegui para YUI nada que substituísse alguns plugins do JQuery, então tentei sanar isso utilizando os dois frameworks ao mesmo tempo, o que achei bem complexo. Com isso tudo, resolvi voltar de vez para JQuery, após ter pesquisado um pouco sobre outros frameworks JavaScript.

Algo que aprendi com esse retorno ao JQuery é que, apesar de haverem plugins para quase tudo o que se possa imaginar, algumas coisas é melhor fazer sem utilizar um plugin. Na primeira versão do sistema utilizando o JQuery eu utilizava um plugin para tabelas que funcionava bem, porém eu não estava totalmente satisfeito com ele já que o mesmo tinha várias funções que não utilizava e algumas outras que eu gostaria não estavam presentes, então desta vez procurei algum outro plugin, sem sucesso. Com isso escolhi controlar as tabelas diretamente, se a ajuda de um plugin específico e isso me deu mais flexibilidade para controlar a tabela.

Bom, continuo desenvolvendo o sistema Econodin agora utilizando JQuery de uma forma mais racional, graças a experiência de ter trocado duas vezes de fremework JavaScript.

03 junho 2009

Mudança de nome e disponibilização

Mudei o nome do sistema Controle Financeiro Pessoal para um nome mais simples. O novo nome é Econodin. Nunca achei que um nome tão grande quanto Controle Financeiro Pessoal fosse um bom nome, então dediquei algum tempo para a criação de um novo nome.

Além do novo nome outra novidade é que o sistema está disponível novamente na internet, junto com o site Perludum, ainda não numa versão final do sistema mas as funções principais do sistema estão funcionando corretamente, além de um visual novo.

Os endereços são:
Site: www.perludum.com.br

Sistema: http://econodin.appspot.com/
Aos interessados em testar e utilizar o sistema basta fazer um cadastro simples no site e começar a utiliza-lo.

Como disse acima, o sistema não está em uma versão final, faltando muito trabalho ainda para realizar melhorias e adicionar algumas outras funcionalidades básicas, como relatórios. Mas aproveitarei as férias da faculdade para adiantar esse trabalho, e assim espero que até o final de Julho de 2009 eu consiga fazer as melhorias necessárias. Mas as funções atuais estão funcionando, sendo que eu já a utilizo fazem uns 3 meses.

Nas próxima semanas eu trarei mais novidades.