path: root/pages/about-efl.txt
diff options
authorCarsten Haitzler (Rasterman) <>2015-04-06 19:41:14 +0900
committerCarsten Haitzler (Rasterman) <>2015-04-06 19:41:14 +0900
commit4a2acbe77b4407ba913e3168f93ec92c05eaf98a (patch)
treed63b00c04e793f741eadee999435d8a5ddd67268 /pages/about-efl.txt
parent1f14b1346f237119f87f3eee59c735ff1c9ad1db (diff)
new dokuwiki based page content for new www
Diffstat (limited to 'pages/about-efl.txt')
1 files changed, 86 insertions, 0 deletions
diff --git a/pages/about-efl.txt b/pages/about-efl.txt
new file mode 100644
index 0000000..be3da80
--- /dev/null
+++ b/pages/about-efl.txt
@@ -0,0 +1,86 @@
1==== EFL ====
3[[download|Download EFL Here]]
5{{:efl-core.png?nolink |}}
7EFL is made up of quite a few libraries that build on top of each other
8in layers, steadily becoming higher-level, yet allowing access to
9each level as they go. The higher up you go, the less you have to do
10yourself. Elementary is about as high up as you get, while you still
11access layers below it for day to day things as there is no need for
12it to wrap things that work perfectly well as-is.
14All of EFL exposes its APIs by default in C, with sseveral bindings
15available. We are now also working on supporting bindings for various
16language as first-class-citizens in EFL by auto-generating the
17bindings directly from our new object orientation infrastrucutre for
18C. We stick to C mostly because the libraries have been around for a
19long time, were originally written in C and the developers who write
20the libraries perfer C. We add OO features in C with tools and
21infrastructure where needed. Also moving from C would limit the
22audience. C programmrs won't be able to access a C++ API (whereas a
23C++ programemr can access both C and C++). That is partly why we aim
24to auto-generate bindings so programmers of various languages can get
25native-like APIs for their chose language from the same core EFL API
28Our components are divided into named libraries or projects. Core EFL
29components are:
31^Component ^ Description ^
32|Evas |Core scene graph and rendering |
33|Eina |Data structures and low level helpers |
34|Edje |UI layout & animation data files for themes |
35|Eet |Data (de)serialization and storage |
36|Ecore |Core loop and system abstractions like X11 |
37|Efreet | standards handling |
38|Eldbus |D-Bus glue and handling |
39|Embryo |Tiny VM and compiler based on Pawn |
40|Eeze |Device enumation and access library |
41|Emotion |Video decode wrapping, glue and abstraction |
42|Ethumb |Thhumbnailing handler |
43|Ephysics |Physics (bullet) wrapper and Evas glue |
44|EIO |Asynchronous I/O handling |
45|Evas Generic Loaders |Extra image loaders for complex image types |
46|Emotion Generic Players |Extra video decoders (for VLC) |
47|Elementary |Widgets and high level abstractions |
49Binding support exists for several languages such as:
51 * Python
52 * Javascript
53 * C++
54 * Ruby
55 * Lua
57EFL was originally intended to provide the core for Enlightenment, but
58has grown to do much more. In trying to keep EFL lean, it has found a
59use for embedded devices all the way up to powerful desktop behemoths.
61These libraries already power millions of systems, from mobile
62phones to set top boxes, desktops, laptops, game systems and more. It
63is only now being recognized for its forward-thinking approaches, as
64products and designers want to do more than the boring functional user
65experiences of the past. This is where EFL excels.
67[[|]] has shipped millions of set top boxes in
68France, powered by EFL. The
69[[|Openmoko Freerunner]]
70sold thousands of devices with EFL and Enlightenment on them.
71[[|Yellow Dog Linux]] for the Sony PS3
72ships with Enlightenment as the default. EFL has been used on printers,
73netbooks and more. It powers the
74[[|Samsung Galaxy Gear]]
75watches, is behind the
76[[|Samsung Z1 Phone]]
77and the
78[[|Samsung SUHD Smart TVs]]
79that run Tizen. Cameras also use Enlightenment and EFL such as the
80[[|Samsung NX1]]
81and the
82[[|Samsung NX300M]] smart
83Camera. Also GPS units such as models from
84[[|Coyote]] Run EFL on a lean and mean RTOS.
85Also Web conference cameras such as
86[[|Biscotti]] use EFL to do their work.