[e-dev-day 2014][8/16] the way how efl is used in the tizen, previous, current and future status

18
The Way How EFL is used in the Tizen (previous, current and future) Tae-Hwan Kim Samsung Electronics S/W Center [email protected] bluezery [email protected]

Upload: enlightenmentproject

Post on 19-Jul-2015

81 views

Category:

Software


3 download

TRANSCRIPT

Page 1: [E-Dev-Day 2014][8/16] The Way How EFL is used in the Tizen, previous, current and future status

The Way How EFL is used in the Tizen

(previous, current and future)

Tae-Hwan KimSamsung Electronics S/W Center

[email protected]

[email protected]

Page 2: [E-Dev-Day 2014][8/16] The Way How EFL is used in the Tizen, previous, current and future status

What is Tizen?

● http://tizen.org/● First release (1.0.0) in Jan. 2012● Recent version: 2.2.1● Mixed of Many Open Sources

– EFL, Linux, Gstreamer, WebKit, etc.

● Mobile / Wearable / TV / IVI

– Samsung Gear 2, S

Page 3: [E-Dev-Day 2014][8/16] The Way How EFL is used in the Tizen, previous, current and future status

What is Tizen?

● Originated from Samsung Linux Platform

– From 2007 or 2008– Gtk was used

● Vodafone 360 (Sept. 2009)– Qt was tested

● EFL started to be used by 2010

Page 4: [E-Dev-Day 2014][8/16] The Way How EFL is used in the Tizen, previous, current and future status

Why EFL in the Tizen?

● Better Performance– Faster than other UIFW (e.g. Qt, Gtk)

– Low memory foot print● https://phab.enlightenment.org/phame/live/1/post/simpl

e_efl_vs_qml_comparison_again/● https://phab.enlightenment.org/phame/live/1/post/efl_

memory_consumption_moo/● Authority

– Not much used yet– Company love control

Page 5: [E-Dev-Day 2014][8/16] The Way How EFL is used in the Tizen, previous, current and future status

How EFL in the Tizen?

● Usage– Elementary >>>>>>>>>>>>>>>>>>>>>>>>>>>

Ecore >= Evas >= Edje >= Eina

– Company love widget● It's easy!

– Inhouse application is based on EFL.● e.g. Phone, Contact, Setting, etc.

– Genist is god widget

Page 6: [E-Dev-Day 2014][8/16] The Way How EFL is used in the Tizen, previous, current and future status

How EFL in the Tizen?

Page 7: [E-Dev-Day 2014][8/16] The Way How EFL is used in the Tizen, previous, current and future status

How EFL in the Tizen?

Page 8: [E-Dev-Day 2014][8/16] The Way How EFL is used in the Tizen, previous, current and future status

How EFL in the Tizen?

● Genlist is God!– Company (application developer?) love genlist

– Genlist can be used every where

– Genlist can contain every other things (Gengrid, entry, etc.)

– Over 1000 genlist styles are there● Over 60000 lines of edc code for Tizen Z● Over 10000 lines of edc code for both Gear 2 and Gear S● Previously, I made & maintain those all things alone

Page 9: [E-Dev-Day 2014][8/16] The Way How EFL is used in the Tizen, previous, current and future status

How EFL in the Tizen?

● How maintain alone?– MACRO!

● Double edged sword

– 24 patterns for scalable edc● Almost all things can be covered

– Dependency chain for Left, Right, Top, Bottom● https://git.tizen.org/cgit/framework/uifw/efl-theme-tizen.g

it/tree/themes/widgets/genlist/genlist_macro.edc

Page 10: [E-Dev-Day 2014][8/16] The Way How EFL is used in the Tizen, previous, current and future status

How EFL in the Tizen?

● By using this pattern, – 60000 lines are reduced into 5000

– All widget styles (not only genlist) are made alone● Gear 2 (2 weeks), Gear S (1 week)● Genlist, gengrid, entry, button, naviframe, etc.

● Genlist redesign– It's only 6000 lines but it's Spagetti

– Totally rewritten for Tizen commercialization● Also I should see all application codes and change them● Increase performance 20 times better (3~4 fps –> 55 fps) for worst case

– Anyway, need patch for upstream● Sorry, I don't have much time for upstream● Plz, review my patches! :p

Page 11: [E-Dev-Day 2014][8/16] The Way How EFL is used in the Tizen, previous, current and future status

How EFL in the Tizen?

● Tizen 1.0– Public Web APIs

● Tizen 2.2.1– Public OSP APIs

● Open Service Platform– Originated from Bada platform

● Parasitic on Tizen to survive– For UI, Parasitic on EFL :(– Backward compatibility for old Bada Applications

● It will be dead soon

● EFL is not public yet

Page 12: [E-Dev-Day 2014][8/16] The Way How EFL is used in the Tizen, previous, current and future status

Future of EFL in the Tizen

● Tizen 2.3 (mid-October)– EFL will be public open

– Only well used modules and functions are public● Eina, Evas, Ecore, Edje, Elementary

– 2400 APIs opened (out of 6700 APIs)● Over 1200 APIs are from elementary module

● Tizen 2.4 or 3.0(?)– All EFL functions will be public

– Recent EFL will be migrated

– Make plan to be synchronize with upstream

Page 13: [E-Dev-Day 2014][8/16] The Way How EFL is used in the Tizen, previous, current and future status

Future of EFL in the Tizen

● What to do?– Synchronize with upsream!

– Migration● Tizen is based on EFL 1.7.99 yet● Synchronize with Recent upstream

– One source branch● Different branch for different profile and different version

– Mobile/wearable/TV/IVI– 1.0/2.1/2.2/2.3

● Tizen Upstream branch– platform/uptream/efl– platform/upstream/elementary

Page 14: [E-Dev-Day 2014][8/16] The Way How EFL is used in the Tizen, previous, current and future status

Future of EFL in the Tizen

● Documentation– Many functions & enums & structures are not

documented yet

– We are improving it● Plz, review my patches

– Synchronize with upstream!

● Test Case– Abandon TETWare

– Synchronize with upstream!

Page 15: [E-Dev-Day 2014][8/16] The Way How EFL is used in the Tizen, previous, current and future status

Future of EFL in the Tizen

● APIs– Consistency/Simple

● Especially because of elementary failure

– But we should wait EFL 2.0

● Object system– Thanks to Eo/Eolian

● Theme Script– Edje is entry barrier for newcomer

– Thanks to BÖB!

Page 16: [E-Dev-Day 2014][8/16] The Way How EFL is used in the Tizen, previous, current and future status

Future of EFL in the Tizen

● Vector rendering– Thanks to Cedric!

● Wayland?● Evas 3D?● Ephysics?● ...

Page 17: [E-Dev-Day 2014][8/16] The Way How EFL is used in the Tizen, previous, current and future status

Thank you

Page 18: [E-Dev-Day 2014][8/16] The Way How EFL is used in the Tizen, previous, current and future status

EFL Test case in the Tizen

● Test Case for Public APIs– Approximately 2400 APIs (out of roughly 6700 APIs)

– TETware is used● It was used from Tizen 2.0● Only very very simple Unit Test● Only test function input parameter

– It can check only user mis-usage, that's all

● Next– Synchronize with upstream

– Check tool will be used

– Scenarios test will be added