'플렉스'에 해당되는 글 2건
- 2008/02/05 Flex 3, 플렉스 3 그리고 Air (Adobe Integrated Runtime)
- 2008/02/05 Flex? 플렉스?
아직은 미개척 분야라지만 현재 RIA시장은 Flash와 Flex의 Adobe사가 강자라고 할 수 있다. 그런 Adobe에서 Flex 3와 AIR의 발표를 앞두고 있어 웹 개발자들의 뜨거운 관심을 받고 있다.
2006년 6월에 발표된 Adobe의 플렉스 2는 스스로 정체정을 찾지 못한 채 표류하며 개발자들에게 다가서지 못하는 듯 보였다. 하지만 지금은 Adobe의 지속적인 개발자 지원정책으로 매우 친숙해진 이름이 되어버렸다.
Adobe는 자바 개발자들에게 다가서기 위해 이클립스 기반의 플렉스 2 빌더는 성공적인 안착을 하였고 웹 개발 툴로 Jolt Award와 eweek Excellence Award등에 선정되기도 하였다. 그리고 각종 자바 세미나에 참여하여 플렉스에 대하여 이야기 하고 있으며 .NET과 PHP, Ruby등 다양한 개발자의 지원을 지속적으로 하였다.
지금의 플렉스는 각종 웹 관련 세미나에서는 빠지지 않는 주제가 되어 버렸다.
참가비가 360불이기 때문에 이름 붙여진 360 플렉스는행사는 플렉스 개발자들이 기다리는 행사였는데 이번에 2007년도 로드맵에 플렉스 3(코드명 Moxie)와 더불어 아폴로(Apollo)라는 흥미로운 프로젝트에 관심이 집중 되었다. 특히 데스크톱과 웹의 경계를 넘나드는 아폴로에 대한 소문은 이미 몇몇 데모를 통해서 점점 더 커지고 있었다.
2007년 3월에 아폴로 베타버전이 7월에 플렉스 3 베타버전이 공개 되었고 2008년 상반기 정식버전 릴리즈로 개발이되고 있다. 하지만 대부분 구현기능이라던가 핵심적인 가치에 대해서는 공개가 되어있다.
놀라운 것은 몇몇 기능을 제한한 Blaze DS를 오픈소스로 공개하였다. 이는 급변하는 요구사항에 대응하기 위해서라고 하는데 개발자들에게 대단히 환영받고 있는 부분이며 실제로 많은 개발자들이 참여하고 있다. 개발자들의 소통문제를 위해 Flex Bug and Issue Management System이라는 JIRA기반의 버그관리 시스템을 오픈하여 개발자들이 직접 참여하고 모든 과정을 공개하는 정책을 선택하였다.
Flex 3의 핵심 기능은 사실 아직 나오지를 않았기 때문에 다음에 논하기로 하겠다. 하지만 웃긴 것은 'Thermo'라는 프로젝트로 인해 Flex 3이 나오기도 전에 Flex 4에 대한 이야기가 심심치 않게 들려온 다는 것이다. 뭐.. 필자는 Flex 3도 벅차기에 Flex 4는 한참 후에나 글을 적을 것 같다.
여기서 잠시 AIR에 대해 논해보자.. 사실 앞서 말한 아폴로라는 프로젝트는 법적인 문제로 인해 이제는 AIR(Adobe Integrated Runtime)라는 이름으로 오는 3월 릴리즈를 준비하고 있다.
AIR는 쉽게 설명해서 PC내에 설치되는 응용프로그램을 만들어내고 실행 할 수 있는 SDK와 같은 실행환경을 의미한다. 당연히 멀티 OS를 지원하기 때문에 별도의 추가 작업 없이 배포할 수 있게 된다.
AIR는 기존의 웹 개발 기술을 안다면 데스크탑 응용프로그램을 만들 수 있다는 말이 된다. 이러한 특징은 웹 개발자들과 데스크톱 개발자의 영역이 서로 호환되는 부분이 생기는 효과를 가져오게 될 것이다.
Flex 2.0.1 버전에서도 AIR 개발을 위한 플렉스 빌더 확장이 제공되지만 플렉스 3는 기본적으로 AIR 개발 기능이 포함되어 개발자들은 기존의 개발한 내용을 가지고 웹 응용으로 만들 것인지 데스크톱 응용으로 만들 것인지 선택할 수 있다.
국내에서 AIR를 이용한 몇몇 응용 프로그램들이 선보여지고 있는데 많이 알려진 것이 통합메신져 Mobsword이다. (http://mobsword.com)
Adobe!! Open Source로의 첫발을 내딛다.
2007년 2월 어도비에서는 플렉스에 대한 오픈소스 정책을 발표하였고 그 시기는 마소(마이크로소프트)의 실버라이트 발표시기와 묘하게 맞물려서 어도비에서 내놓은 극약처방이라는 말도 많았다. 하지만 결과적으로 플렉스 3 개발 정책에 긍정적인 피드백으로 작용하고 있다.
어도비에서 진행하고 있는 오픈소스 정책 외에도 플렉스와 관련된 오픈소스 프로젝트 들은 이미 많이 진행 되고 있다. 잘 알려진것으로 RIA 개발 프레임 워크인 Cairngorm(http://www.adobe.com/go/cairngorm) 프로젝트와 어도비 기술 기반 오픈소스 프로젝트인 RIAForge(htto://www.riaforge.org)에 등록된 수십 개의 프로젝트가 모두 오픈소스 기반으로 진행된다.
어도비의 오픈소스 정책은 오픈소스 개발 진영에 힘을 실어주며, 특히 가지고 있는 제품군에 대한 스펙 공개가 저점 진행 되어감에 따라 좀 더 흥미로운 프로젝트들이 만들어 질 것이다.
국내 현실... 개발자가 부족해!!!
국내에서는 플렉스 개발이 기업용 시장에 먼저 도입이 되서 그런지 플렉스 개발의 수요는 느는데 플렉스 개발자들이 많지 않다. 그러다 보니 기업에서는 기존의 다른 개발자에게 강제적으로 시키는 악순환이 벌어지고 있다고 한다. 플렉스는 기존에 사용하던 언어와는 조금 다른 관점을 가져야 하는 만큼 기회가 된다면 필히 교육을 받아야 겠지만 안된다면 스터디그룹을 활용하면 큰 도움이 될 것이다.
플렉스에 대한 공식적인 한글 문서는 제공되지 않는다. 하지만 개발자 그룹 내에서 몇몇 개발자들이 시작한 번역작업이 모아져 하나의 비공식 사이트로 운영이 되고있다. 플렉스/Air Docs한글화 페이지(http://flexdocs.kr)이라는 곳을 통하여 API를 비롯한 각 부분의 문서가 제공되고 있다. 또한 번역 작업의 모든 내용이 Subversion을 통해 공개되고 참여할 수 있어 누구나 원하는 분들은 참여가 가능하다.
오픈소스라 함은 개발자 친화적인 개발환경을 만들어 내고 있다. 오픈이 되다보니 더 많은 생각을 공유하게 되거 더 많은 방법들이 나타나고 그 중 최적화된 작업을 이끌어내게 된다. 올 3월 나오는 플렉스는 여러모로 큰 기대를 하게 만든다.
<<참고자료>>
1. http://www.onflex.org/ted :: 어도비의 플렉스 에반젤리스트 테드 패트릭(Ted Patrick)의 블로그
2. Microsoftware 08/01호
2008년 웹쪽에서의 트렌드는 아무래도 작년부터 화자되었던 웹 2.0이 아닌가 싶다.
web 2.0을 기술적으로 구현하는데 있어서 가장 많이 눈에 뛰는 단어는 Ajax였다. Ajax의 산출물은 어떠한 클라이언트, 브라우저, 운영체제, 디바이스등에 독립적으로 RIA를 구현할 수 있게된다.
Ria는 IT word에 포스팅 했으므로 추가 설명하지는 않겠다.
Ajax는 차세대 웹 어플리케이션을 위한 최선의 대책이라 이야기 되어 왔지만 개발자들이 귀찮아 하는 베스트 3에 빠지지 않는 Javascript를 사용함으로서 개발자와의 거리를 두었는지 모르겠다. 이는 실버라이트 1.0과 상황이 비슷하다고 판단되어진다. 그런 반면 Flash 수준의 화려한 UI를 보여주는 최선의 대안으로 Flex가 등장하였다.
그렇다고 Javascript나 Ajax를 깍아내리는 것은 아니다. 지구상 곳곳에 쓰이고 있는 언어가 Javascript라고 필자는 생각하니 말이다. 단지 Flex는 Ajax의 단점을 장점으로 가졌다랄까?
Flex(Flex Presentation Server)??
web 2.0의 RIA를 구현을 쉽게 해주는 스크립트 언어이다. Flash 기술로부터 탄생하였기 때문에 두 기술로 구축된 사이트는 비슷한 UI를 가진다. Flash는 각종 도형과 컴포넌트들을 마우스로서 디자인 하는 반면 Flex는 그런 Flash 컴포넌트들을 XML 태그 스크립트를 이용하여 코딩한다.
Flex.. 어떤 기술이.??
개발언어 측면에서 플렉스는 XML, EXMAScript, CSS, UTF-8 기술 요소를 사용한다.
플렉스의 mxml은 'mx'라는 XML 네임스페이스를 사용하여 XML 문법을 따르며 ECMAScript는 플렉스 앤션스크립트가 준수하는 표준으로 자바스크립트와 유사하다. 또한 MXML 스타일은 CSS문법을 지원하고, 파일은 UTF-8로 작성 및 저장되어 서버에서 처리된다.
서버 서비스 측면에서 DOM 레벨 3 이벤트 모델은 플렉스의 이벤트 모델로 사용되며 DOM 트리 구조를 통해 이벤트를 전달한다. 플렉스 애플리케이션은 HTTP 통신 뿐 아니라 XML 통신 프로토콜인 SOAP 메세지로 데이터를 송수신할 수 있다. 이외에 플렉스는 자바 애플리케이션 서버에서 작동되며 플렉스에서 자바진즈 컴포넌트의 메쏘드를 호출하여 결과를 받을 수 가 있다.
Flex 서버의 구성!?
Flex는 국제 표준에 기반하여 구성되었고 ActionScript(Javascript), MXML(XML), DOM3 등의 표준위에 Adobe의 API와 클래스 라이브러리가 추가된 형태이다. Javascript의 언어적인 단점을 보완한 ActrionScript는 강력한 객체지향 언어로 거듭났을 뿐만아니라 Flash의 기존 버전에서 검증되었던 강력한 라이브러리들을 Flash보다 편리하고 쉽게 이용할 수 있게 해준다.
Flex의 구동 원리..
사용자가 플렉스로 구현된 사이트로 접속하면 웹애플리케이션 서버에 설치된 플렉스 서버는 MXML 코드를 SWF(플래시 실행파일)로 컴파일해서 사용자 PC에 전송되어 플래시 플레이어가 이를 보여준다.
이러한 Flex로 구축하였을 때에 제일 큰 장점은 플레시 플레이어로 작동이 되기때문여 여타 플랫폼이나 운영체제로 부터 독립적으로 동일한 결과물을 얻을 수 있다는 것이다. 또한 한번 로딩이 되면 서버로부터 실행코드를 받을 필요가 없어 속도가 빠르며 서버의 부하가 적다. 개발자 측면에서도 XML태그와 액션스크립트로 코딩되므로 Html코딩을 이해하는 수준정도로도 쉽게 배울수 있는 장점이 있다.
무엇보다 컴포넌트를 다양한 방법으로 만들어 코드 재사용이 높아 개발속도가 향상이 된다. 다른 시스템과 다른 애플리케이션과 연동할 수 있는 다양한 방법도 제공을 한다.
<<참고사이트>>
1. http://blog.naver.com/cache798






Recent Comment