return 1;
Estudando python EFL – parte 2
Continuando a série de post sobre a tecnologia EFL , a qual estou estudando e trabalhando.
Este post visa ser uma visão geral do que é e como funciona esta tecnologia e está respectivamente divido em duas seções: O que é ? e Como Funciona ?.
O que é ?
EFL é um conjunto de bibliotecas escrita em C para facilitar o desenvolvimento de um gerenciador de janelas baseado no X, o famoso Enlightenment, o qual possui muitos recursos eye candy sem precisar de gerenciadores de janela com suporte a aceleração através de OpenGL, ex: compiz. E sempre fez um ótimo trabalho sem esse tipo de recurso.
Segui alguns vídeos coletados no youtube do Enlightenment em ação.
E existem outros mais. É possível implementar funcionalidades muito parecidas com as do iphone, por exemplo:
E olha um teclado virtual feito com EFL baseado no teclado do iPhone, feito pelo Gustavo Barbiery, um dos geeks que trabalha com EFL aqui no Brasil e que por sinal próxima semana estará em Manaus para dar um treinamento de EFL na FPF¸após eu ter tido muitas conversas com o chefinho.
E como o EFL faz muito com pouco processamento, foi portado para outras arquiteturas como ARM, onde roda em dispositivos como o Internet Tablet N810 da Nokia e existem algumas aplicações rodando com EFL, mas a aplicação de referência de uso do EFL no Maemo é o Canola, que é um player para o maemo. Alguns vídeos do canola em ação:
E roda também em celulares, e já está sendo feito uma plataforma completa para dispositivos móveis, o Illumine, e um dos geeks é um dos criadores do EFL, o Rasterman (Carsten Haitzler) e olhem só sua gang que já roda illumine:

Rasterman Gang's
E tudo isso e muito mais foi desenvolvido primariamente com EFL, Ficou afim de entender melhor e começar a desenvolver ? Bom…. posso guiá-lo pelo caminho que percorri no estudo.
Como funciona ?
Já que na primeira parte instalamos as técnologias básicas(ecore, evas, edje), vamos dá uma olhada em seu funcionamento.
Bem, vamos começar pelo começo.
Arquitetura completa do EFL.

Concentre-se na parte azul da arquitetura, o core EFL.
Evas é o canvas onde tudo é renderizado e também gera sinais para aplicação.
Ecore é o responsável por capturar todos os eventos de uma janela originados do X11 e direcionar esses eventos para os devidos callbacks, possui também um mecanismo de MainLoop e uma série de ferramentas que auxiliam o trabalho com EFL e tarefas comuns de programação.
Alguns componentes do Ecore:
- Ecore_Con – Comunicação em rede
- Ecore_IPC – Comunicação entre processos
- Ecore_Config – Sistema de configuração
- e outros.
Edje é um meio de separar o código da aplicação do código da interface, basicamente é o responsável por te prover o mecanismo de manipulação de objetos da interface, ou seja, manipular o canvas(evas) de forma descritiva e orientada a estados. Apartir do momento que você faz essa separação ou dividi a aplicação em camadas, você imediatamente ganha vantagens, como por exemplo no Enlightenment e no canola a interface é feita com Edje e por isso possui um mecanismo de Temas(Themes) avançado e flexível de temas, ou seja, você pode mudar toda a interface sem mexer no código da aplicação.
Fazendo uma analogia a arquitetura de desenvolvimento web, seria mais ou menos assim, olhe a figura do MVC abaixo
Sabemos que no desenvolvimento web, o Model é responsável pela lógica de negócio da aplicação, o Controller é responsável por capturar as requisições que vem da View e processa-lás junto a Model e então devolver a resposta a View, a View é a camada de apresentação que no contexto web é o html/css/javascript.
Olhando essa arquitetura MVC podemos fazer a seguinte analogia, que o View é o Edje, o Controller é o Ecore. E o Evas é o browser onde tudo é renderizado.
Consegui explicar alguma coisa ? Se não, deixe um comentário.
Falei alguma besteira ? Se sim, deixe um comentário corrigindo e colocarei os devidos créditos.
Próximos posts (Aguardem):
Estudando python EFL – parte 3 (Ecore-Evas)
Estudando python EFL – parte 4 (Edje)
| Print article | This entry was posted by Daniel Elias on December 13, 2008 at 4:37 pm, and is filed under Comunidades, Dicas & How To, Programação, Tech, canola2, efl, python. Follow any responses to this post through RSS 2.0. You can leave a response or trackback from your own site. |



about 1 year ago
Olá Daniel,
Ótimos posts sobre EFL. A algum (muito) tempo atrás conversando com o Gustavo ele estava me falando sobre a maravilha que estava sendo o desenvolvimento de Python + ELF e desde então fiquei curioso em estudar um pouco mais esta tecnologia.
Abraço.
Reply