efl

modelviewcontrollerdiagram

Estudando python EFL – parte 2

1

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 Gangs

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

modelviewcontrollerdiagramSabemos 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)

VIM Highlight de Arquivos Edje

1

Para facilitar o desenvolvimento com arquivos edje (.edc) você pode baixar um plugin do repositório do EFL e então instalar este plugin para o vim.

Segue os passos:

$ mkdir $HOME/.vim/plugin

$ cd $HOME/.vim/plugin

$ svn co https://svn.enlightenment.org/svn/e/trunk/edje/data/edc.vim

pronto, você tem highlight quando editar os seus arquivos .edc, se o seu highlight não estiver habilitado automagicamente, quando você editar configure o tipo do arquivo:

:set filetype=edc

Já ajuda! :-)

Go to Top