MochiKit: A framework Javascript para Pythonistas

AGRADEÇA AO AUTOR COMPARTILHE!

logo-mochiOlá pessoal!

Estou com um PROINPES que tem por objetivo gerar um software de gráficos estatísticos, que siga alguns fundamentos de BI, com SVG.

Após estudar algumas bibliotecas de gráficos super-fantásticas para Python: como a Matplotlib, Pychart, SVGChart e Pycha; decidí optar por algo mais simples (até porque é um PROINPES e não um TCC) e gerei as informações em uma tabela dinâmica para a PlotKit interpretar.

A PlotKit é uma biblioteca de gráficos estatísticos em Javascript feita em MochiKit… mas, o que é MochiKit?

Uma framework Javascript

“Escreva Javascript seguindo a filosofia de linguagens como Python e Objective-C” – esta é a definição mais comum que você encontrará sobre a MochiKit.

É uma framework Javascript que abstrai várias das funcionalidade do Python (como map, compare, zip, etc), seus padrões de escrita e convenções de código. Mas, não deixando de ser Javascript…

Mesmo eu programando em Python, acho bem “estranha” a forma de escrita da MochiKit (até por trabalhar profissionalmente com a Mootools). Mas tenho que reconhecer que é uma das frameworks mais completas que já conhecí, inclusive há uma lista de “produtos” prontos desenvolvidos com ela, como é o caso do PlotKit e do AFLAX.

Também é conhecida por ser a biblioteca Javascript padrão do TurboGears, o que impulsionou o uso de ambas. Mas o que é legal é que eles não escondem suas “origens”, por exemplo na página do PlotKit há menções “honrosas” a Mootools, Python e Django.

O que pode-se fazer com ela?

Tudo o que você está acostumado a fazer em qualquer outra framework Javascript… e um pouco mais.

Possui um sistema rico de AJAX (inclusive com interação automática com formulários), manipulação da DOM, Drag and Drop “nativos”, formatação de datas, etc. Inclusive há efeitos visuais interessantes que você não precisa “sair catando por aí”.

Mas, o que mais me chamou atenção nela foi o seu interpretador interativo… você esperava o quê?! Ela é inspirada no Python! Para debugar código é uma maravilha (talvez usuários do Firebug possam achar este recurso redundante, mas não é!). Há também o suporte ao desenvolvimento orientado a teste (TestDrive Development), que é uma excelente prática de programação.

Comparações

Se você utiliza Mootools, jQuery, Prototype, Dojo, etc. talvez a MochiKit não lhe soe como uma opção para um possível salto. Mas se você tem em mente em estudar sobre novas frameworks, ou está iniciando o desenvolvimento com TurboGears, vai achar a MochiKit muito rica e interessante.

Considerações Finais

Particularmente, estou tão acostumado com a forma “orientada a objetos” de escrita da Mootools que a MochiKit em certos momentos me parece muito estranha. Mas ela é simpática, gostei de trabalhar com ela e com a PlotKit… mas profissionalmente, ainda prefiro os seletores por $(…) (embora ela possua uma biblioteca de compatibilidade com esta forma de seleção).

Talvez o grande crime esteja em uma das filosofias do Python: “explícito é melhor que implícito”; mas em Javascript isso pode soar meio forçado, já que se estamos utilizando uma framework para agilizar nosso trabalho na linguagem, queremos comandos de rápida escrita. Neste caso minha opção foi a Mootools, que é mais explícita que a jQuery, mas “nem tanto” quanto a MochiKit.

Fica a dica…

Até a próxima…

AGRADEÇA AO AUTOR COMPARTILHE!

Klaus Peter Laube

Mais artigos deste autor »

Tecnólogo em Análise e Desenvolvimento de Sistemas pelo Centro Universitário de Jaraguá do Sul (UNERJ). Desenvolvedor Web de longa data, apaixonado por Python e defensor dos padrões Web. Escreve quando pode no http://www.klauslaube.com.br.


3 Comentários

Marcelo Bernart Schmidt
1

A cada framework javascript que aparece eu rezo para simplificarem as Regular Expressions haha!
A propósito, os \pythonistas\ de plantão tem a cada post um prato cheio aqui no profissionaisti.com, belo artigo!

Deixe seu comentário

Seu endereço de e-mail não será publicado. Campos com * são obrigatórios!

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">