Canvas-2D extremamente rápido usando EFL
Resumo
Ao criar um jogo ou um aplicativo multimídia o sistema de saída gráfica é extremamente importante, pois tende a definir quão rápido será sua execução e qual o trabalho a ser feito para criar e exibir o conteúdo na tela. Ao passo que várias alternativas são bem conhecidas (PyGame), existe um conjunto de bibliotecas de base do projeto Enlightenment (EFL - Enlightenment Foundation Libraries) que podem ajudá-lo a executar mais rápido sem complicar o desenvolvimento.
O projeto Enlightenment considera a performance um ponto importante e é reconhecido por criar bibliotecas eficientes. Dentre estas bibliotecas temos o Ecore (main-loop), Evas (canvas), Edje (temas), Emotion (vídeo) e Elementary (widgets), todas com bindings para Python.
Os bindings (python-efl) foram desenvolvidos após a análise de várias alternativas existentes em Python, C e C++ apontarem o EFL como a solução com melhor desempenho e com boa facilidade de programação. Eles foram desenvolvidos de forma a expor a API parecida com a versão em C (para acesso a exemplos) e também com versão Pythonica similar ao PyGame. O primeiro projeto a utilizar o python-efl foi o centro multimídia para plataforma Maemo chamado Canola2, porém outros seguiram como o OpenMoko e BlueMaemo.
O grande diferencial do EFL em relação ao PyGame é a gerência de renderização de objetos otimizada e automática por parte do canvas (Evas), sem necessidade de gerenciar os retângulos sujos, fazer oclusão de áreas opacas e afins. A integração com main-loop, visualizador de vídeos, um poderoso sistema de temas e widgets (botões, listas, entrada de texto) são um agradável bônus para o desenvolvedor.
Nem tudo são flores: a plataforma é pouco conhecida e precisamos de mais desenvolvedores, documentadores e empacotadores!
Detalhes sobre o palestrante
Autodidata em programação desde criança, iniciou em Python por volta de 2003 após cansar de Perl, PHP e Tcl. Passou de desenvolvimento web ao desenvolvimento de sistemas móveis e embarcados em 2006, quando entrou no Instituto Nokia de Tecnologia. Lá desenvolveu diversos sistemas em C, lutando para que Python fosse uma opção no desenvolvimento na plataforma Maemo/Nokia. Em 2008 fundou a ProFUSION, empresa de prestação de serviços em Linux/Android embarcado a qual apóia e usa Python, seja nos sistemas de build, servidores/backend ou mesmo nos produtos dos clientes.