본문 바로가기

Insight

엑스플랫폼 vs 넥사크로플랫폼

필자의 경우 업무상 고객 및 개발사를 대상으로 제품소개를 진행하는 경우가 있다. 넥사크로 플랫폼(이하 넥사크로) 소개를 진행하다 보면 엑스플랫폼이랑 뭐가 다른 거죠? 라는 질문을 자주 듣는다. 소개자리에서는 자세한 내용을 풀어서 이야기하기에는 시간이 짧기 때문에 바로 체감 할 수 있는 내용을 위주로 진행을 하는 편이라 설명이 부족한 경우가 많다. 그래서 엑스플랫폼과 넥사크로가 비슷하다고 느끼는 이유와 무엇이 다른지에 대해 이야기하고자 한다.

 

엑스플랫폼이란?

 

엑스플랫폼은 2009년 출시된 제품으로 그 당시 RIA/REA(Rich Internet Application/Rich Enterprise Application) 기반의 제품 중 최고의 제품으로 많이 사용되고 있다. 동일 기반 제품으로는 어도비의 플렉스, 마이크로소프트의 실버라이트를 생각하면 빠를 것이다. 사용자 환경에 런처(실행도구)를 설치하고 그 기반 위에 실행되는 구조로 웹 브라우저 안에서 실행이 가능했으며 그 당시 웹에서는 표현할 수 없는 UI를 구현할 수 있도록 지원했다. RIA/REA 제품들의 특징을 정리해보면 다음 표와 같다.

 

1. 브라우저 파편화 등과 같은 웹 이슈에 대한 영향도 낮음
2. 투명 처리, 그라데이션, 그림자 처리 등 다양한 디자인 효과로 유려한 디자인 가능
3. 사용자의 흥미를 유도할 수 있는 UI 애니메이션 기능 제공
4. 데이터 처리 성능 우수
5. 화면 처리 성능 우수
6. 사용자 환경에 런처 설치 필요

기능/성능도 중요하지만 사용자경험(UX)을 중요시하는 트렌드에 따라 디자인에 대한 요구가 높아졌고 그에 따라 엑스플랫폼을 선택하는 기업이 늘어났으며 현재까지 1000개가 넘는 레퍼런스를 보유하고 있다.

 

 

RIA/REA 시장 축소

 

기존 국내 사용자환경의 운영체제는 거의 윈도우 하나였다. 기업업무시스템도 윈도우기반으로 개발되었으며 런처 설치는 큰 이슈거리가 아니었다. 하지만 스마트 디바이스들이 출현하면서 스마트 오피스 즉 스마트 디바이스를 업무에 활용하고자 하는 요구가 증가하고 HTML5 표준화로 기존 RIA/REA 환경에서만 가능했던 기술들이 웹 환경에서 가능해지면서 새로운 시스템 환경으로 웹이 떠오르기 시작했다. 거기다 NPAPI 지원 중단, 액티브엑스 차단, 플레쉬플레이어 지원 중단 등 웹 브라우저에 탑재하여 사용하기 위한 기반 기술들이 사라지면서 RIA/REA 중심이었던 기업 업무 환경은 웹으로 이동하기 시작했다.

 

 

웹 시장 확대와 넥사크로플랫폼 출시

 

이렇게 기업 업무환경의 변화가 시작될 무렵 엑스플랫폼이 가지고 있는 기능들을 웹 환경에서 사용할 수 있는 제품으로 넥사크로가 출시 되었다.(넥사크로에 대한 상세한 소개는 링크를 클릭하시면 좀더 자세히 확인 하실 수 있습니다) 그러다 보니 두 제품이 비슷해 보이는 것은 당연할 수 있으며 그 부분은 넥사크로가 가진 장점이다. 엑스플랫폼을 사용해본 개발자가 쉽게 적응할 수 있으며 있으며 순수 웹에서 구현하기 힘든 엑스플랫폼만의 기능을 넥사크로를 통해 웹에서 사용할 수 있다. 웹에서는 제공하지 않지만 엑스플랫폼, 넥사크로에서 제공하는 부분을 정리해보면 다음과 같다.

엑스플랫폼 & 넥사크로

 순수 웹

 컴포넌트 제공

 컴포넌트 미제공

(일부 태그를 제공하지만 브라우저마다 지원 기능 상이)

 컴포넌트별 CSS 제공

 HTML 태그별 CSS 제공

 Two-way data binding 제공

(UI컴포넌트와 데이터의 연결기능)

 데이터 관리기능 미제공

 데이터관리객체(Dataset) 제공

(데이터상태정렬그룹필터 기능 등)

 데이터 관리기능 미제공

 통합개발도구 제공

 웹 에디터(HTML), 스크립트 에디터(JS) 사용

javascript library, framework 사용이 아닌 순수 웹과 비교한 내용

 

 

 

엑스플랫폼과의 차이점

 

넥사크로는 엑스플랫폼의 기반기술을 RIA에서 웹으로 변경한 제품이다. 그렇다면 이 두 제품은 기반기술의 차이만 있는 것일까? 넥사크로는 엑스플랫폼에서 제공했던 기능뿐 아니라 다양한 확장기능들을 제공한다.

 

넥사크로에 추가된 기능

넥사크로는 웹/모바일을 대응하기 위한 제품으로 관련된 환경에서 자주 사용되는 기능들이 추가되어있다.

 

디바이스API

스마트 디바이스의 자원을 활용할 수 있는 API들을 제공한다. 쉽게 생각하면 연락처, 카메라, 메시지 등 디바이스에서 기본 제공되는 기능을 활용하거나 바코드리더, 카드리더 등 외부 장비 API를 연동하는 방법을 제공한다.

 

스케치 컴포넌트

서명이나 스케치 등 사용자가 직접 화면에 선을 그릴 수 있는 컴포넌트로 웹에서 제공하는 캔버스 기능과 유사한 컴포넌트를 제공한다.

구글맵 컴포넌트
구글에서 오픈소스로 제공하고 있는 구글맵을 넥사크로에서 사용할 수 있도록 만든 컴포넌트로 화면에 지도를 표현하거나 편집할 수 있는 기능을 제공한다.
 
리스트뷰 컴포넌트
그리드 컴포넌트처럼 데이터셋 객체의 정보를 표현하는 컴포넌트로 그리드는 정적인 UI를 표현한다면 리스트뷰는 동적인 UI를 표현할 수 있는 컴포넌트다. 소셜미디어나 인터넷쇼핑의 리스트와 같은 화면을 구성할 수 있는 기능을 제공한다.
 
차트 컴포넌트
제품 별도로 제공하는 컴포넌트로 데이터를 시각화하여 표현할 수 있는 차트 컴포넌트를 제공한다.
 
피벗 컴포넌트
차트 컴포넌트처럼 별로도 제공하는 컴포넌트로 데이터를 행, , 값으로 설정된 정보에 맞춰 데이터를 집계하는 컴포넌트를 제공한다.
 
이외에도 반응형/적응형 UI를 개발하기 위한 ScreenInfo, MLM, Step 기능이나 사용자 확장 기능 개발을 위한 사용자 컴포넌트, 컴포지트 컴포넌트 등 추가된 기능들을 제공하고 있다.
 
 

웹을 넘어선 넥사크로

넥사크로는 웹만을 위한 제품으로 기획되지 않았다. IT환경은 지속적으로 변화하고 있고 그 변화의 속도는 점점 빨라지고 있다. 현재는 이전엔 RIA가 대세였고 현재는 웹이 대세이지만 다음은 어떤 새로운 기술이 시장의 중심에 있을지는 확신할 수 없다. 넥사크로는 시장변화에 맞춰 쉽게 변화할 수 있는 제품으로 이전 세대인 RIA와 같아질 수도 있고 현재 세대인 웹/모바일 그리고 그 이후 변화에도 능동적으로 변화 할 수 있도록 준비되어 있다.

 

유연한 스크립트 구조

넥사크로의 개발 결과물은 자바스크립트 코드와 XML형태의 UI 코드로 구성되어있으며 제네레이트 과정을 통해 순수 자바스크립트 코드로 변환되어 실행되는 형태로 되어있다. 만약 한가지 예로서 자바스크립트가 아닌 다른 언어가 차세대 언어로 떠오른다면 제네레이트 된 결과물을 해당 언어로 변환되도록 구성한다면 기존 스크립트를 재사용하는 것이 가능하다. 위와 같은 상황이 발생했을 때 넥사크로는 요소기능 추상화를 통한 능동적으로 대처할 수 있는 유연한 구조를 가지고 있는 것이 특징이다.
 
RIA로의 확장
넥사크로는 RIA 제품들처럼 런처 또한 제공하고 있다. RIA대비 성능적 한계를 가지고 있는 웹의 단점을 극복하고 RIA가 가지고 있는 확장성(외부연동, 사용자 환경 제어등)을 유지하여 웹과 RIA의 중간자입장으로 RIA 기반에서 웹으로 전환하고자 하는 시스템을 좀더 유연하게 대처할 수 있는 기반을 제공해준다. 또한 최근 사용자층이 증가하고 있는 맥OS에 대해서도 런처를 제공하고 있다.
 
스마트 디바이스로의 확장
모바일 웹뿐만 아니라 모바일 앱 개발기능을 제공하고 있다. Hybrid App 방식으로 UI 부분은 동일하게 사용하고 Android/iOS 기반의 앱킷을 제공하여 디바이스 API(카메라, 주소록, SMS 등)나 외부API(블루투스, 바코드리더, 카드리더 등)연동기능을 활용할 수 있으며 기본 제공되는 기능 외에 원하는 기능을 확장하여 개발할 수 있는 유연한 구조를 제공한다.
 
Beyond Screen 대응
4차 산업혁명과 맞물려 다양한 형태의 UI들이 생겨나고 있으며 기존 화면(Screen)중심 UI에서 사용자 친화적인 UI제공하는 Beyond Screen 환경으로 변화하고 있으며 그와 관련된 다양한 UI기술(제스처, 얼굴인식, 음성인식, AR/VR)들과 넥사크로를 접목하는 연구를 진행 중에 있으며 변화하는 IT시장에 맞춰 제공될 예정이다.

 

 

엑스플랫폼은 기업 UI에서 사용하는 기능 및 성능, 디자인적인 부분을 한계까지 끌어올린 제품이라고 할 수 있다. 자체 기술력으로 개발된 렌더링 엔진과 컴포넌트로 복잡하고 고도화된 국내 기업업무 시스템을 안정적으로 운영할 수 있도록 지원했다. 넥사크로는 한걸음 더 나아가 급변하는 IT환경에 맞춰 런처 환경에서부터 웹, 모바일 웹/앱, Beyound Screen 환경까지 어떠한 환경에도 빠르게 대응할 수 있는 기반을 마련하고 좀 더 쉬운 개발환경을 제공하고자 노력하고 있다