Wiki page about-efl.md changed with summary [Markdown version] by Nate Drake
This commit is contained in:
parent
cac4c731f8
commit
e34ae0e00d
|
@ -0,0 +1,91 @@
|
|||
~~Title: About EFL~~
|
||||
==== EFL ====
|
||||
|
||||
[[download|Download EFL Here]]
|
||||
|
||||
Code quality - [[https://scan.coverity.com/projects/552|EFL Coverity scan status]]
|
||||
|
||||
{{:efl-core.png?nolink |}}
|
||||
|
||||
EFL is made up of quite a few libraries that build on top of each other
|
||||
in layers, steadily becoming higher-level, yet allowing access to
|
||||
each level as they go. The higher up you go, the less you have to do
|
||||
yourself. Elementary is about as high up as you get, while you still
|
||||
access layers below it for day to day things as there is no need for
|
||||
it to wrap things that work perfectly well as-is.
|
||||
|
||||
All of EFL exposes its APIs by default in C, with several bindings
|
||||
available. We are now also working on supporting bindings for various
|
||||
language as first-class-citizens in EFL by auto-generating the
|
||||
bindings directly from our new object orientation infrastructure for
|
||||
C. We stick to C mostly because the libraries have been around for a
|
||||
long time, were originally written in C and the developers who write
|
||||
the libraries prefer C. We add OO features in C with tools and
|
||||
infrastructure where needed. Also moving from C would limit the
|
||||
audience. C programmers won't be able to access a %%C++%% API (whereas a
|
||||
%%C++%% programmer can access both C and %%C++%%). That is partly why we aim
|
||||
to auto-generate bindings so programmers of various languages can get
|
||||
native-like APIs for their chose language from the same core EFL API
|
||||
set.
|
||||
|
||||
Our components are divided into named libraries or projects. Core EFL
|
||||
components are:
|
||||
|
||||
^Component ^ Description ^
|
||||
|Evas |Core scene graph and rendering |
|
||||
|Eina |Data structures and low level helpers |
|
||||
|Edje |UI layout & animation data files for themes |
|
||||
|Eet |Data (de)serialization and storage |
|
||||
|Ecore |Core loop and system abstractions like X11 |
|
||||
|Efreet |Freedesktop.org standards handling |
|
||||
|Eldbus |D-Bus glue and handling |
|
||||
|Embryo |Tiny VM and compiler based on Pawn |
|
||||
|Eeze |Device enumeration and access library |
|
||||
|Emotion |Video decode wrapping, glue and abstraction |
|
||||
|Ethumb |Thumbnailing handler |
|
||||
|Ephysics |Physics (bullet) wrapper and Evas glue |
|
||||
|EIO |Asynchronous I/O handling |
|
||||
|Evas Generic Loaders |Extra image loaders for complex image types |
|
||||
|Emotion Generic Players |Extra video decoders (for VLC) |
|
||||
|Elementary |Widgets and high level abstractions |
|
||||
|
||||
Binding support exists for several languages such as:
|
||||
|
||||
* Python
|
||||
* Javascript
|
||||
* %%C++%%
|
||||
* Ruby
|
||||
* Lua
|
||||
|
||||
EFL was originally intended to provide the core for Enlightenment, but
|
||||
has grown to do much more. In trying to keep EFL lean, it has found a
|
||||
use for embedded devices all the way up to powerful desktop behemoths.
|
||||
|
||||
These libraries already power millions of systems, from mobile
|
||||
phones to set top boxes, desktops, laptops, game systems and more. It
|
||||
is only now being recognized for its forward-thinking approaches, as
|
||||
products and designers want to do more than the boring functional user
|
||||
experiences of the past. This is where EFL excels.
|
||||
|
||||
[[http://www.free.fr|Free.fr]] has shipped millions of set top boxes in
|
||||
France, powered by EFL. The
|
||||
[[http://wiki.openmoko.org/wiki/Neo_FreeRunner|Openmoko Freerunner]]
|
||||
sold thousands of devices with EFL and Enlightenment on them.
|
||||
[[http://www.yellowdoglinux.com/|Yellow Dog Linux]] for the Sony PS3
|
||||
ships with Enlightenment as the default. EFL has been used on printers,
|
||||
netbooks and more. It powers the
|
||||
[[http://www.samsung.com/us/mobile/wearable-tech|Samsung Galaxy Gear]]
|
||||
watches (Gear 2, S, S2, S3...), is behind the
|
||||
[[http://www.samsung.com/in/consumer/mobile-phone/mobile-phone/dual-sim-phone/SM-Z130HZKDINS|Samsung Z1 ]],
|
||||
[[http://www.samsung.com/in/microsite/z2|Z2]] and
|
||||
[[http://www.samsung.com/in/microsite/z3|Z3]] mobile phones,
|
||||
and the
|
||||
[[http://www.samsung.com/us/video/4k-suhd-tv|Samsung SUHD Smart TVs]]
|
||||
that run Tizen. Cameras also use Enlightenment and EFL such as the
|
||||
[[http://www.samsung.com/uk/discover/camera/find-your-signature-with-samsung-nx1/|Samsung NX1]]
|
||||
and the
|
||||
[[http://www.samsung.com/global/nx/nx300m/|Samsung NX300M]] smart
|
||||
Camera. Also GPS units such as models from
|
||||
[[https://www.moncoyote.com/|Coyote]] Run EFL on a lean and mean RTOS.
|
||||
Also Web conference cameras such as
|
||||
[[https://www.biscotti.com/|Biscotti]] use EFL to do their work.
|
Loading…
Reference in New Issue