ExtJS e programação funcional

[disclaimer]
Os códigos desse post estão no Gist do Github, se não aparece no seu leitor de Feeds vai ter que entrar no site ou ir direto para o github
[/disclaimer]

Javascript possui funções como tipos de primeira classe na linguagem e implementa vários conceitos de programação funcional, mas essa forma de programar sempre é relegada quando escrevemos código com ExtJS.

Observe no código abaixo um trecho usando ExtJS para expandir as linhas de uma Grid:

Código imperativo comum encontrado nos projetos com ExtJS, o mesmo código conhecendo um pouco a API pode ser feito como se vê abaixo:

Você percebe que utilizando uma abordagem só um pouco mais funcional (como passar função como argumento de outra função) nem sempre vai ter menos código e pode até ser bem maior, mas observando a API com mais atenção você detecta que o método toggleRow pode receber tanto um index quanto o próprio Model, então você abusa mais um pouquinho e passa a própria função como argumento do método each (como podemos ver abaixo).

Comparando os dois códigos você pode até reclamar que a sintaxe imperativa vai ser mais fácil de ler, aí será questão de conhecimento em programação e experiência com essas outras abordagens, reconheço que programação funcional não é comum principalmente para quem programa com ExtJS no cotidiano.

Apesar de tudo vale a pena se esforçar um pouco e começar a escrever um código mais funcional.

One thought on “ExtJS e programação funcional

  1. Pingback: ExtJS e programação funcional – 2 - Blog de desenvolvimento Milfont

Leave a Reply

Your email address will not be published. Required fields are marked *