The process of moving an application from our old stable API to the new Unified EFL may take some time. Enlightenment is probably the largest EFL application so we know how complicated this could be! To ease the transition we are ensuring that the APIs are interchangeable.
Our main approach to ensure compatibility is making sure that our legacy API can work with Unified EFL objects.
That means that an Eo *
created with the new Unified API will work with the equivalent APIs from the legacy API.
For example:
Efl_Canvas
objects can be passed to evas_object_*
methodsEfl_Canvas_Layout
objects can be passed to edje_object_*
methodsEfl_Ui
objects work with elm_object_*
methodsAlso the eina
and eo
namespaces are retained over these versions so you can continue to pass Eina_Bool
or Eo *
where you previously did.
For the foreseeable future all EFL releases will contain both the Legacy and the Unified APIs meaning that you can upgrade once you feel that our new APIs are ready for your usage. The benefits of moving over should be compelling, but as usage varies between apps we will continue to support the legacy API for all our users.