Tie with Zen 즉 선(zen)으로 묶다(tie).
발음은 (/ˈtaɪzɛn/) 이라고 한다.
삼성 타이젠 냉장고, 시계, 폰, TV, 블루투스 이어폰 등과 같은 타이젠 기기들에서 실행되는 앱을 개발하기 위해서는 타이젠을 사용해야한다.
한 문장으로 표현하자면, Embedded와 같이 자원이 제약된 환경에서 매우 잘 동작한다.
수행 속도가 빠르고, 메모리를 적게 필요(IoT에서 장점)로한다.
하드웨어 가속을 많은 부분에서 지원하여 스크롤 및, 동영상 표현에 있어서 적은 CPU load로 smooth한 결과를 낼 수 있도록 해준다.
일반 오픈소스와 달리, 많은 제품에서 검증된 플렛폼으로, 안정성이 일반 오픈소스에 비해 높다.
삼성에서 지속적으로 품질을 관리하므로, 오류도 시간이 지남에 따라 수정되고, 새로운 기능도 추가될 수 있다.
IoT 시대에 접어들면, 어마어마하게 많은 삼성기기와 그것의 센서의 정보를 이용하여, 보다 지능적인 IoT 시스템을 만들어낼 수 있다.
Animation 전용 API를 지원하여, 보다 쉽고 빠르게 Animation을 지원하는 앱을 만들 수 있다.
현재 Tizen2.3은 Tizen NG(New Generation)에 해당한다. Tizen은 기존의 많은 시스템의 장점을 취하여, 발전하고 현재에 이르렀다.
타이젠은 Linux Mobile version 의 OS에 위와 같은 Native Application Framework이 올라가있다.
Tizen Native Application Framework은 오픈소스인 EFL(Enlightenment Foundation Libraries)을 기반으로 하고있어서 EFL 라이브러리에서 지원하고 있는 대부분이 Tizen 에서 지원 가능하다.
Tizen Native Application Framework는, 리눅스에서 많이 사용되고있는 GTK와 같은 Application Framework에 대응되는데, PC에서는 완전히 지원되지 않고있는 하드웨어 가속을 지원하고, embedded환경에 맞도록, 메모리 효율이 매우 높은 framework이다.
Tizen Native Application Framework는 C로 작성되어있어서, 타 플렛폼 뿐만아니라, 타 언어에도 이식성이 매우 높으며, 실행 속도와 메모리 공간 측면에서 우수하다.
Tizen Native Application Framework는 embedded용 답게, 많은 부분에서 bit field를 사용하여 메모리가 절감될 수 있도록 지원한다.
따라서, 이런 효과를 보기 위해서는 자료구조 또한 Tizen Native Application Framework에서 지원하는 자료구조를 써야 Application 또한 절감된 메모리로 수행될 수 있겠다.
위의 블럭에서 빈번히 사용되는 모듈만 간단히 설명하자면 다음과 같다.
Eina : 기본 자료구조(콜렉션) 예를들어 eina_list, eina_hashmap, eina_bool 등이 있다.
Evas : 화면 즉 Window 또는 Window 버퍼를 가르키며, 각종 이벤트를 받을 수 있다.
ECore : Main Loop 함수를 가지고 있으며, 이벤트와 Animation, Timer등 을 제어한다.
Edje : Layout 엔진으로서, EDC로 작성된 GUI를 파싱하고, Ecore와 연계하여 Evas에 표시하고 동적으로 시그널을 주고받는다.
Elementary : 위젯 또는 컨트롤 구현체이다. 예를 들면, 버튼, 슬라이더바, 메뉴바, 콘텍스트 메뉴, 등 프로그래머가 사용할 수 있는 미리 만들어진 컨트롤들이 있다.