Flex에 대한 단상

2007-05-17     어도비시스템즈

요즘 Flex에 대한 이야기가 단연 화두이다. 누구나 아는 다국적 기업에서 야심차게 준비한 프로덕트일 뿐만 아니라, 도입한 많은 회사에서 만족감을 표시하고 많은 개발자들이 관심을 가지고 있는 솔루션이다. 그러나 조금씩 어디서 부턴가 Flex가 본래의 목적과 의미에 맞지않게 변형되고 있다는 느낌을 많이 받는다. 어떻게 Flex를 사용하고 어떤 개념을 적용해야 하는지 큰 테두리 안에서 한번 얘기해 보겠다.



우선, Flex의 기원에 대해서 살펴보자. Flex의 원래 이름은 Enterprise Presentation Server이다.

여기서 핵심은 Enterprise라는 부분이다. 즉, 기업의 업무환경을 표현하기 위해 개발된 UI 솔루션이다. 그럼 기업 업무에 필요한 UI는 어떤것인가? 다음과 같은 몇가지 사항이 필요하다고 생각되고 Flex는 어떻게 지원하는지 살펴본다.


1. 사용자가 편하게 업무를 할 수 있게 해야 한다.

   => Flex는 C/S 어플리케이션 수준의 Interactive한 기능을 제공함으로써, 기존에 만들어진 VB, Delphi, PowerBuilder로 구성된 업무 어플리케이션의 기능을 대부분 제공한다.



2. 빠르고 쉬운 개발이 가능해야 한다.

   => MXML과 ActionScript 사용으로 UI 로직과 컨트롤 부분을 분리해 MVC 패턴을 완벽하게 지원하고, 객체지향 개념을 대부분을 구현할 수 있어 Java 개발자들이 쉽게 이해하고 코딩할 수 있다.



3. 유지보수가 편리해야 한다.

   => Enterprise 환경에서의 개발은 어플리케이션을 만들고 나면 끝이 아니다. 현업에서 피드백되는 많은 요구사항을 빠르게 반영할 수 있어야 하고 오류가 발생할 경우 빠른 수정이 가능해야한다.

   => Flex로 개발했을 경우 이러한 유지 보수에 대한 장점을 제공할 수 있고, 그 근거는 FDS를 사용하여 빠르게 비즈니스 로직과의 동기화를 이뤄낼 수 있고, 업무와 UI를 일관성 있는 J2EE 패턴으로 묶을 수 있다.

   => 따라서, Flex를 사용하는 장점을 최대한 살리기 위해선, Flex 프로젝트에는 절대 Flash 컨텐츠가 들어가면 안된다. Flash가 들어가는 순간, 유지보수의 부담은 롤러코스트가 된다.

   => 많은 Flash 업체들이 Flex를 사용하면서 Flex 어플리케이션을 Flash 어플리케이션 처럼 구성하게 되는데, 이는 당장 개발만 이쁘게 하고, 향후 유지 보수적인 측면은 책임을 지지 않겠다라는 처신으로 밖에 생각되지 않는다. Flex로 Enterprise의 모든 업무와 UI를 구성할 수 있음에도 불구하고, 자신들이 하기쉬운 Flash로 개발한다는 것은 Flex에 대한 기만행위이다.

   => 특히, 마케팅과 영업적인 이유로 Flex는 화려하다 라는 소개를 많이 했으나, Flex는 절대 화려하지 않다. 절대 화려한 UI를 위해서 Flex를 사용해선 안된다. Enterprise 어플리케이션은