본문 바로가기

Project

About Vulcan Project

소개

Vulcan Project는 Flex/AIR Framework를 기반으로 PureMVC를 확장하여 Flex/AIR 어플리케이션 개발에 필요한 UI 및 기본 메뉴 기능 (New / Close / Save / Save As / Open / Undo / Redo /Copy / Paste…)을 구현해 놓은 micro-architecture입니다.

개발 배경

Flex/AIR Framework이 ActionScript3.0을 사용한 어플리케이션 개발의 가능성을 제시 하긴 했지만, 다른 언어 또는 기존의 플래시 영역의 공개 자료에 비해 활용할 수 있는 개발 노하우를 습득하기가 쉽지 않습니다. 때문에 개발자가 Flex/AIR의 새로운 가능성을 시도하거나 시장을 개척하는데 상당한 열정을 필요로 하는 것 같습니다. 이는 기존에 Flash 영역이 비디오나 게임, 광고, 애니메이션 등의 비쥬얼적인 부분에 집중되어 있었기 때문에 이에 대한 고정관념 때문일 수도 있습니다.

현재 트렌디한 모바일 디바이스에 대한 높은 관심에서도 불구하고 웹과 데스크탑 어플리케이션의 중요성 역시 간과할 수 없습니다. Flex는 이러한 웹과 데스크탑 환경을 개발하는데 매우 유용하게 활용되며, 더욱 도전할 부분이 많다는 점을 이 프로젝트가 알릴 수 있기를 희망합니다. Flex를 익히는 개발자들에게 Flex를 즐기는 한 부분으로 자리매김 되었으면 하는 바램으로 프로젝트를 계획하였습니다. 

Vulcan Project는 기본적으로 어플리케이션 개발에 필요한 UI 제공과 기본 command 구현이라는 두 가지 사항에 초점을 맞추어  진행됩니다.


Docking System UI

Vulcan Project는 어플리케이션 개발의 기본 UI로 Docking System을 도입하였습니다. Docking System은 TabNavigation 및 Panel, Divide Box 컴포넌트로 구성된 컨텐츠 노출 방식입니다. 이 방식으로 인해 개발자는 각 TabNavigation의 item으로 노출되는 컨텐츠를 어플리케이션에 독립적으로 개발하고 이를 다시 어플리케이션에 쉽게 통합할 수 있게 되었습니다.

기본 Command 구현

데스크탑 어플리케이션의 경우 대부분 기본적으로 제공되는 기능들을 이미 구현된 코드에서 쉽게 확장하여 사용할 수 있습니다. 각 어플리케이션에 대하여 공통된 코드를 기반으로 개발에 착수할 수 있으므로 버젼 관리 및 업그레이드 등 일괄적인 코드 관리가 가능해 집니다.

개발 샘플 예제

Vulcan Project에는 Graphical 편집 작업을 지원하는 어플리케이션 제작을 가능하도록 하는 Drag/Resizing 기능을 구현한 Canvas에 대한 코드 및 속성 편집창 등이 샘플로 제공되고 있습니다. 또한 Graphical 편집 결과물이 MXML로 출력되도록 하는 CodeGenerator와 오픈소스로 공개되어 있는 SwfClassExplorer, SWCPaser의 코드가 포함되어 있습니다.

이 샘플 개발 과정은 문서화되어 공개되고 있으므로 학습자료로 유용하게 사용될 수 있습니다. 샘플에 대한 문서는 컴포넌트의 기능에 대한 것보다는 독립적으로 개발된 컴포넌트가 Vulcan Project에 플러그인으로써 어떻게 통합될 수 있는가에 대한 과정에 초점이 맞추어져 있습니다.



확장 가능성

Vulcan Project는 여러가지 플러그인 형태의 컴포넌트를 개발하여 이를 프로젝트에 추가 함으로써 어플리케이션의 기능을 확장시킬 수 있습니다. Vulcan Project를 사용한다는 것은 대부분 플러그인(컴포넌트)을 개발하고 이를 프레임웍에 통합하는 과정으로 설명할 수 있습니다. 개발자가 어떤 플러그인을 개발하느냐에 따라 어플리케이션의 모양과 형태가 정해집니다. Vulcan Project의 UI는 대부분 Spark 컴포넌트의 개발방식을 따르기 때문에 style을 통해 어플리케이션의 모양을 커스트마이징 할 수도 있습니다.

목표

장기적으로 Flash platform에서 플러그인(컴포넌트) 확장 가능한 에디터(또는 어플리케이션)를 브라우져와 데스크탑 및 다른 디바이스상에서 사용 가능하도록 하는것이 최종 목표입니다. 따라서 Vulcan Project는 기본적으로 어플리케이션 개발에 필요한 UI 제공과 기본 command 구현이라는 두 가지 이슈에 초점을 맞추어 다양한 어플리케이션을 구성하는데 필요한 요소들을 쉽고 빠르게 통합할 수 있도록 발전될 것입니다.

'Project' 카테고리의 다른 글

Vulcan Project ver 1.0b  (0) 2012.09.24
Support for Vulcan Project  (0) 2010.10.13
Release Notes  (0) 2010.10.13
License  (0) 2010.10.12
Platform  (0) 2010.10.12