Tizen Native App UI의 심장 EFL

Tizen Native App은 EFL을 코어 UI 프레임 워크로 사용하고 있습니다.

Tizen에 앞서 EFL이 무엇인지에 대해 짚고 넘어가겠습니다.

1. EFL 이란?

EFL은 Enlightenment Foundation Library의 약자로서 GUI 구현을 위한 라이브러리의 모음이라고 할 수있습니다. EFL을 설명하기 앞서 Enlightenment에 대해 간다히 짚고 넘어가겠습니다.

Enlightenment는 Linux/X11 등을 위한 Windows Manager 뿐만 아니라, 개발 라이브러리 모음입니다. 기존의 Toolkit 보다 더 적은 작업으로 더 보기 좋은 UI 제작을 가능하게 하는 것을 목표로 하는 프로젝트의 이름을 의미하기도 합니다. 이 개발 환경은 휴대폰과 같은 소형기기부터 노트북, 데스크탑 등 과 같은 다양한 기기까지 지원합니다.

그렇다면 EFL이란 Enlightenment Windows Manager의 GUI 구현을 위한 라이브러리로, 정확하게는 각각의 목적과 기능을 가진 라이브러리의 셋으로 볼 수 있습니다.

EFL은 다음과 같은 구조를 가지고 있습니다. (참고 : EFL 홈페이지 https://www.enlightenment.ogh/)

 EFL Stack by Marketing department

<그림1. EFL Stack by Marketing Department>

그림2

<그림2. EFL Stack by Marketing Department>

EFL의 다양한 라이브러리의 구조 설명을 위해서 도입된 그림1의 경우 상위 레벨은 하위 레벨에 의존성을 가지고, 프로그래머는 상위 레벨의 요소들만 이용해야 하며 하위 레벨의 요소들을 직접 컨트롤해서는 안된다는 의미를 가집니다. 하지만 EFL 라이브러리들은 이러한 상하 의존적 관계를 구성하고 있는 것이 아니기 때문에 그림2와 같이 상호 작용을 가지고 있다는 점이 실질적인 EFL의 구조라고 볼 수 있습니다. 각각의 라이브러리들은 상하 의존 관계를 가지고 있지 않으며, 상호 연결 관계에 있어서도 어떠한 방향성도 가지지 않습니다. 또한 각 모듈의 크기는 전체 EFL에서의 중요도를 나타내고 있습니다.

2. EFL의 특징

EFL은 다음과 같은 특징을 가지고 있습니다.

-좋은 성능                                       -애니메이션

-적은 메모리 사용                            -하드웨어 가속

-GUI와 랩 로직 분리                        -다양한 백엔드 지원

-테마 기능                                       -다양한 OS지원

이외에도 많은 특징과 장점을 가지고 있지만, 아직까지는 진입장벽과 자료부족이라는 단점을 가지고 있습니다.

3. 참고 사이트

-EFL 공식사이트

https://www.enlightenment.org/start

-EFL 한국 사용자 모임

http://egloos.zum.com/eflkor/v/36126

-EFL FackBook

http://facebook.com/enlightenment.or.kr

efl

 

감사합니다.

Prepared by : 신재규

Tizen

이미지

 

1. Tizen 이란?

Tizen은 리눅스 재단(Linux Foundation) 주관으로 삼성과 인텔 등 다양한 회사가 개발에 참여하고 있는 리눅스 기반 오픈소스 플랫폼입니다. 휴대전화, 스마트 TV, 웨어러블 디바이스 등 다양한 기기에 탑재할 수 있어  크로스 카테고리 플랫폼이라고 불리며 사물인터넷(IOT)에 초점을 맞춘 오픈 소스 모바일 운영체제(OS)입니다. W3C/HTML5와 같은 다양한 표준을 준수하며 HTML5 기반의 웹 애플리케이션 및 C++ 기반의 네이티브(Native) 애플리케이션을 지원합니다. 또한 소프트웨어 개발 키트(SDK)를 통해 응용 프로그램을 개발하기 위한 각종 도구들과 API를 제공하고 있습니다.

2.  Tizen의 역사

타이젠은 리눅스 기반의 오픈소스 모바일 플랫폼인 ‘리모’와 ‘미고’에 뿌리를 두고 있습니다. 타이젠이란 이름은 인텔이 2011년 9월에 이 프로젝트에 참여하면서 불리기 시작했습니다.
인텔은 타이젠에 합류하기 전 노키아와 함께 ‘미고’라는 리눅스 기반의 모바일 운영체체를 개발하고 있었습니다. 그러나 노키아가 마이크로소프트와 손잡고 윈도폰 개발을 시작하면서 미고는 길을 잃기 시작했습니다. 인텔은 새로운 파트너로 삼성전자, 화웨이와 손잡으면서 리모와 미고에 뿌리는 둔 새로운 모바일 운영체제 프로젝트를 시작했고, 이 프로젝트가 바로 타이젠입니다.
인텔과 삼성전자가 합류하면서 타이젠 개발 속도가 빨라졌습니다. 2012년 4월 타이젠1.0 정식버전이 나왔고 2013년 2월 타이젠2.0 정식버전이 나왔습니다다. 또한 현재 타이젠 3.0이 개발 중에 있습니다.

3.  사물인터넷(IOT)에 최적화된 운영

타이젠은 사물인터넷(IOT)에 최적화된 운영체제라 할 수 있습니다. 먼저 IOT‘Internet Of Things’의 약자로 생활 속 사물들을 유무선 네트워크로 연결해 정보를 공유하는 환경을 말합니다. 모든 기기들이 마치 두뇌가 있는 것처럼 사용자의 패턴을 분석, 예측하여 스마트하게 작동하는 것이라고 말할 수 있습니다 이런 IOT에 초점을 둔 타이젠은 다양한 애플리케이션을 지원한다는 점이 가장 대표적인 특징입니다. 상대적으로 적은 자원을 사용하면서도 쉽고 빠른 환경을 제공한다는 장점을 가지고 있습니다. 또한, 저사양 기기부터 고사양 기기까지 다양한 영역의 기기에서 적용이 가능하여 IOT시대에 최적화된 OS라고 볼 수 있습니다.

a0004058_51af6ce41ec9b
<그림1. Tizen의 크로스 카테고리 전략 (출처 : 2012 리눅스 코리아 포럼 타이젠 소개 자료) >

 

감사합니다.

Prepared by : 신재규

 

AngularJS 2.0(앵귤러JS 2.0) 개요

One framework. Angular 2

AngularJS(이하 앵귤러)란 자바스크립트 프레임워크들 중에서 최근 가장 주목 받는 프레임워크로 MVVM(Model view ViewModel) 패턴을 가장 잘 구현 하였다고 알려져 있고 이를 이용하면 HTML 기반에서 MVC(Model View Controller) 패턴을 적용하여 적은 소스 코드로 웹 어플리케이션을 쉽고 빠르게 만들 수 있습니다.

이번 포럼에서는 앵귤러 1.0이 아닌 앵귤러 2.0으로 포럼을 진행 합니다.

앵귤러 1.0과 2.0은 많은 변화가 있고 그 많은 변화 중에서 가장 큰 변화는 구글과 마이크로소프트의 협업이다. 앵귤러JS 2.0은 마이크로소프트의 TypeScript언어(MS판 자바스크립트 언어 확장판)를 기반으로 개발 되어있으며 앵귤러JS 2.0은 2016.04.22일 현재 베타 서비스 중 이다. 베타중인 서비스이긴 하지만 사용법은 변화가 없을 것이라고 하니 지금부터 학습을 해도 좋다라는 판단에서 앵귤러 1.0이 아닌 2.0으로 포럼을 진행 합니다.

 

포럼 순서

앵귤러 2.0 특징 > 구성 > 기본 예제

위와 같은 순서로 진행을 하겠습니다.

 

감사합니다.

 

관련기사

구글, 차세대 웹앱 기술에 MS 웹개발 언어 수용