본문 바로가기
Dev.Mobile/Tizen

TIZEN UI의 심장, EFL (Enlightenment Foundation Libraries)

by Devkin 2012. 6. 30.

Linux Foundation Collaboration Summit 2012 의 Tizen 세션에서 Tizen Native Display Layer인 EFL 의 아키텍쳐와 사용에 관한 발표가 있었다. 현재, 타이젠 아키텍트로 삼성에서 일하고 있는 Carsten Haizler 의 발표로 관련동영상PPT 슬라이드가 공개되어 있다.


EFL (Enlightenment Foundation Libraries)

  • 라이브러리 집합 (Collection of Libraries)
      • Canvas scene-graphs
        • OpenGL, OpenGL-ES2.0, Software Renderer
        • Draw Anti-aliased text, scaled images, alpha-blend objects
    • Ecore
      • Library of convenient functions
        • Core mainloop
        • Connection
        • Input and glue libraries
    • Eet
      • Data codec and storage
        • Extremely fast, simple and small
        • Eet files can be very small and highly compressed
    • Embryo
      • Bytecode
        • Interpret limited small programs compiled by the included compiler
    • Edje
      • Complex graphical design & layout library
        • Pre-made data objects with scripting, animation etc.
    • Efreet
      • Freedesktop.org standards support
        • Icons, Desktop files, Menus
    • Eina
      • Data structure, modules and base
      • Provides some useful tools
        • Opening shared libraries
        • Errors management
        • Type conversion
        • Time accounting
        • Memory pool
    • Edbus
      • Dbus integration and wrapping
        • Message bus system
        • Using dbus as interprocess communication
    • Eio (Not in Tizen)
      • Asynchrounous I/O
        • Most operations are done in a separated thread to prevent lock
    • Emotion
      • Media object library for Evas and Ecore
        • Playing audio and video files
    • Eeze (Not in Tizen)
      • Udev hardware detection
        • Manipulating devices through udev
        • Interfaces directly with libudev
    • Ethumb
      • Thumbnailer
      • Cacher
    • Elementary
      • Widgets

EFL Architecture

EFL on Tizen


  • Tizen의 Core toolkit 으로 사용
  • Built for performance and low footprint
  • 네이티브 앱에서 EFL 사용 가능
  • Open source
  • API's all in C

WHY EFL?
  • GTK+, Qt 대신에 EFL 을 선택한 이유
    • Speed
      • 삼성에서 테스트 시, GTK+, X11, DirectFB 에 비해 성능에서 월등함을 보임
      • 매우 빠른 소프트웨어 렌더링
      • 수년간의 견고한 OpenGL, OpenGL-ES2.0 가속 지원
      • 안드로이드와 같은 일반적인 스마트폰에서 60fps 이상의 더 좋은 품질 제공
    • Memory
      • Unity : 168 MB
      • Enlightenment : 0.17 ~ 65 MB

발표자료

SLIDE 

lfcs2012_raster.pdf


VIDEO


참고


얼마전, tizentalk.com에 Michael Sheldon 이란 개발자에 의해 EFL 을 통한 Native App 의 타이젠 구동에 성공하였다는 기사가 나왔다. Qt 기반의 App 을 EFL 로 포팅하였는데, Tizen 1.0 SDK 에서 공식적으로나 명시적으로 EFL 사용에 대한 네이티브 앱 개발에 대한 지원이 없는 상태에서 EFL Native App 구동에 성공하였다는게 흥미롭다. 블로그에 Tizen 1.0 SDK 를 이용한 상세한 포팅과정이 설명되어 있다.


반응형

댓글