현재 인터넷으로 대표되는 웹은 우리 생활의 많은 부분을 변화시켰고, 현재까지도 여러 부분에 있어 막강한 영향력을 행사하고 있습니다. 운영체제에 종속적이지 않고, 기본 네트워크 환경과 브라우저만 있다면 언제 어디서든 접근할 수 있다는 용이성, 편리성 덕분에 현재 우리 생활에 있어 필수 불가결한 존재가 되어 버렸습니다.
하지만 웹 개발 표준언어라고 할 수 있는 HTML 으로는 좀 더 다양한 사용자들의 요구를 충족시키기 어려운 점이 많습니다.
다시 말해서, 사용자의 눈높이는 계속 높아만 가고 있는데, 그 기술은 이를 따라오지 못하고 있는 것입니다. 이러한 HTML의 한계를 극복하기 위해서는 뭔가 새로운 해결책이 필요합니다.
Flex 그리고 Silverlight!-
기존 HTML의 한계를 극복하고 다양한 사용자들의 요구를 충족시키기 위해 새롭게 등장한 것이 RIA(Rich Internet Application)로 대표되는 Flex와 Silverlight 입니다.
(이번 포스팅은 Flex의 가장 최신 버전인 Flex 3를 바탕으로 합니다. )
RIA의 근간이 되었다고 말할 수 있는 Flash를 바탕으로 하는 RIA용 오픈 소스 프레임워크 입니다. Flex를 통해 모든 주요 브라우저, 데스크탑 및 운영 체제에 일관되게 배포할 수 있는 표현력이 풍부한 웹 애플리케이션을 구축하고 유지 관리할 수 있습니다.
최근에 발표된 Flex 3는 이전 버전보다 향상된 속도와 안정성을 기반으로 사용자 및 개발자들에게 다가가고 있습니다.
Silverlight
(이번 포스팅은 Silverlight의 가장 최신 버전인 Silverlihgt 2 Beta 1을 바탕으로 합니다. )
Flex와 마찬가지로 RIA용 오픈 소스 프레임워크 이면서 모든 주요 브라우저 및 데스크탑 및 운영체제에 일관되게 배포할 수 있습니다. 최근에 2 Beta 1을 공개하면서 기존 닷넷프레임워크와의 연동을 앞세워 빠른 개발 속도와 최적화된 사용자 경험을 앞세워 RIA세계의 패권을 노리고 있습니다.
차세대 RIA 시장의 대표주자로 꼽히는 Flex 그리고 Silverlight!
간단히 정의로만 살펴보니 많은 부분이 서로 닮아 있는 듯 합니다. 하지만 조금 자세히 들여다 보면 많은 차이점들을 보실수 있으실 겁니다.
총 5개의 라운드로 구성된 대결을 통해 어떤 차이점들이 있는지, 장단점은 어떤한지 살펴보면서 차세대 RIA 시장은 누가 잡게될 것인가에 대한 생각을 나눠보았으면 합니다. (각 라운드별 주제 및 평가는 필자의 개인적인 소견 및 간단한 지식을 바탕으로 합니다.)
그럼 나만의 VS 시작합니다!
왜냐하면 기존 웹의 문제점을 보완하고 강화하기 위해 각각의 컴포넌트(IE에서는 ActiveX)를 반드시 설치해야 하기 때문입니다.
양쪽 모두 각자의 컴포넌트를 이용자의 컴퓨터에 설치해야 한다는 점에 있어서는 무승부라 할 수 있겠으나 여기서 조금 더 주목해야 할 점은 지금까지 설치된 컴퓨터의 현황 입니다.
Flex를 원활히 서비스를 할 수 있게 해주는 Flash Player 9.0은 2006년 11월 베타테스터를 시작으로 2007년 초에 정식 발표 되었습니다. SilverLight의 경우 2008년 3월에 베타1 런타임이 발표되었습니다. 정식 발매된 버전과 아직 베타 개발중인 버전의 단순 수치 비교는 무리가 있을 것이라 생각됩니다만 한가지 짚고 넘어가야 할 부분이 있습니다.
네이버 메인화면. 붉은색은 플래쉬 부분
그것은 현재 구축된 웹 환경에 관한 것입니다. 한국을 기준으로 보았을 때, 사용자들에게 있어 웹의 출발점이라 할 수 있는 대형 포털(네이버, 다음, 엠파스, 네이트 등) 모두 flash를 이용하여 웹 페이지를 구축하였습니다. 사용자들은 미리 알고 있거나 혹은 사이트 이용이 어렵거나 깨지는 것을 방지하기 위해서 자연스레 플래쉬 플레이어를 설치하게 됩니다.
(여기서 이의 제기를 하시는 분들도 있다고 생각됩니다. 엄연히 따지면 플래쉬와 플렉스는 다르다고 볼 수 있으니까요. 하지만 사용하는 유저 입장에서는 그 부분은 거의 고려가 되지 않습니다. 플래쉬가 되었건 플렉스가 되었건 이미 컴포넌트는 설치되었고 그 기능을 충실히 수행하고 있기 때문입니다.)
하지만 Silverlight의 상황은 이와는 다릅니다. 1.0 버전이 정식으로 발표되긴 하였으나 아직까지는 완전한 모습을 보이지 못하여 개발자체가 진행되지 않은 곳이 많기 때문입니다.
또한 최근 보안 관련 문제로 컴퓨터에 새로운 프로그램을 설치한다는 것 자체를 꺼려한다는 것도 Silverlight의 인지도 상승 및 확산에 큰 어려움이 되고 있습니다.
내 컴퓨터에 설치한다는 것은 꺼려지리 마련.
정리를 하도록 하겠습니다.
이번 라운드는 Flex 그리고 Silverlight의 인지도에 관한 대결이였습니다.(어쩌면 Flash vs Silverlight 의 대결이였을 수도 있겠네요.)
각 프로그램의 장단점을 비교한다기 보다는 사용자들의 관점에서 바라보고 생각해야하는 의미의 라운드가 된 듯 합니다.
사실 이 라운드의 승자는 정해져 있습니다. 바로 Flex 입니다. 근 십년간 개발되고 다듬어진 Adobe의 Flex는 사용자의 컴퓨터에 말 그대로 '은근슬쩍' 녹아들어 여러 개발사들에게 있어 현 시대의 RIA 개발은 Flex로 해야 접근성이 높아진다는 의무감 아닌 의무감을 부여할 정도이니 말입니다.
다시 한번 정리 차원에서 말씀드립니다. Round 1의 승자는 Flex 입니다.
Round2 - 개발도구
먼저 Flex Builder3 입니다.
FlexBuilder3
이외에도 다양한 차트 컴포넌트 및 데이터 그리드, 성능향상을 위한 테스트 툴은 개발자에게 더욱더 큰 힘을 실어주는 중요한 요인이 되지 않을까 생각됩니다.
이제 Visual Studio 2008을 살펴보겠습니다.
VisualStudio 2008
아직까지 Silverlight를 Visual Studio 2008(이하 VS2008)에서 작업하기 위해서는 추가 모듈을 설치해야 합니다. 추가 모듈 설치 후 부터는 별도의 작업 없이 Silverlight 컨텐츠의 제작이 가능합니다.
여전히 강력한 인텔리센스 기능과 디버깅 기능은 과연 VS2008 이라는 감탄사가 절로 나옵니다. 여기에 xaml코드 디자인 뷰 기능은 개발 편의성을 더욱 높여주고, 코드 최적화 기능은 에러를 사전에 방지하게끔 도와줍니다.
그리고 또한 자체 리팩토링 , 다양한 테스팅 옵션, 기존 ASP.NET 과의 자연스러운 연동은 Silverlight 뿐만 아니라 기존 ASP.NET 개발자에게도 매력적인 조건이 아닐 수 없습니다.
FlexBuilder 3, Visual Studio 2008 단점을 없을까?
완벽해 보이는 두개의 프로그램 입니다만 몇가지 아쉬운 점들이 눈에 들어옵니다. VS2008에서의 xaml 편집 디자인뷰는 아직까지 완전한 모습을 보여주지 못하고 있습니다. xaml 코드를 에디터 창에서 직접 수정할 경우 개발자가 직접 디자인뷰 리로딩 액션을 취해야만 수정된 화면을 확인할 수 있습니다. 그리고 FlexBuilder2에서 부터 제공되는 CodeHistory 기능 또한 제공되지 않는다는 점이 개인적으로 아쉬운 부분입니다.
이제 FlexBuilder3를 살펴보겠습니다. 먼저 가장 아쉬운 부분은 2버전 부터 제기되던 빌드의 속도문제 입니다. 고화질, 고용량의 이미지 혹은 파일이 프로젝트 내에 포함될 경우 느려지는 빌드 속도는 이전 버전에 비해 향상은 되었으나 여전히 아쉬운 부분입니다. FlexBuilder3-아직 만족스럽지 못한 Build 속도.
또한 개발자, 디자이너가 mxml 코드 작성 , 디자인 수정을 FlexBuilder를 통해 해야한 다는 점도 문제점으로 보여집니다. MS가 Blend라는 툴을 제공하여 개발자는 VS2008, 디자이너는 Blend 라는 인식을 심어줌을 통해 협업, 그리고 작업 분담 더욱 편하게 한다는 점에 비교해 보았을 때 더욱 아쉽게 생각됩니다.
그렇다면 결론은?!
이번 라운드는 개발자 관점에서의 개발 편의성에 관한 것이였습니다. 조사를 하면서 Adobe 그리고 MS 모두 개발자들을 위해 다양한 지원들을 아끼지 않는다 라는 느낌을 받았습니다. 물론 그런 지원들은 다양한 루트를 통해 개발자들에게 전달되는 것 같구요.
그럼 이번 라운드의 승자를 발표하도록 하겠습니다.
이클립스 기반으로의 안정화, 소스 빌드 속도 향상 등을 통해 이전 버전에 비해 비약적인 보여준 Flex Builder3. 하지만 이런 보완 사항들이 이전버전과의 비교를 통한 향상이지 아직까지는 VS2008의 안정감, 최적화에는 따라오지 못하는 것 같습니다.
VS2008의 Silverlight가 이번 라운드의 승자입니다.!
Round3 - 디자인 도구
사용자에게 보여지는 것은 개발 부분이 아닌 디자인 부분이기 때문이죠. Adobe와 MS , 양쪽 진영 모두 디자인의 중요성을 간과하지 않고 디자이너를 위한 도구를 제공하고 있습니다.
먼저 Adobe의 Creative Suite3 입니다.
ADOBE - CREATEIVE SUITE 3
"포샵" 이라는 신조어까지 탄생해 낼 정도로 유명한 photoshop을 필두로 하는 Adobe의 대표 제품군입니다. Photoshop CS3 Extended , InDesign CS3, Adobe Illustrator CS3, Acrobat 8 Professional ,Flash CS3 Professional,Dreamweaver CS3 이렇게 총 6개의 제품을 포함하고 있습니다.
웹 에이전시 회사에서 근무하고 있는 저, 혹은 회사에 있어 웹 디자인의 시작은 당연스레 Photoshop을 떠올릴 정도로 디자인 계열에 있어 절대적 위치를 선점하고 있습니다.
Photoshop - Flash - Dreamweaver로 연계되는 디자인 작업은 자연스럽게 진행될 뿐더러 기존 작업들과의 연계도 탁월합니다. Photoshop에서의 이미지 편집 기능은 여전히 강력할 뿐더러 이전버전보다 고용량 이미지 처리에 있어 최적화 되어 있는 느낌입니다.
이번 버전에 포함된 Flash 역시 많은 부분이 개선되었습니다.
Action Script 3의 본격적인 지원, 이와 연계되는 애니메이션의 자동 Action Script 변환 기능 등을 통해 디자이너 뿐만 아니라 개발자들의 편의까지 돕고 있습니다.
Microsoft - Expression Studio
또한 애니메이션의 프레임 기반 구조는 여전히 디자이너들에게 환영받는 부분입니다.
이번에는 MS의 Expression Studio를 보겠습니다.
Adobe 에 대항하는 MS 디자인 제품군 입니다. Expression Web, Expression Blend, Expression Design, Expression Encoder 이렇게 총 4개의 제품을 포함하고 있습니다. 후발 주자로서 아직까지는 Abode 제품군에 모자라는 느낌이 듭니다.
Design - Blend - Web 의 무게감은 앞서 말씀드린 Photoshop - Flash - Dreamweaver 에 비하면 어른과 어린아이의 싸움 같아 보입니다. 하지만 후발 주자 답게 심플한 인터페이스, 새로운 기능으로 승부를 볼 것으로 생각됩니다.
가장 눈에 띄는 부분은 Silverlight 디자인의 근간이라고 할 수 있는 xaml 코드의 자연스러운 연계입니다. Design에서부터 지원되는 xaml export 기능은 이미지 작업의 추가적인 편집없이 Blend 혹은 Web에서 간단한 동작만으로 작업을 연계할 수 있습니다.
또한 개발자가 담당하는 코드 부분을 확실하게 분담할 수 있도록 제작되어 있는 인터페이스는 디자이너 뿐만 아니라 개발자 들에게도 많은 도움을 줄 것으로 예상합니다.
디자인, 디자인의, 디자인을 위한...
이렇게 디자인 도구에 대해 간단히 알아보았습니다. 물론 이번 라운드의 승자도 발표할 예정입니다.
Expression Studio 2의 xaml 코드의 자연스러운 연계부분은 상당히 주목할 필요가 있고 편의성도 대단해 보입니다. 그외에 심플한 디자인, 디자인 편의성을 돕는 다양한 기능들도 눈에 띕니다.
하지만 대학교 디자인 수업에 포함되어 있을 정도로 디자인 분야에 있어서 절대적 위치를 선점하고 있는 Adobe의 제품군을 따라오려면 아직 많이 남아 있는듯 합니다.
디자인이라는 섬세한 작업에 있어 손에 익어버린 도구들을 바꾼다는 것은 상당한 결심을 필요로 한다고 생각됩니다. 오죽했으면 단축키가 몇개 바뀌었다고 해서 새로운 버전의 Photoshop을 불편하게 생각하시는 분들도 많이 뵈었으니 말이죠.
이번 라운드는 Creative Suite3을 바탕으로 하는 Flex의 승리입니다.
Round4 - 개발 언어
지금까지 개발 도구 , 디자인 도구를 살펴보았습니다. 개발 준비는 모두 끝났으니 이제 차례는 소프트웨어의 영혼이라고 할 수 있는 개발 언어 부분이 되겠습니다.
Action Script 3.0을 본격적으로 지원하고 있는 Flex3, Javascript 기반에서 벗어나 닷넷 기반의 언어들을 지원하기 시작한 Silverlight. 이번 라운드의 승자는 어느 쪽이 될까요?
Actionscript3.0 코드입니다.
Flash 그리고 Flex에서 사용되는 기본 이벤트들을 제어하는 명령을 액션이라 하고 이런 액션들을 조합하여 만든 코드를 Action Scirpt라고 합니다. 사실 ActionScript는 Flash 내에서의 단순한 시각, 청각적 요소들을 제어하는 것으로 시작되었으나 점차 새로운 기능들을 추가해가면서 하나의 개발 언어로의 모습을 보여주고 있습니다.
이번 3.0 버전에서는 지난 버전보다 강화된 객체 지향적 요소는 기존 타언어 개발자들을 흡수하는데 있어 진입장벽을 더욱 낮추었습니다.
또한 자체적으로 포함되어 있는 다양한 라이브러리는 Flex 개발 속도를 더욱 빠르고 정확하게 할 수 있도록 돕고 있습니다. 그리고 이번 버전에서 Adobe는 ActionScript의 문서화를 통해 체계적이고 정확한 정보를 개발자들에게 전달하여 조금 더 혁신적인 UX를 제공할 수 있는 어플리케이션을 제작할 수 있도록 돕고 있습니다.
.Net Framework 의 Silverlight!
C#의 코드입니다.
닷넷프레임워크의 개발언어들이 드디어 지원됩니다. Javascript 기반에서의 1.0 버전은 개발 언어 자체의 한계성 때문에 Silverlight의 기능을 100% 발휘할 수 없다는 평이 많았습니다.
하지만 이번 버전에 들어오면서 기존 닷넷프레임워크 개발언어(C# , Visual Basic .Net)와의 연동이 가능해짐으로써 기존 개발자들을 추가적인 학습없이 바로 진입할 수 있게 되었습니다. C# 관점에서만 추가적으로 살펴보면, 응용프로그램 수준의 몇몇 기능들을 제외하고는 무리없이 사용할 수 있을 정도의 개발 편의성을 제공합니다.
또한 방대하게 구축되어 있는 MSDN은 기본 배경지식 없이도 C#, Visual Basic .Net의 개발을 가능케 해줄 것으로 보입니다. (아직까지 Silverlight관련 문서는 상대적으로 부족한것으로 생각됩니다만 지금까지의 MS를 보았을 때 점차 늘려나갈 것으로 생각됩니다.)
여기에 추가적으로 제공되는 어플리케이션 기반의 서포트 컴포넌트들은 쉽고 빠른 Silverlight 어플리케이션 개발을 가능케 합니다.
개발언어로 시작한 C# , VisualBasic.Net.
개발언어가 되고 싶은 ActionScript
Actionscript 가 3.0 버전으로 올라오면서 많은 변화 및 수정을 통해 객체 지향의 개념을 담아내려고 하는 모습을 이곳저곳에서 볼 수 있었습니다. Adobe에서 조차 기존 Java 개발자들이 어렵지 않게 Actionscript로 진입할 수 있을 것이라고 홍보하고 있구요.
하지만 기존 언어들과는 차이가 없다고 할 수는 없기에 Actionscript를 처음 접하는 개발자들이라면 기초 문법 및 동작과정들을 학습하는 시간이 반드시 필요할 것이라고 보여집니다.
이와는 다르게 Silverlight의 경우 C#, Visual Baisc.Net 개발자들을 전혀 거부감없이 수용할 수 있다는 점에서 엄청난 메리트를 가진다고 생각됩니다.
C#, VisualBasic.Net 을 등에 엎은 Silverlight를 이번 라운드로 승자로 선정합니다.
마지막으로 Adobe, MS에서 Flex, Silverlight를 위해 기술적, 사회적으로 펼치는 다양한 지원 활동을 비교해 보도록 하겠습니다.
Adobe - 알게 모르게 조용히, 그러나 강력하게!
RIA 세계에 있어 절대적 위치와 폭넓은 인지도를 바탕으로하는 Adobe의 Flex는 대규모의 프로모션 행사보다는 중소규모의 다양한 방법으로의 지원을 통해 점차 세력을 확장해가고 있습니다.
먼저 다양한 컴포넌트 지원을 통해 개발자들의 편의성을 돕고 있습니다. Flex의 Chart 서비스는 독립적인 제품군으로 구별될 정도로 강력한 기능을 자랑하고 있습니다.
Flex Chart는 여전히 쉽고 강력한 기능을 자랑합니다.
그리고 데이터 송수신 암호화, 스트리밍을 지원하는 서버군의 가격을 대폭 하향함으로써 개발자체의 경제적인 부담을 줄이고 있습니다. 또한 미래의 Flex 개발자들을 위해 학생들에게 Flex Builder 3를 무료 배포하고 있습니다.
Microsoft - Silverlight, Silverlight, Silverlight!
막대한 자본을 바탕으로 하는 MS는 연일 Silverlight에 관한 다양한 정보들을 말그대로 쏟아내고 있습니다. 다양한 세미나 및 강연활동, MSDN 등을 통해서 Silverlight 자체의 인지도 뿐만 아니라 개발자들을 위해 개발단계에서 부터 돕고 있습니다.
그리고 닷넷프레임워크를 바탕으로 하는 Silverlight는 별도의 추가적인 제품없이 다양한 방식의 데이터 암호화 기능을 지원하고 있습니다.
또한 고화질 스트리밍 처리에 있어 최적화된 모습을 보여줌으로써 웹 2.0시대를 맞아 화제가 되었던 UCC 가 앞으로는 Silverlight로 제작되지 않을까 하는 생각을 조심스럽게 해봅니다.
Silverlight - HD급의 고화질 영상을 웹상에서 자유롭게.
드디어 최종 라운드!
이제 마지막 라운드의 승자를 정해보도록 하겠습니다.
오픈 소스 기반, 무료 SDK, 고가 서버군의 가격인하 정책 등을 앞세워 조금 더 확실한 RIA 세계의 지배자가 되려는 Flex.
이에 맞서 기존에 구축되어 있는 다양한 개발자 네트워크를 바탕으로 기존 제품과는 차별화된 정책(무료화, 플랫폼 독립화)으로 기존 오프라인 소프트 시장에서 뿐만 아니라 RIA세계에서도 패권을 거머쥐려는 MS의 Silverlight!
상당히 박빙의 승부가 될 것으로 예상합니다만 지금까지 양 진영에서 내세운 '당근'만을 보았을 때는 Silverlight의 손을 들어 주고 싶네요. 비슷한 서비스라면 기존 서비스의 가격 인하보다는 '무료','공짜' 쪽을 선택하는 것은 어찌보면 당연하다고 생각이 듭니다.
그외에도 고화질 스트리밍 처리 및 닷넷 프레임워크와의 자연스러운 연동은 Silverlight에 더욱 더 큰 기대감을 심어주기에 충분한 요소로 생각됩니다.
최종 라운드의 승자는 Silverlight 입니다!
이렇게 총 5라운드의 대결을 모두 마쳤습니다. 최종 스코어를 정리해보도록 하겠습니다.
근소한 차로 Silverlight가 승리하였습니다. 어디까지나 "나만의 VS" 이기 때문에 지금 이런 결과가 앞으로의 방향을 예측했다 라고 까지 말씀드리기 어렵습니다만 혹시나 하는 생각이 들기도 합니다. 추가적으로 개인적인 의견을 한가지 더 첨부하려고 합니다. 2008년 현재 Silverlight는 확실히 도전자적인 입장에 있습니다. 현재의 패권은 Flex가 쥐고 있구요.
이번 나만의 VS 에서는 인지도 부분이 하나의 라운드로 진행되어 단순히 1점 이라는 수치 밖에 얻지 못하였지만 인지도의 차이라는 점이 앞으로의 어떻게 작용할 것인지 미지수입니다.
Silverlight가 순식간에 그 차이를 메꿀수도 있고 아니면 영영 따라잡지 못할 수도 있을 것으로 보입니다. 하지만 만약 Silverlight가 이 차이를 따라잡지 못한다면 상대방보다 뛰어난 기능을 가지고 있다고 할지라도 어쩌면 영영 2인자의 자리에서 머무를 수 밖에 없을듯 합니다. 아무리 좋아도 쓰지 않으면 무슨 소용이 있을까요...
과연 최후에 웃는 자는 누가 될 것일까요? 점점 흥미로워지는 RIA 세계입니다. 물론 저도 관심을 가지고 지켜보겠습니다.
그럼 나만의 VS 이만 줄이겠습니다.

이올린에 북마크하기
이올린에 추천하기
