Enlightenment Foundation Libraries

As Enlightenment Foundation Libraries (Bibliotecas Fundamentais do Enlightenment), ou EFL, são um conjunto de bibliotecas e softwares gráficos de código aberto, desenvolvidas junto com o gerenciador de janelas Enlightenment.[1][2]

O foco do projeto é fazer das EFL um conjunto flexível, mas poderoso e fácil, de usar e estender as capacidades tanto do gerenciador de janelas enlightenment como outros projetos de softwares baseados nas EFL, incluindo nisto a criação de jogos.[3][4] As bibliotecas foram criadas para a versão 0.17 do gerenciador de janelas. Pretendem ser portáveis e optimizáveis para serem funcionais em aparelhos como PDAs.[5]

A EFL é uma criação da Enlightenment.org com o patrocínio da Samsung, ProFUSION e Free.fr.[6][7]

Componentes EFL

Seguem-se, abaixo, os componentes ativos do Enlightenment.[5][8]

Imlib2

Imlib2 é a biblioteca usada nas EFL para manipulação básica e visualização de gráficos. É capaz de carregar e manipular arquivos gráficos de vários formatos, e é também capaz de mostrá-los em um X Window System. Os desenvolvedores das EFL dizem que a Imlib2 é muito optimizada e que ela faz o que faz mais rápido do que qualquer outra coisa.

EDB

A biblioteca EDB está envolvida em torno da biblioteca Berkeley DB 2.7.7, cujo objetivo é fornecer uma API de base de dados que seja rápida e fácil de usar.

EET

EET é uma biblioteca que permite a criação de arquivos compactados, similar aos arquivos .zip, mas desenvolvido para ser pequeno, eficiente e rápido. EET forma a base dos arquivos de temas nas EFL, isto é, se você quer instalar um tema para o Enlightenment ou outra aplicação EFL que suporte temas, você precisará instalar um arquivo com o formato EET, que contenha todos os gráficos e as configurações do tema e não precisa ser descompactado no sistema de arquivos para ser usado.

Evas

Evas é a biblioteca visual das EFL, para criar áreas, ou janelas, onde as aplicações podem trabalhar no X Window System. As EFL usam aceleração por hardware quando possível, habilitada para trabalhar mais rapidamente, mas foi também projetado para trabalhar em equipamentos sem aceleração, diminuindo a quantidade de cores e a qualidade dos gráficos se necessário.

Ecore

Ecore é uma abstração de eventos, e uma biblioteca de conveniência modular, desenvolvida para simplicidar um número de tarefas comuns. É modular, então as aplicações precisam apenas chamar as bibliotecas necessárias para uma tarefa. Ecore simplifica o trabalho com o X, Evas, e também muitas outras coisas, como as comunicações da rede.

Epeg

Epeg é uma biblioteca menor que cria miniaturas (previsualizações) de um grande número de imagens JPEG rapidamente.

Epsilon

Epsilon é uma biblioteca para a criação de miniaturas (previsualizações) de muitos tipos de imagens, desenvolvida para ser compatível com o "Thumbnail Managing Standard", do freedesktop.org. Epsilon suporta todos os formatos de arquivo que a Imlib2 suporta, incluindo PNG, JPEG, TIFF, XCF e GIF, entre outros.

Embryo

Embryo implementa uma linguagem de "script" usada por outras partes da EFL, como a Edje. A linguagem tem uma sintaxe parecida com o C, e foi baseada na linguagem Small.

Edje

Edje é uma biblioteca que tenta separar a interface de usuário da aplicação. Permite que aplicações tenham temas, logo é possível mudar a GUI de uma aplicação sem mudar ela mesma. Aplicações baseadas na Edje usam arquivos que contém as especificações de como vai ser usado o layout na GUI. Temas Edje são empacotados usando arquivos gerados pela EET.

Esmart

Esmart é uma biblioteca que provê uma coleção de smart objects, objetos que permitem algumas funcionalidades em um container fácil de usar.

Emotion

Emotion é uma biblioteca que fornece a capacidade de executar vídeos através do uso de smart-objects. Emotion é baseado no libxine, uma bem estabelecida biblioteca de execução de video, e que suporta todos os formatos de vídeo que o libxine suporta, incluindo Ogg Theora, DiVX e MPEG2, entre outros.

EWL

EWL é a Enlightenment Widget Library (Biblioteca de Widgets do Enlightenment) e provê widgets com suporte a temas para aplicações e serve ainda como outra maneira de iniciar facilmente a criação de aplicações com as EFL. A EWL fornece widgets típicas, como janelas, botões, listas, textos, etc. e o mecanismo de temas permite efeitos animados.

Evoak

Evoak é um canvas server que fornece um canvas, uma área onde as aplicações podem desenhar gráficos e múltiplas aplicações podem conectar e manipular juntas.

Devem ser listados, ainda, os componentes atualmente "mortos" e/ou descontinuados da biblioteca EFL.

  • EWD (características agora adicionadas a ecore).
  • Estyle (características foram absorvidas pela etox).
  • Ebits (substituído pela Edje).

Aplicações baseadas na EFL

Ativas

Dentre as suas aplicações básicas, podem se destacar as listadas abaixo.[5][8] Vários dos programas citados estão disponíveis somente via CVS (não estando completos e/ou estáveis).

  • engage: uma barra de tarefas no estilo Mac OS X.
  • elicit: uma ferramenta de cor-do-pixel para desenhistas gráficos.
  • evidence: um gerenciador de arquivos.
  • entice: um atraente (enticing) visualizador de imagens.
  • entrance: um extasiante (entrancing) gerenciador de login.
  • express: um cliente de mensagens instantâneas.
  • euphoria: uma interface para o XMMS2.
  • erss: um leitor de feeds RSS.
  • enlightenment: o gerenciador de janelas X window manager.
  • examine: um programa para configuração de aplicações.
  • iconbar: parecido com o engage.
  • enotes: um programa de lembretes na área de trabalho.
  • equate: uma calculadora.
  • eke: um agregador feed RSS.
  • envision: uma interface de visualização de vídeos.
  • elation: uma interface de visualização de DVDs.
  • embrace: um programa que alerta a chegada de emails.
  • elapse: um relógio para o enlightenment.
  • elinguish: um cliente BitTorrent.
  • eclips — possivelmente descontinuado.

Descontinuadas

Se seguem, abaixo, as aplicações baseadas na EFL que atualmente estão "mortas" e/ou descontinuadas.

  • MED.
  • EFM.
  • Etcher.
  • EFSD.
  • eBindings.

Ver também

Referências

  1. «EFL 1.20.7 release». www.enlightenment.org (em inglês). Enlightenment. Consultado em 10 de junho de 2018 
  2. «Enlightenment as Standalone Wayland Compositor». archive.fosdem.org (em inglês). FOSDEM Archived. Fevereiro de 2014. Consultado em 10 de junho de 2018 
  3. Larabel, Michael (14 de setembro de 2012). «A Game Built On The Enlightenment Foundation Libraries». www.phoronix.com (em inglês). Phoronix. Consultado em 10 de junho de 2018 
  4. Brown, Eric (11 de maio de 2017). «Optimizing Apps for Wearables With Enlightenment Foundation Libraries». www.linux.com (em inglês). Linux.com | The source for Linux information. Consultado em 10 de junho de 2018 
  5. a b c Kapelonis, Kostis. «Introduction to the Enlightenment foundation libraries - An overview of EFL» (PDF). codepipes.com (em inglês). CodePipes. Consultado em 10 de junho de 2018 
  6. «Sponsors». www.enlightenment.org (em inglês). Enlightenment (salvo em Wayback Machine). Consultado em 10 de junho de 2018 
  7. Bail, Cedric (2017). «Enlightenment Foundation Libraries - A Case Study of Optimizing for Wearable Devices» (PDF). events17.linuxfoundation.org (em inglês). Samsung Open Source Group. Consultado em 10 de junho de 2018 
  8. a b Strano Moraes, Luís Felipe (3 de agosto de 2011). «The road to Enlightenment [LWN.net]». lwn.net (em inglês). Consultado em 10 de junho de 2018 

Ligações externas

  • Índice da Tecnologia EFL, arquivado no site Wayback Machine (em inglês)
  • Diagramas no site Phabricator (em inglês)
  • Documentação EFL (em inglês)
  • Introdução a EFL no site CodePipes (em inglês)