EFL 살펴보기 (Enlightenment Foundation Libraries) 박춘언 2014 EFL 한국 커뮤니티 세미나.

Slides:



Advertisements
Similar presentations
Introduction.  Professor  Adam Porter 
Advertisements

FireMonkey Deep Dive The Next Generation of Business Application Development.
What is Android?.
Android architecture overview
Android Platform Overview (1)
Building Mobile Apps in the Cloud – Comparing Approaches.
PADS Professional Overview. PADS Professional A bundle of easy-to-use software applications for professional digital signage in any environment. This.
Charis Marangos. Games versus Most Applications  Technical implementation is hard Real-time and responsive (at least 25 frames per second) Hungry for.
Component OneJQuery MobileVisual WebGUI Comparison of three mobile site development frameworks.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Mobile Application Development
BY MUKTADIUR RAHMAN DATE: JUNE 10, 2010 Introduction to iPhone SDK.
Chapter 2: Exploring the Desktop The Complete Guide to Linux System Administration.
AGD: 5. Game Arch.1 Objective o to discuss some of the main game architecture elements, rendering, and the game loop Animation and Games Development.
Master Project Preparation Murtaza Hussain. Unity (also called Unity3D) is a cross-platform game engine with a built-in IDE developed by Unity Technologies.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Introduction to Android Platform Overview
An Overview of Qt - asankar1. Agenda About Qt –A brief intro of Qt Qt development tools –Tools used for building Qt application Qt Architecture –The underlying.
Emerging Platform#4: Android Bina Ramamurthy.  Android is an Operating system.  Android is an emerging platform for mobile devices.  Initially developed.
CSE328:Computer Graphics OpenGL Tutorial Dongli Zhang Department of Computer Science, SBU Department of Computer Science, Stony.
Things you need to know George Georgiev Telerik Corporation
Web Apps vs. Native Apps vs. Hybrid Apps vs. iBook Author Mobile Publishing:
Android Introduction Platform Overview.
Mobile Web Applications
Mobile Application Development using Android
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D.
Introduction of Tizen : Tizen Overview Chan Seok Kang 2013/03/21.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Android Programming By Mohsen Biglari Android Programming, Part1: Introduction 1 Part1: Introduction By Mohsen Biglari.
Week II Platforms and Engines. Overview Platforms and Engines Tools and SDKs Netbeans Game Development Walkthrough
차세대 그래픽 개발 환경.NET & DirectX 강성재 Community Specialist Microsoft Corporation.
Overview Embedded Linux Graphics Typical desktop Linux graphics stack SystemRAMDisk X Window System5MB16MB GNOME14MB95MB KDE11MB96MB Mozilla12MB95MB.
And its companion: the ROOT GUI
Tizen Gear App 개발 서울대 산학협력 프로젝트 삼성전자 / 소프트웨어센터 /SW Platform 팀.
ANDROID 응용 프로그래밍 과정 – 목차 - 안드로이드란 - 안드로이드가 만들어지게 된배경 - 안드로이드의 철학 - 안드로이드 환경설정 ( SDK download, eclipse plug-in 설정, 간단한 프로그램 실행 ) - 안드로이드 동작원리 - 안드로이드 핵심.
Tizen v2.3 Emulation on PC.
Building RIA for Desktop, Web and Mobile using Silverlight and WPF Giorgio Sardo UX Consultant, Microsoft UK blogs.msdn.com/Giorgio.
Folio3 IPhone Training Session 1 Presenter: Imam Raza.
Android architecture & setting up. Android operating system comprises of different software components arranges in stack. Different components of android.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
May 7, 2003 Command and Control Visualization NAVCIITI Tasks 2.1b.
CS 346 – Chapter 2 OS services –OS user interface –System calls –System programs How to make an OS –Implementation –Structure –Virtual machines Commitment.
Created By. Jainik B Patel Prashant A Goswami Gujarat Vidyapith Computer Department Ahmedabad.
H.G.Essel: Go4 - J. Adamczewski, M. Al-Turany, D. Bertini, H.G.Essel, S.Linev CHEP 2003 GSI Online Offline Object Oriented Go4.
9 주 실습강의 XML Visualization(1) 학기, 소프트웨어 설계 및 실험 ( Ⅰ )
Android. Basic Architecture Linux Kernel Libraries Applications Android Runtime Application Framework.
Vizard Virtual Reality Toolkits Vizard Virtual Reality Toolkits.
The way of hybrid mobile development Hybrid Mobile Applications Telerik Software Academy
Testing in Android. Methods Unit Testing Integration Testing System Testing Regression Testing Compatibility Testing Black Box (Functional) White Box.
Tizen v2.3 Graphics & UI Frameworks
Visualization Programming: “Libraries” and “Toolkits” Class visualization resources CSCI 6361.
Unity при побудові 3D ігор для Windows 8 та Windows Phone Олег Прiдюк Технічний євангеліст, Unity Technologies.
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
Functions of Operating Systems V1.0 (22/10/2005).
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
BY : MS ARTI B BAVANE. INTRODUCTION Formed on February 15,2010. Jointly found by two pillars Intel and Nokia by joining their existing open source projects.
Visual Mobile Applications with Netbeans 6.0 Your Name Sun Campus Ambassador Your Address.
Fancy and Fast GUIs on Embedded Devices Using the Enlightenment Foundation Libraries to achieve maximum performance on embedded devices. Gustavo Sverzut.
Visual Mobile Gaming Your Name Sun Campus Ambassador Your Address.
Writing Really Rad GTK+ & GNOME Applications in C, Python or Java
TIZEN Native UI Builder Fajri Koto
Operating Systems {week 01.b}
Getting Started with Visual Studio Tools for Tizen
A Canonical Production January 2013
CMPE419 Mobile Application Development
Java Programming Introduction
CMPE419 Mobile Application Development
Running C# in the browser
Yale Digital Conference 2019
Presentation transcript:

EFL 살펴보기 (Enlightenment Foundation Libraries) 박춘언 2014 EFL 한국 커뮤니티 세미나

2 2 삼성전자 소프트웨어 센터 차세대 컴퓨팅 랩 근무 타이젠 UIFW 개발 (2009 ~ ) EFL 오픈 소스 커미터 활동 (2011 ~ ) 타이젠, EFL 국내 활성화를 위한 EFL Korea Community 운영 중 Blog 박 춘 언박 춘 언

기타 활동 - 서적

4 4 EFL 이란 ? GUI 애플리케이션 개발 툴킷 유용한 기능을 제공하기 위한 라이브러리 모음 애플리케이션 작성 시 어렵고 복잡한 GUI 편의 기능 요소들을 제공 EFL Building Blocks

5 5 EFL 이란 ? 애플리케이션에서 EFL 로 할 수 있는 것들 적은 메모리 사용 고성능 메인 루프 위젯 확장성 테마 GUI

6 6 EFL 이란 ? 애플리케이션에서 EFL 로 할 수 있는 것들 애니메이션 타이머 File Descriptor 사용자 입력 이벤트 ( 키, 마우스 …) IPC 통신 Socket 통신 etc.

7 7 EFL 이란 ? 타이젠 앱 개발

8 8 EFL 이란 ? EFL 적용 사례 I-Kitchen Electrolux + ProFUSION, Brazil

9 9 EFL 이란 ? EFL 적용 사례 Elixir (Freebox) French Internet Set-top box meteo-sur-Freebox

10 EFL 이란 ? EFL 적용 사례 NX300M

11 EFL 이란 ? EFL 적용 사례 Samsung Gear 2/ Gear 2 Neo

12 Enlightenment 란 ? 원래는 윈도우 관리자 이름 처음에는 GNOME 윈도우 관리자로서 제공 현재는 프로젝트 이름 윈도우 관리자와 라이브러리로 구성 Enlightenment Desktop/Window Manager E16(DR16), E17(DR17), E18(DR18), E19(DR19) EFL (Enlightenment Foundation Libraries)

13 Enlightenment 란 ? Enlightenment Window Manager

14 EFL in Tizen? Graphics and UI consist of the system graphic and UI stacks, which includes the EFL (Enlightenment Foundation Libraries), an X11-based window management system, input methods, and OpenGL® ES*. The heart of the Graphics component, the EFL, is a suite of libraries. It is for creating rich graphics with ease, for all UI resolutions. The libraries build UIs in layers, allowing for 3D transformations and more. The EFL includes the Evas canvas API library and the elementary widget library.

15 EFL 역사 EFL Imlib2 Imlib/Fnlib Enlightenment ( x) Enlightenment ( ) EFL 1.11 * Current EFL verision is 1.7 in Tizen 2.3 Beta

16 EFL 특성 정리 성능 저사용 메모리 다양한 백엔드 엔진 지원 GUI 와 프로그램 로직 분할 변경 가능한 테마 스크린 크기 호환성 애니메이션 다국어 지원 H/W 가속 이식성 진입 장벽 자료 부족

EFL 특성 - 성능 GTK+, QT 비교 ? 과거 타이젠 전신 모델에서는 GTK+, X11, DirectFB 를 혼합 하여 사용했었음 EFL 을 도입 후 큰 성능 개선 이룸 다양한 시나리오에서 소프트웨어 렌더링이 매우 빠름 다년간 OpenGL & OpenGL ES 지원 일반 스마트폰 기기에서 60fps 성능 출력

EFL 특성 - 성능 GTK+, QT 비교 ? Unity 대비 Enlightenment 의 메모리 사용량 EFL 을 도입 후 큰 성능 개선 이룸 다양한 시나리오에서 소프트웨어 렌더링이 매우 빠름 다년간 OpenGL & OpenGL ES 지원 일반 스마트폰 기기에서 60fps 성능 출력

EFL Characteristics - Memory Why is EFL being used as opposed to GTK+ or Qt or something else? Memory (Ubuntu 11.04) beyond base X11 “failsafe” session Unity – 168Mb Enlightenment 0.17 – 65Mb Numbers based on “free” minus disk cache and buffers – Base 199Mb Both Unity and Enlightenment have roughly similar features and setup Compositor (OpenGL), fullscreen wallpaper, launcher, icons, filemanager, etc.

EFL Characteristics - Memory Mobile devices ship with limited memory 128Mb, 256Mb, maybe 512Mb These devices almost never use swap Flash has limited writes, so swap can hurt device lifespan Lower end devices may not have GPU's Require decent software rendering to make up for it OpenGL has overhead that may not be worth it for all situations Textures keeps speed, but lose memory & more

EFL Characteristics - Memory

22 EFL Characteristic - Memory

23 EFL Characteristic - Memory

EFL Characteristics - Backened X11 (OpenGL, Xlib & XCB) Wayland (OpenGL & SHM) Direct Framebuffer DRM Memory buffers PS3 Native Windows (GDI & DirectDraw) ETC

EFL Characteristics – Logic/GUI Spearation

EFL Characteristics – Themeable 다양한 Look & Feel 을 지원하기 위한 테마 변경 가능

EFL Characteristics – Scalable UI

28 EFL Characteristic – Animation Animations supported by various layers evas edje elementary efx

EFL Characteristics – Bindings C++ Lua Python Javascript Ruby Vala Perl …

EFL Characteristics – H/W Accel. OpenGL, OpenGL-ES Uses SIMD vector such as MMX, Neon

31 EFL Characteristic – Not Threadsafe EFL is not threadsafe Use ecore_thread ecore_pipe

32 EFL Characteristic – Flexible Many libraries Many features Runs on various environment. Modularized

33 EFL Characteristic – Flexible Too many libraries Too many features Runs on various environment Test cost Too flexible

34 EFL Characteristic – Flexible Entrance barrier Application developers should consider many things. Spend much time Recommend to be consulted by EFL open source or HQ EFL team. NO TUTORIAL, NO BOOK!

EFL Block Diagram Embryo Eet Evas Ecore Edje Eina Efreet Eldbus Ethumb Elementary Applications, Libraries, Services BASE OPERATIING SYSTEM /DISPLAY ETC. BINDINGS(Elev8, python, perl, vala …) Eio Eeze Elementary Emotion

36 EFL Libraries - EINA Eina a library for data types and some useful tools.

37 EFL Libraries - EVAS Evas (E + canVAS) A highly optimized canvas/rendering library

38 EFL Libraries - ECORE Ecore (E + Core) a clean and tiny event loop library with many convenience modules.

39 EFL Libraries - EDJE Edje a complex graphical design & layout library.

40 EFL Libraries - ELEMENTARY Elementary a widget set.

41 EFL Libraries – ETC. ● Data codec and storage (Eet) ● Bytecode VM (Embryo) ● Freedesktop.org standards support (Efreet) ● Dbus integration and wrapping (Edbus) ● Video/Audio Playback library (Emotion)

42 EFL Libraries – ETC. ● Asynchronous I/O (Eio) ● Udev hardware detection (Eeze) ● Thumbnailer & cacher (Ethumb) ● V8 Javascript base runtime (Elev8) ● Physics simulation integration and visual effects. (EPhysics)

EFL Opensource Community Official Website Mailing List IRC irc.freenode.net/6667 #e, #edevelop GIT $ git clone $ git clone $ git clone

EFL 오픈 소스 커뮤니티 World-Wide Developers 66 Committers 21 committers are working for Samsung

EFL References

EFL References

EFL References Elementary Test Application (elementary_test) Source elementary/src/bin/test*.c

EFL References Elementary Config Application (elementary_config)

EFL References Enventor Application (enventor)

Thank you