상단 사이드바 열기

런타임 시장 6강체제(?)로 바뀌려나

런타임 시장 6강체제(?)로 바뀌려나 분류없음 2008/06/20 16:33
버티컬 런타임들이야 수도없이 많지만, 웹의 RIA라고 불리는 트렌드의 선도를 통해서 런타임을 데스크탑으로 침투시키려는 전략을 가진 업체들의 판도가 손을 든 애플이라는 플레이어로 6강 체제로 바뀌려고 하고 있다.

Adobe (Flash/Flex/AIR 등)
Microsoft (Silverlight 등)
Sun (JavaFX 등)
Google (AJAX, Gears 등)
Mozilla (Firefox/Mozilla 등)

그리고 Apple (WebKit/SproutCore 등).

Apple은 표준을 통해서 가겠다고 선언하고 있다. Apple이 얼마나 판세에 영향을 미칠지는 미지수이지만, 최소한 이번 WWDC를 통해서 Hype을 만드는데는 성공했다. 표준이라고 해도, 새로 만들어지고 있는 표준들을 생각하면 브라우저의 업그레이드를 통해서 런타임을 심는 전략인 것이다. 정확히 이야기하면 사실 이것은 뉴스거리도 아니다. 우리는 웹표준을 통해서 블라블라하겠다고 하지 않은 업체가 있나? 역시 잡스횽은...

Google이 "웹을 기반으로 한 회사이기 때문에 웹표준만을 무기로 미래를 만들 것(Google의 웹OS??)이라"는 순진한 생각은 오래전에 바이바이다. 웹표준 관련한 드라이빙에 경험과 노하우가 많은 것이지, 그것이 방향이라는 것은 아니다. 웹(브라우저)만으로 할 수 있는 것들의 한계가 점점 가까워지고 있는 상황에서는 더더욱 말도 안된다. 여러번 포스팅했지만, 데스크탑에 어떤 형태로든 런타임을 침투시키는 일은 그 한계를 타파하는 가장 실용적인 방법이다. 아니나 다를까 Google에서 Flash나 Silverlight와 비슷한 뭔가를 만들고 있다는 소문도 돌고 있다.

Mozilla가 가려는 방향은 당연히 웹표준을 지키자이지만, XPCOM이나 XUL/XBL등등의 플랫폼 요소들이 무기다. 이들로 만든 응용프로그램 중 한가지가 FF인 것이고, 이 한가지가 그렇게 성공한 것이다. FireFox 3.0이 드디어 정식 버젼으로 공개되었는데, 물론 지금 시점에서 Mozilla의 홍보수단으로서 더할나위없는 FF지만, Mozilla에서 가려는 미래 역시 Apple과 비슷하다. Apple과는 크게 다른 점은 100% 오픈소스 컴퍼니라는 점이겠고, 이는 지금의 트렌드에 있어서 꽤 큰 성공 요소이다.

Sun의 JavaFX가 대대적(?)으로 홍보되어 잠시나마 입에 오르내렸었고, Adobe Flash 10이 베타로 공개되었고, Microsoft Silverlight 2의 베타 2가 공개되었다. Flash/Flex와 Silverlight은 술래잡기 놀이를 하고 있는데 한쪽에서 어떤 것을 발표하면 다른 쪽에서 그것과 함께 또 다른 것을 발표하고 왔다리 갔다리.

브라우저(IE, Safari, FF)를 가진놈이거나, 브라우저에서 도는 잘나가는 플랫폼(Java)/서비스(Google)를 가진 놈이거나. 다음 타자는?

역시 잼난.

- 철수(charlz)(20080620)
Posted by charlz
Creative Commons License이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

데스크탑 = 나 (I)

데스크탑 = 나 (I) 분류없음 2007/07/11 01:37

많은 사람들이 데스크탑은 죽었다, 웹이 왕이고 웹표준이 살길이다라고 이야기하는 딱 지금의 이 시점이 왜 "데스크탑=나"냐는 질문에 대해서 되려 조금 더 이야기할 필요성이 조금 더 강해진 시점이라는 생각이 든다. "지금의 이 시점"이라 함은, 이 블로그를 통해서 계속 이야기하고 있던 다양한 방법을 통하여 크로스플랫폼이라는 것을 들고 나오는 커다란 기업들의 공세가 눈에 띄게 시작한 시점이기도 하고, 그 크로스플랫폼을 이루기 위해서 런타임이라는 것을 사용자의 주머니에 은근슬쩍 밀어넣는 그런 방식이 어떻게 성공하게 될 것인가가 가시화되고 있는 시점이기도 하며, 이것이 정말 중요하게 생각하는 것이 결국 "데스크탑"이라는 것이 자명해지는 그런 시점이기도 하다.

크로스플랫폼이라는 말을 잘 풀어서 생각해보면 다양성을 존중해준다는 의미로 받아들여질 수 있기도 하다. 사용자가 뭘 쓰든지간에 존중해주겠다는 일종의 개방성(openess)이며, 한가지로 통일(unification, 단일화)하기 위한 노력과는 별도로 통일하지 않고도 통일하겠다는 방식의 변화이다. 나라는 개인이 좀 덜 획일화될 수 있는 하나의 방향성이고 개인성이 더 커지고 있는 세태를 이야기해주고 있는 것이기도 하다. 나는 내가 사용하는 것으로 인해서 고립될 필요가 없고, 개인이 커지면서도 함께일 수 있다는 나름대로 강한 메시지다.

기업시장에서도 수년동안 서서히 바뀌는 패러다임의 주류 중 하나가 이종(heterogeneous) 환경의 통합(integration)이다. 기존에 있던 혹은 새로 도입한 뭔가가 서로 소통하기 위한 비용은 10년전과는 완전히 다르고, 한가지만 써서 서로 독립되어 (홀로 훌륭하게) 동작하는 것은 구세대의 이야기인 것이다. 각기 다른 플랫폼/도구등은 각기 다른 장단점이 있고, 이를 타협(tradeoff)하는 것이 아니라 장점을 취하고 소통하게 하는 방식이라는 것이다.

기업시장에서는 사람 대 사람의 통신이 아니기 때문에 - 물론 사람과 인터랙션하는 부분을 제외한 부분의 이야기 - 런타임이라는 타협의 덩어리가 필요하지 않기 때문에 메시징(messaging)을 통해서 이루고 있지만, 일반 사용자가 대상인 웹에서는 기업의 이런 변화와 더불어 이 런타임이 필요하다. 여기서 이 일반 사용자라고 칭하는 것이 사실은 일반 사용자를 "데스크탑"이라는 녀석으로 한 겹 쌓아놓은 개체인 것이다. 이 인간의 복잡성을 걸러주는(filtering) 부분인 것이다.

"데스크탑=나"라는 메타포적인 말은 변화하는 세상에 맞춰 이렇게 걸러주는 역할을 하는 녀석에 침투하기 위한 기업들의 부단한 노력에서부터 시작된다. 이전에는 어느 하드웨어 아키텍쳐냐가 가장 중요했지만 어느 OS냐가 더 중요해지기 시작한 시절이 있었고 점차 어느 브라우저냐라는 말이 조금 식상해져있을때 어느 런타임이냐라는 말이 시작하게 된 것이다. 이 모든 것들에 대해 나를 대변해주는 것은 데스크탑이라는 것이다. 미래의 대세는 모바일 디바이스일 것이다 홈 서버일 것이다 또다른 무엇일 것이다라고 이야기되지만 그것은 아마도 아직은 아닌 다음 단계의 모습이고, 각 개인을 대변해주는 뭔가가 있어야되는 것은 분명하다는 생각을 하고 이것이 데스크탑일 것이라는 이야기를 해본다.

p.s. 데스크탑 컴퓨터를 이야기하는 것이 아니라 내가 내 눈앞에서 보고 있는 이 가상의 공간으로써의 데스크탑을 이야기하는 것.

- 철수(charlz) 20070711

Posted by charlz
Creative Commons License이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

웹 위의 크로스 플랫폼 전략(3) - 그림의 떡같은 브라우저 밖 세상

웹 위의 크로스 플랫폼 전략(3) - 그림의 떡같은 브라우저 밖 세상 씨리즈 2007/06/06 16:25

"Web as a Platform"은 브라우저라는 창 안의 세상만으로는 아직 익지않은 감입니다. "Web as a Platform"이라기보다는 그냥 브라우저 플랫폼입니다. 웹 응용프로그램이 아무리 수십만대의 클러스터로 이뤄진 검색엔진을 통해서 그리고 엄청난 데이타를 자랑하는 맵 서비스의 매쉬업이라고 하더라도 브라우저 안에서 밖에 돌아갈 수 없는 불쌍한 신세(?)의 응용프로그램입니다. 지도를 3차원으로 보여주려고 해도, 검색의 생산성을 시각적 효과로 향상시키려해도 그 Creativity에는 브라우저 UX라는 벽에 있습니다. 그것은 꽤 오랫동안 사용자에게 익숙해져 있는 것이기도 하기 때문에 타파가 되려 시간이 지날 수록 더 어려워지고 있는 딜레마에 위치한 것이기도 합니다.

브라우저를 벗어나려는 시도는 다양했습니다. 정확히 이야기하자면, 브라우저의 표준세상을 확장하거나 새로운 방식을 제시하는 시도라고 해야겠죠 - 그것 자체가 브라우저를 변형하거나 벗어나는 것이니까요. 언젠가 이야기한 것처럼 브라우저의 안이냐 밖이냐는 사실 state of mind입니다. 사용자가 받아들이는 입장이지 기술 자체가 불가능 하기 때문은 아닙니다. 하지만, 대부분의 시도가 아직까지는 실패로 돌아갔거나 효과가 크지 않은 소강 상태에 있습니다. 여러가지 이유가 있겠지만서도, 그 이유 중 하나는 변화가 일어나기 위해서 모두가 사용할 직접적인 필요성을 가진 - Google이 자신들의 서비스 사용자 기반을 통해서 AJAX의 기반이 되는 기술을 전파한 것과 같은 - 구심점이 없었다는 것입니다. 굳이 브라우저를 통해서 브라우저 밖으로 갈 기술이라면 그냥 브라우저 밖에 있는 기술을 사용하면 되는 것이고 꼭 브라우저 안일 필요가 없었기 때문이었습니다.

브라우저로 보이는 자료를 3차원 그래프로 보여주는 것으로 사용자의 생산성을 높이는 방법은 수없이 많습니다. 하지만, 반대로 현재 브라우저를 통해서 보이는 자료가 3차원 그래프로 보여졌으면 좋겠다고 생각하는 경우는 하루에 얼마나 될까요. 웹브라우징을 하다가 보이는 사진 관리 사이트에서 사진이 펑펑 튀어나오고, 빙글빙글 돌아갔으면 하고 생각하는 경우는 얼마나 될까요. 일반 사용자는 소위 우리가 이야기하는 벤더 락인(Lock-in)이라는 현상과 비슷하게 기술 락인이라는 것을 체험하게 됩니다. 체험이라기보다는 쉬운말로 적응 후 익숙이라고 해야할까요. 재미난 예로, 브라우저와는 상관 없지만, 컴퓨터를 잘 모르는 어떤 사용자에게 화면 UI에 있는 버튼을 누르라고 했더니 버튼을 못찾고 포기했다는 이야기가 있습니다(뭐, 그것 비스무리한 이야기일겁니다;). 컴퓨터에 익숙한 사람이라면 척보면 알겠지만, 뭔가 물리적으로 튀어나온 것을 찾았다면 못찾는게 맞는 것일 수도 있겠죠. 서비스를 제공하는 입장에서는 이런 생각을 하지 않을 수가 없습니다. 우리가 만든 것이 익숙한 것이 좋을까 아니면 덜 범용적이고 익숙하지는 않지만 더 낫다고 생각하는 UX가 좋을까 등의 다양한 요소를 가지고 잽니다(measure).

브라우저 안의 세상은 밖의 세상보다 상대적으로 대부분 규격화된 굉장히 익숙한 모습을 제공합니다. 사용자가 어디를 먼저 볼지를 예측할 근거자료도 많고, 뭘 많이 클릭할지에 대한 연구자료도 많습니다. 그런데 이를 벗어나는 것은 단순히 브라우저가 아닌 응용프로그램에 관한 것이 아니라 이 둘이 연결되어 생기는 예측 불가능한 시너지 혹은 부작용을 낳게 됩니다. 스케일은 다를지라도 인터넷이라는 것으로 우리네들이 연결되는 것에 대한 파급효과를 만들 당시에 예측하기 힘들었던 것과 의미상 다르지 않습니다. 그림의 떡 같은 브라우저 밖 세상 - 웹이라는 거대한 것을 플랫폼으로써 주도하려는 계획 - 을 꿈꾸던 (그 엄청나게 똑똑한) 기업들이 갑작스럽게 뛰어넘어야 할 틈(chasm)이 최소화되어야 한다는 것을 몰랐기 때문에 군침만 흘린 것은 분명 아닐것입니다. 수백가지의 요소가 과연 익기 시작하고 있는가를 판단할 수 있는 방법이 없었기(혹은 너무나 어려웠기) 때문이죠. 또한 익었다고 하더라도 그 요소를 주도하고 있느냐는 관건도 있습니다.

밖으로 나오기 위한 일차적인 요소중 하나는 "되도록이면 많은 사람들"이 혜택을 누릴 수 있거나 혹은 사람들이 그렇게 생각하도록 보여야한다는 것은 필수가 되었습니다. 이것이 크로스플랫폼이겠습니다. 이를 기반으로 기업들은 자신들이 좀 더 앞선 부분에서부터 -  Adobe는 flash와 동영상에서부터, Microsoft는 OS 플랫폼의 노하우에서부터, Sun은 Java 플랫폼 기반에서부터, Mozilla는 브라우저 플랫폼 기반에서부터, 그리고 Google은 서비스 기반에서부터 브라우저 밖을 벗어나려고 하고 있습니다.

(다음편에 계속...)

Posted by charlz
Creative Commons License이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

Silverlight, 마이크로소프트의 차세대 웹 전략의 교두보(III)

Silverlight, 마이크로소프트의 차세대 웹 전략의 교두보(III) 씨리즈 2007/05/30 01:55

첫 글에서는 탄생 배경을, 두번째 글에서는 Media Side Story에 관해서 이야기를 했습니다. 그런데 이런 이야기를 하면서 드는 의문이 있을 것입니다. SilverLight를 그렇데 대단한 것으로 이야기한다면 마이크로소프트의 전략은 지금의 웹과 그 기술들을 넘어서 퇴색시키려는 전략을 이야기하는 것일까요? 아주 먼 미래라면, 굳이 마이크로소프트의 기술이 아니더라도 지금과는 어떤 다른 것을 생각할 수 있을 것이겠고, 단기간내의 기술이라면 그렇게 하고 싶다고 하더라도 가능하지 않은 시나리오일 것입니다.

마이크로소프트의 Presentation 기술들을 X,Y축을 Rich와 Reach로 하여 그려보면 그 모습은 한눈에 보입니다:

사용자 삽입 이미지

Microsoft Rich & Reach


Rich란 더 풍부한 사용자 경험을 위한 기술을 이야기하고 Reach는 더 많은 사용자들에게 닿을 수 있는 성격을 말합니다. Future라고 표시되어있는 부분은 아직 미지의 영역이라는 뜻이고 RIA의 방향성과 비슷한 영역일 것입니다. 왼쪽 아래의 영역은 굳이 갈 필요가 없는 영역이겠죠. (참고로 Adobe의 Mike Chambers가 그린 그래프 같은 경우는 시각적으로 Adobe의 기술이 우월해보이는 모습을 위해서 Desktopiness와 Webiness를 한 축에 넣은 이상한 방식을 썼지만 - 마치 WPF가 한쪽 구석에 쪼그리고 앉은 것 같죠^^, Desktopiness의 능력이 한정되어있는 것같이 보이는 이런 모양은 비교자료로는 썩 적합하지 않은 것 같습니다. 왜냐하면 기술의 용도나 기술 자체를 속성이 아닌 겨우 웹과 데스크탑이라는 주관적인 기준으로 제한한 것일 뿐이고 데스크탑 기술이 성장할 수 있는 방향성을 전혀 보여주지 않으니까요.)

위 표에서 Future라는 대형 업체들이 군침을 흘리는 영역을 마이크로소프트가 가기 위해서는 WPF가 Reach를 늘리는 방법이 있거나, HTML/CSS가 Richness의 도약을 하는 두가지 방법을 생각할 수 있겠지만, 이는 불가능한 것은 아니라고 하더라도 이미 단기간에 이루기에는 쉽지 않다는 것을 많은 사례들이 증명해줬습니다.

SilverLight는 이 간극을 최대한 줄여줄 수 있는 기술로 만들어진 것은 이전에도 설명을 했었습니다. 한쪽 속성을 가지는 기술로 현재로써는 상충되는 다른 속성을 가지게 하는 것이 어렵다면, 아예 처음부터 두가지 속성을 가진 기술을 만들어서 그 다음을 생각하기 쉽게 하자는 것입니다. 가능하다면 어느쪽 기술과 합쳐질 수 있다면 금상첨화일테니 그럴 "가능성"만은 남겨두고 말이죠. SilverLight는 태생부터가 위 표의 Future 영역으로 뻗어나갈 수 있는 여지를 위해서 만들어진 기술입니다. 마케터라면 "누구나 쓰는 HTML/CSS + 풍부한 경험의 WPF = 누구나 쓰는 풍부한 경험"을 지향한다고 이야기하겠죠.

SilverLight는 그런 이유로 WPF의 여러가지 성격 외에 ASP.NET과 ASP.NET AJAX가 잘 조화를 이룰 수 있는 형태로 만들어졌습니다. SilverLight의 XAML이 Text 형태인 것은 그리고 XML 형태인 것은 굳이 ASP.NET 뿐만 아니라 PHP든 Java든 어떤 언어라도 쉽게 생성하고 수용하기 쉽게 해줍니다. (누군가가 라이브러리를 만들어주리라 기대합니다.^^) ASP.NET Futures라는 이름으로 ASP.NET (AJAX)에서 SilverLight와의 연동을 위한 기술을 조금 선보이기도 했습니다. XAML DOM을 브라우저에서 접근할 수 있는 것과는 반대로 SilverLIght에서 HTML DOM을 Access할 수 있는 방법도 잘 제공하고 있습니다. 이런 것이 유용한 예로 Jon Udell이 GreaseMonkey에서 SilverLight를 접근할 수 있음을 이야기합니다. 만들어놓고 연동되도록 Bridge를 만든 것이 아니고 애초부터 연동을 생각해서 설계를 했다는 이야기.

이 정도라면 지금의 웹 기술을 버리는 방향이 아니라는 것은 조금 설명이 될 것 같습니다. (SilverLight만이 아니더라도 마이크로소프트의 방향이 웹을 더 수용하는 방향인 것은 근래 MIX에서 발표한 내용에서 찾아볼 수 있을 것입니다.) 웹과의 연동을 위해서 설계를 했다면 이를 최대한 활용할 수 있는 윈윈이 가장 투자한 것을 거뒤들일 수 있는(?) 방법일테니까요. 생산성의 향상과 직결된 Future의 영역을 뭔가가 메꿔주지 않으면 이전의 Software Crisis가 다시 오지 않으리라는 법도 없는 것일지도 모르겠습니다.^^

Posted by charlz
Creative Commons License이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

Microsoft Popfly 알파라는 멋진 실험

Microsoft Popfly 알파라는 멋진 실험 분류없음 2007/05/21 18:14

Microsoft Popfly

Windows Live Dev  Popfly (alpha) Online Tool to Create and Share Mashups

드디어 Microsoft Popfly가 (지난주에) 공개되었습니다. 주인장의 사정으로 바로 블로깅을 하지 못했지만, 반대로 조금 알려진 뒤에 하면 더 나을 수 있는 이야기를 몇자 적어봅니다.

꽤 오랫동안 Popfly의 테스팅을 해오는 와중에 Yahoo!에서 Pipe가 나와서 또한번 따라했다는 이야기를 듣는게 아니냐는 우려를 하기도 했었고, 지금 제한적으로나마 공개한 상황에서 단순한 매쉬업 서비스로 비춰질 수도 있는 상황이기에, Popfly의 기획의도가 처음부터 상당히 달랐다는 것을 조금 설명하면 수긍하지 않을까하는 생각을 합니다.

초창기 Popfly의 전신은 마이크로소프트 내부의 Visual Studio등을 만들어내는 개발 플랫폼 부서(division)에서 새로운 성격의 프로젝트를 만들기 시작하면서부터 기획되었습니다. 그 새로운 프로젝트는 Visual Studio가 Live의 성격을 가져서 할 수 있는 것들을 고민하는 역할을 하는 것이었습니다. 당시에는 마이크소프트 외부에서도 모든 제품이 라이브화된다는 과장보도에 시달리고(?) 있었고(오피스 라이브가 오피스의 동일한 라이브 버젼처럼 이야기하던때), 이 부서에서도 겪고 있던 터라 이미 여기에 눈을 돌려 투자를 생각하고 있었습니다. 이것이 본격화되기 시작하면서 다양한 시도를 생각하고 실험해왔고 다양한 모습으로 바뀌었습니다. (직접적인 산물이 아니라 다른 팀의 산물이기는 하지만 그런 시도의 영향으로 이전부터 서비스로 제공하던 gotdotnet이 소스포지와 같은 www.codeplex.com로 변신하는 모습도 제공되었죠.)

다른 것들에 대한 자세한 이야기는 언급하기 힘들지만, 이 프로젝트들을 통하여 실험한 이런 시도들 중에서는 1. Visual Studio와 온라인 서비스의 연동으로 할 수 있는 것들, 2. 웹의 소셜함을 개발과 연관시킬 수 있는 것들, 3. 웹개발을 온라인 서비스를 통해서 제공할 수 있는 방법들, 4. Microsoft의 차세대 웹과 이들을 연관시킬 수 있는 방법들 5. 웹을 통해서 프로그래밍을 더 쉽게 배울 수 있는 방법들...등이 있었습니다. 이번에 공개한 Popfly는 단순히 매쉬업에 촛점을 둔 것이 아니라 이런 요소들이 모두 들어있는 서비스라고 할 수 있습니다.

Popfly에서는 위의 내용들에 대응하는 다음의 것들을 제공합니다:

  • 웹페이지를 쉽게 만들 수 있는 에디터
  • 차세대 마이크로소프트 웹 플랫폼인 SilverLight를 기반으로 하여 매쉬업을 쉽게 만들 수 있는 에디터
  • 쉬운 사용을 위한 튜토리얼과 문서들과 다양한 예제들
  • 에디터 내에서 코드를 쉽게 사용할 수 있는 환경
  • 만든 내용들에 별점을 매기고 공개/공유하고 변경하여 사용할 수 있는 장
  • Popfly에서 만든 결과물 이외에 Visual Studio에서 만든 것들을 공유할 수 있는 장
  • 만든 내용을 다른 사이트에서 사용할 수 있는 방법

"웹에서 비전문 혹은 비프로그래머 취미 개발자(즉, 개발자가 아니지만 개발을 하고 싶어하는 분)들이 사용/개발할 수 있는 공간을 만드는 것이 바로 이 서비스의 취지인 것이죠." 웹의 소셜 서비스에 대한 관심의 레버리지, REST 아키텍쳐의 쉬움과 간단함, OpenAPI의 티핑포인트, 그리고 마이크로소프트의 노하우와 차세대 개발 플랫폼이 어울어져서 만들어진 작품입니다. 비록 알파버젼이지만 말이죠^^ 앞으로 다른 회사들에서도 비슷한 서비스는 충분히 만들어질 것이라는 예상을 합니다만, 이런 다양한 충족조건으로 인해서 당연한 결과임을 생각해봅니다. 물론 그 결과물로 SilverLight 기술의 대표적인 RIA 예제 중 하나가 되기도 했고, 앞으로 웹이 어떤 방향으로 흐를 수 있을지를 시사하는 좋은 계기가 되는 것 같습니다.

아시는 분들은 아시겠지만, 개발툴인 Visual Studio는 Visual Studio Express라는 무료 버젼을 만들어서 공개하고 있습니다. Visual Studio Express는 이를 관장하는 팀이름(NPT)와 일맥상통하듯이 취미개발자를 위해서 무료로 공개한 것입니다. 이와 관련해서 초보자들이 쉽게 언어와 툴을 배울 수 있는 엄청나게 다양한 자료들도 제공됩니다. 이를 만드는 팀인 NPT(취미개발자팀)의 GPM인 존몽고메리가 비슷한 내용을 블로깅했으니 한번 살펴보시면 좋을 것 같습니다. 관련된 다양한 소개 링크들을 그의 다른 포스트에서 보실 수 있습니다.

Posted by charlz
Creative Commons License이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

JavaFX, Sun의 RIA 시장용 무기?

JavaFX, Sun의 RIA 시장용 무기? 분류없음 2007/05/09 01:24

미국 시간으로 화요일, 우리나라 시간으로 수요일 새벽에 JavaOne에서 JavaFX라는 브랜드로 발표한다고 합니다했습니다. (기사에 따르면) JavaFX는 AJAX나 Silverlight에 준하는 기술이라는 이야기를 합니다. JavaFX는 현재 java.net에서 개발중인 프로젝트 F3(Form Follows Function)를 중심으로 Java의 일반 소비자 제품을 위한 경험을 위해 새로 브랜딩한 이름이라고 합니다. 이에 맞춰 또 다른 하나의 언어로 발전한 F3를 JavaFX Script라고 명명하였고, Sun에서 인수한 SavaJe라는 회사에서 만든 Java를 구동하는 휴대폰을 만들던 기술을 사용하여 JavaFX Mobile이라는 이름으로 모바일 환경을 타게팅한 제품으로 공개한다고 합니다. 물론 이들은 모두 GPL2 라이센스로 오픈소스화 되고 어떤 형식일지는 모르지만 상용 라이센스도 제공할 것이라고 합니다.

F3는 GBTDS(GUI Builder That Doesn't Suck)라는 이름으로 Chris Oliver를 중심으로 시작하여 (아직은 개발중인) 스크립팅 언어로 발전하였다고 합니다. NetBeans용 GUI를 만드는 툴로 시작하여 이를 위한 문법을 만들어낸 것으로(지금은 Eclipse용 플러그인도 제공) 기존/개발중인 Java 기술들의 Gluing/Wiring 역할을 하는 기술이라고 할 수 있겠습니다. 아직은 알파단계의 기술로 일반 릴리스는 미정이라고 합니다.

언론에서는 Silverlight와 Apollo에 대응한다고 언급하고 있지만 Sun에서 이야기한 내용(아래의 비디오 링크)에서는 그보다 더 넓게 이야기하고 있습니다. Microsoft는 WPF+ASP.NET+SilverLight(+ASP.NET AJAX?), Adobe는 SWF+Flex+Apollo(+Spry?) 그리고 Sun에서 JavaFX(+Flair?)로 이야기하고 있는 것입니다. 이미 Sun은 AWT/Swing(/SWT) 혹은 Java2D등이 데스크탑에 있고, Java Applet을 가지고 있습니다. Java Web Start도 가지고 있는 자산 중 하나입니다. JavaFX Script(F3)는 이렇게 가지고 있는 자산을 사용할 수 있는 기반을 마련한 것으로 이렇게 JavaFX라는 전략을 생각해낸 것이라 할 수 있겠습니다.

하지만, 이런 전략에는 아직 많은 난관이 존재합니다. 몇가지 생각나는 것들을 들어보면:

  • 풀 JRE(Java Runtime Environment, 플랫폼 별13M~20M)를 사용합니다.
    • 앞으로 Java 7이 더 Modular해지고 작아질 것이라고 이야기하지만, Java 7은 언제 나올지 모르고 나오고 얼마나 많이 성공적으로 배포될 지 이야기할 단계가 아닙니다.
    • 비록 인터넷이 빨라졌다고는 하나 다양한 이유로 일반 웹 유저들이 RIA를 구동하기 위해서 JRE를 설치하는 일은 전에도 어필하지 못했습니다. 이런 문제로 인해서 마이크로소프트에서는 .NET Framework을 작게 만들어 SilverLight에 탑재하는 전략을 사용하기로 했고, Java 진영에서도 해결해야할 문제입니다
    • 일반 non-puter 유저들에게는 다운로드가 쉽지 않습니다. 좀 더 친근한 방식으로 더 쉽게 no-brainer로 다운로드하여 실행되도록 해야합니다.
  • JavaFX Script는 상대적으로 어렵습니다.
    • Class라는 개념을 그대로 사용하는데 이는 non-Programmer에게는 쉽지 않습니다. 또한 NetBeans나 Eclipse를 사용하도록 하는 것도 쉽지 않은 일입니다.
    • Lambda the Ultimate라는 언어 관련 블로그에 의하면 동적 언어가 아닌 정적 형식(Statically Typed) 언어라고 합니다. (var이 동적 Typing이 아니고 inferencing이라고합니다.) 이는 JavaScript와는 성격이 다르고 Java,C#에 가깝다는 이야기입니다.
    • Java 사용자를 일차적인 대상으로 하는 것이라는 개인적인 생각이 듭니다. (RIA 시장에 뛰어들기 위해서 타파했어야하는 부분이 아닐까 생각됩니다.)
  • 레퍼런스가 부족합니다.
    • Java(JWS)를 사용하는 (java 사용자를 위한 사이트를 제외하고) "대 Mass" 사이트가 없습니다. (오늘 발표할지도 모르겠습니다만)
    • 게릴라나 입소문 마케팅이 되기에도 기존 기술이 더 어필합니다. 아래의 동영상에서는 Flash에서 되는 것이 JavaFX에서도 된다는 이야기를 하지만, 이미 설치되어있는 Flash위에 JavaFX를 사용할 메리트를 이야기하지는 않는다는 것입니다.
    • RIA 시장의 후발 주자임에는 틀림이 없죠. Infoworld의 기사에 의하면 James Gosling이 SilverLight가 비디오/스트리밍에 중점을 둔 기술이라서 JavaFX와 다르다고 이야기했다고 하는데, 잘 모르고 하는 이야기겠죠? (권위에의 호소의 오류?)

Apollo 발표 이후 SilverLight 발표, 그 이후로 또 재미난 게임을 예고하는 재미난 소식입니다.

--

참고 포스트:

Sun's JavaFX to take on AJAX, Silverlight  InfoWorld  News  2007-05-07  By Paul Krill

» Sun preparing answer to Flash, Silverlight  Ed Burnette’s Dev Connection  ZDNet.com

» Sun enters the Rich Internet Application world with JavaFX  The Universal Desktop  ZDNet.com

» JavaFX takes center stage at JavaOne  Ed Burnette’s Dev Connection  ZDNet.com

Silicon Valley Sleuth Sun goes after Adobe Apollo, Ajax, Silverlight (비디오)

Posted by charlz
Creative Commons License이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

Silverlight, 마이크로소프트의 차세대 웹 전략의 교두보(II)

Silverlight, 마이크로소프트의 차세대 웹 전략의 교두보(II) 씨리즈 2007/05/06 03:57

부제: Media Side Story

아직도 해외 어디어디 갔더니 인터넷이 느려서 UCC 동영상은 도저히 못보겠더라는 이야기를 들으면 많은 동영상/멀티미디어 사이트들이 받는 전망들을 생각할때 갸우뚱하게 합니다. 구체적으로는, 그냥 구글이 유투브 인수하니까 그래보이는거고 인터넷 인프라가 발달한 우리나라에 국한된 이야기가 아닐까하는 의문이겠습니다. 진실은 그럴지도 모르는 일입니다. 혜택을 누리는 사람들과 그렇지 못하는 사람들의 격차가 벌어지고 있는 것인지도 모르겠습니다. 하지만, 분명히 웹을 통해서 rich media(리치 미디어 - 한글로 리치라고 하니까 꼭 leech(거머리)라는 의미같아보이기도 합니다^^)의 혜택을 받는 사용자는 분명 엄청나게 늘어나고 있고, 트래픽량과 증가추이가 이를 뒷받침해주고 있습니다. 순수한 웹브라우저만으로는 가능하지 않은 Media 시나리오들이 웹의 미래가 향한 가는 길이라는 것을 뒷받침해주고 있습니다.

(순수한 웹브라우저를 위한) 웹표준의 영역은 그 노력에 비하여 멀티미디어의 영역과는 상당히 동떨어져있습니다. 브라우저에서 음악이 나오기 위해서는 컨트롤이나 플러그인이 불가피합니다. 브라우저에서 동영상을 보기 위해서도 컨트롤이나 플러그인이 불가피합니다. 10년도 더 되는 시간동안 발전한 swf가 있는데, 이제야 만들어낸 브라우저에서 지원하지도 않는 canvas 태그같은 것으로 간단한 애니메이션을 보는데에 사용자가 만족할까요? 그리고 이것이 권고안이 될때까지 기다려야할까요? 권고안이 되면 기존의 것들을 그 방식으로 바꿔야 할까요? 그리고 정말 브라우저들이 이를 따르는 것이 모두를 위한 일일까요? swf가 표준이 아니고 회사가 소유하는 것이기 때문에 사용자는 웹표준으로 옮겨가야할까요? 동영상/음악을 위한 웹표준이 만들어진다면 어떤 포맷을 지원해줘야할까요? 모든 포맷을 다 사용할 수 있는 컨테이너 포맷이 만들어진다고 하더라도 브라우저에서는 모든 코덱을 지원해야하는 것이 될까요? 이런 것을 정하기 위해서 또 얼마나 더 오랜 시간이 걸릴까요? New Media에 맞는 웹을 위해서는 이렇게 커다란 질문들이 펑펑 쏟아져나올 수 밖에 없습니다.

반대로 생각을 해보죠. Media라는 것은 원래 웹브라우저에 한정된 것이 아닙니다. 그런데, 웹표준에 국한된 웹브라우저는 Media를 한정합니다. 간단히 접근성의 한 예를 생각해봅시다. 스크린리더를 위하여 웹페이지를 읽어줄 수 있도록 만들어야된다는 이야기는 있어도 웹페이지 자체에서 음성을 제공할 수 있는 방법은 웹표준에는 없다는 것입니다. 유일한 방법은 웹브라우저를 확장하는 방법 뿐입니다.

사실 사람들이 웹이라는 것을 바라보는 시각은 "State of Mind"일 뿐입니다. 동영상을 링크를 눌러 다운로드하여 데스크탑의 플레이어로 보는 것과 동영상이 웹페이지에서 보이는 것 두가지가 기술적으로 얼마나 다를까요. 바로보나 다운로드해서 보나. 헌데, YouTube는 엄청난 성공을 가져왔습니다. 그 성공과 함께 Flash Player의 동영상 기술도 같이 성공을 가져왔죠. 꽤 오랫동안 우리의 눈앞에 와있던 New Media를 웹을 통해서 제공하기 위한 노력은 수도 없었습니다. 이런 노력을 위해서는 (이를 거부하지 않는다면) 수없이 깔리는 컨트롤/플러그인들을 이제와서 피할 수는 없습니다.

그렇다면, 단순히 각 기능에 대해 어떤 특정한 Player(컨트롤이나 플러그인)가 아니라 이런 모든 Media를 위한 플랫폼 - 그것도 cross-browser cross-platform이고 보안도 걱정해주는 - 이라면 어떨까요? 웹페이지를 New Media에 맞게 만들 수 있는 그런 플랫폼 말이죠. 그게 요즘 웹의 미래를 그리는 사람들의 공통적인 생각중 한가지입니다. 거기에 여러 업체가 동참했고, 그 중 하나가 마이크로소프트입니다.

그리고 이를 위해 SilverLight가 탄생합니다. 이게 SilverLight의 Media Side Story입니다.

SilverLight라는 단일 플랫폼에서는 이종 브라우저와 OS에서 돌아갈 수 있는 다음의 Media들을 제공합니다:

  • 벡터그래픽
  • 비트맵그래픽
  • 텍스트
  • High-Quality (스트리밍)비디오
  • (스트리밍)오디오
  • 애니메이션
  • 그리고 이 모든것의 통합 wiring.
Posted by charlz
Creative Commons License이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

Silverlight, 마이크로소프트의 차세대 웹 전략의 교두보(I)

Silverlight, 마이크로소프트의 차세대 웹 전략의 교두보(I) 씨리즈 2007/04/16 21:35

이야기는 98년도로 거슬러 올라갑니다. 마이크로소프트는 지금은 AJAX라는 방식이 생기게 된 계기인 XMLHttpRequest라는 녀석을 포함하여 브라우저의 방식으로 인한 한계를 극복할 수 있는 새로운 것을 넣고자하는 방법을 고심하면서 나온 여러가지 부가 기술들을 생각해냅니다. XMLHttpRequest와 다른 기술들은 당시 다양한 방식의 아이디어들을 들고 나온 수많은 업체들을 양산하지만, 이 기술들은 사용자들에게는 결국 티핑포인트를 만나지 못하고 어필하지 못하게 되고 그런 업체들도 빛을 보지 못하고 역사의 뒤안길로 사라져버리거나 방향을 바꾸게 됩니다. 이런 기술의 사용률과는 반대로 때마침 브라우저 점유율은 올라가고 이 두가지 상반된 데이타로 인해서 고심 끝에 내린 결론은 여러가지 주변 여건과 웹브라우저의 역사적인 문제들을 총괄해볼때 브라우저에 새로운 것들을 넣는 것보다는 브라우저 바깥 세상을 통해서 웹을 접근하는 것이 괜찮지 않겠냐는 생각이었습니다. 당시의 수치로는 그것이 IE(인터넷 익스플로러)에게는 맞는 것처럼 보이는 선택이었습니다.

그리고는 그 이후 수년동안. 가라앉은 Netscape(넷스케이프)와는 대조적으로 전체적으로 정비를 가다듬은 아들 Mozilla(모질라)는 그간의 실수를 바탕으로 FF(FireFox, 파이어폭스)라는 브라우저를 만들어내고 다시 점유율 탈환에 나서게 됩니다. IE의 이전 결정이 오래가자 변화없음에 싫증과 불편함을 느낀 유저들은 새로움과 신선함의 냄새가 나는 FF를 취향에 따라 골라서 사용하기 시작하고 이런 현상으로 변해가는 점유율과 이전에 내렸던 결론과 다른 방향으로 가는 수치는 움직이지 않던 IE를 움직이게 만듭니다. FF는 배타적이기보다는 IE에서 성공한 기술들도 수용함과 동시에 표준을 통하여 이종 브라우저간의 간극도 조절하자는 운동을 동반하여 브라우저가 더 앞으로 나아 갈 수 있는 모습을 보여주게 됩니다. 이전과는 다르게 이런 상생의 길이 더 뚜렷해지자, IE는 빠른 시간내에 7번째 버젼을 만들어내고 차세대 버젼들에 관한 약속들을 하게 됩니다.

하지만, 이런 현 시점에서 브라우저들의 개발 방향은 새로운 기술의 고안이나 혁신과는 사뭇 다른 길이라는 것이 명백해집니다. XMLHttpRequest의 업그레이드 기능 같은 것을 넣는다고 한들 다른 플랫폼, 다른 브라우저들이 지원하지 않는다면 이전보다 효용가치가 떨어지는 것은 분명하다는 것을 이미 배운 상태입니다. 새로운 기능은 모두가 동의할 수 있는 표준이라는 합의를 통해서 구현하여 넣는 길고 긴 방식을 택할 수 밖에 없는 상황인 것입니다.

이 이야기에 첫번째 조미료로 ActiveX(액티브엑스) - 이는 마케팅 용어로 사실은 OLE/COM을 기반으로 한 개발 방식과 기술을 통칭하는 말입니다 - 라는 말이 등장합니다. 그 기술 중에서도 IE 브라우저를 통해서 볼 수 있는 웹응용프로그램을 확장하는 기술로 바뀐 ActiveX Control(컨트롤)이라는 것이 또하나의 아픈 경험이 되어줍니다. 남용되는 사례가 많이 발생하여 특히나 우리나라에서는 마치 그 기술 자체가 마이너스적인 이미지가 큰 기술로 남게되었지만, 그 남용은 기술 자체의 문제보다는 사용자가 기술적인 부분들을 알지 못하면 막는 장치가 소용이 없는 구현 방식에 있었던 것이었습니다. 예를 들어, 믿을 수 없는 사이트에서 받는 컨트롤은 실행되지 못하거나 사용자에게 묻도록 막았지만, 실상 사용자는 필요에 의해서 혹은 사이트의 편의에 의해 지칭되어 이를 끄거나 묻더라도 무조건 yes를 누르는 습관을 조장한 결과가 되었습니다. 비유하자면 동물들을 기르기 위해서 굉장히 넓은 목초지를 제공했지만, 울타리를 원하는대로 세울 수 있도록 한 것이 되려 울타리를 허술하게 세운 농장주를 조장할 꼴이 된 것입니다. 그 덕에 목초지를 제공한 것 자체도 잘못된 것으로 틀리게 인식하는 결과가 되었습니다. 만일 이런 기술이 없었다면 우리는 브라우저에서 동영상을 보는 것은 틀린 일일것이고, 자바애플릿도 돌릴 수 없는데다가, 흔히 사용하는 Flash 애니메이션도 없었을 것입니다.

두번째 조미료로 이런 브라우저 자체의 움직임과는 별도로 브라우저의 능력을 최대한도로 발휘하거나 넘어서고자 하는 RIA(Rich Internet Application) 기술들이 여러차례 시도되고 만들어집니다. 여러가지가 있었지만, 대표적으로 그 중에서도 95년에 만들어진 이후로 굉장한 점유율을 차지하게된 Flash(플래시)라는 기술을 합치고자 하는 주류와 Flash를 브라우저의 일부로 인정하지 않는 AJAX 주류로 나뉘어지게 됩니다. AJAX는 이미 표준격이 된 기술들을 사용함으로써 이종 브라우저와 플랫폼에서 비슷한 효과를 보여줄 수 있는 이점이 있는 경우이고, Flash의 경우에는 IE에서는 ActiveX Control 기술을 사용하여 FF나 Safari(사파리)에서는 나름대로의 플러그인 기술들로 다르게 구현을 하였지만, 공통 분모인 Flash 런타임이 이런 다른 브라우저간에도 비슷한 동작을 할 수 있도록 보증을 하고 있는 경우입니다. 지금 UCC라는 이름으로 화두가 되고 있는 동영상(Media)같은 것을 사용하기 위해서는 후자 혹은 AJAX+타기술을 사용할 수 밖에 없기 때문에 사실상 Flash의 미래가 더 밝은 편이라는 분위기인 것은 명백한 사실입니다. 동영상 포맷이나 코덱을 하나로 표준화하여 브라우저의 기본기능으로 제공할 것이라는 생각이 호응을 얻을 수 있을지는 미지수겠습니다.

Flash는 위에서 언급했다시피 Flash Runtime이라는 울타리를 수년동안 잘 갖춰놓았고, 또한 모바일 플랫폼을 포함한 여러 플랫폼으로의 포팅도 성공적으로 진행하고 있는 현재의 몇 안되는 브라우저의 확장 대안으로 떠오르는 녀석입니다. 이런 분위기에 편승해서 Adobe도 이전의 전략을 수정하여 Flash를 활용할 수 있는 환경을 꾸미는 여러가지 각도에서 공격적으로 세를 넓히고 있는 중입니다. Flash의 사례와 같이 브라우저 위에 한 층을 꾸밈으로써 그 아래의 브라우저와 플랫폼을 신경쓰지 않아도 되는 크로스 플랫폼/브라우저 방식이 사용자들에게 어필하고 있다는 점은 마이크로소프트에게는 또하나의 배울 점이었습니다.

마이크로소프트에서는 이런 여러가지 문제점들을 뼈저리게 경험해보고 새로운 진화를 위한 방법을 모색하기 위해서 다른 회사/기술들이 저지른 실수들의 문제점들을 모아모아 앞으로 갈 길을 분석에 분석을 하기 시작합니다. 그 전략으로 IE의 개선과 함께 AJAX의 수용을 위해서 수년전부터 개발하여 최근 출시한 ASP.NET AJAX를 일부 소스 공개와 함께 했고, 데스크탑에서의 Rich 응용프로그램 개발의 혁신을 위하여 WPF(Windows Presentation Foundation, 윈도우 프리젠테이션 파운데이션)을 XP/2003/Vista에 정렬하여 내놓았습니다. 이 양극의 중간을 메꿀 필요가 있음은 위에서 설명을 했고 이를 위한 전략의 일부로

"다양한 브라우저와 다양한 플랫폼에서 사용할 수 있고 + 기존의 웹브라우저에서는 할 수 없지만 사용자의 요구가 있는(Media, Richness, Transparency, Programmability) 것들이 포함되면서도 기존의 기술들과 쉽게 연동되고 + 사용자가 쉽게 사용할 수 있으면서도 제대로된 튼튼한 울타리가 지어져 있으며 + 이전의 패러다임보다 나은 패러다임들이 반영된 차세대의 웹의 모양을 만들기 위한"

새로운 플랫폼으로 만들어낸 결과가 바로 SilverLight라는 브랜드 입니다.

Posted by charlz
Creative Commons License이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

웹 위의 크로스 플랫폼 전략(2) - 표준이냐 기술이냐...쫓고 쫓기는 추격

웹 위의 크로스 플랫폼 전략(2) - 표준이냐 기술이냐...쫓고 쫓기는 추격 씨리즈 2007/03/01 12:54
표준이 기술 수준을 따라가지 못한다는 말은 그 우위나 경중을 이야기하는 것이 아닙니다. 그 둘의 성격이 다른 것은 물론이거니와 표준은 기술이 존재하고 그 위에서 만들어지는 것이기 때문에 그 시간적인 순서로써의 "표준화"를 이야기하는 것입니다. (구현과는 별도의) 기술적인 바탕이 없고서는 표준이 만들어지는 것이 불가능한 것이라는 뜻이겠습니다. 기술과 표준이 거의 동시에 만들어지는 경우도 있지만, 기술개발 이전에 표준이 만들어지는 경우라면 쉽게 이야기해서 해보지도 않고 수많은 사람들에게 이렇게 해라 라고 이야기하는 것과 마찬가지라고 할 수 있겠습니다.

기술이 아무리 뛰어나고 혁신적이라도 쓰는 사람이 별로 없다면 그 효용 가치는 매우 낮을 것입니다. 그 예로 과거의 앨런 케이등의 Smalltalk라든가 스티브 잡스의 NeXT등이 이런 평가를 받은 경우겠죠(해당 기술의 현재는 사뭇 다릅니다만). 추앙받는 개념이라도 사람들이 적응하는 것이 쉽지 않다면, 널리 사용되기가 어렵습니다. 이런 경우에는 그 기술이 후세대(혹은 기간이 좀 지난 후)에 다시 나타나게 되는 경우가 대부분입니다. 사람들이 받아들일 준비가 된 상태에서 다시 시작해보려는 노력이겠습니다.

기술은 사람들 각자의 머릿속에 있는 것이고 이것을 구현하는 것인데 개개인에게는 구체적이라고 하더라도 모아지면 굉장히 추상적인 모습이기 때문에, 표준은 그것을 명문화 - 개발팀등을 대상으로 한다면 표준보다는 스펙명세등이 되겠죠 - 하는 것입니다. 명문화한다는 것은 어떤 시점의 스냅샷을 찍는 것이라고도 할 수 있겠습니다. 글로 적는 중에도 사람의 머릿속은 회전하며 기술을 발전을 해갑니다.

기술은 항상 개인이 만드는 것이 아니고, 어떤 주체들이 낸 결과물로 만들어지게 됩니다. 그 주체가 물론 개인이 될 수도 있지만, 주로 기업 혹은 단체인 경우가 많습니다. 개인이건 기업이건 단체이건 기술을 만든 곳과 기술을 사용하려는 쪽의 인터랙션을 동반하고, 인터랙션은 이익관계와 소통의 문제 역시 동반하게 됩니다. 표준을 만드는 것(표준화)은 이런 관계의 얽힘입니다. 한사람이 아닌 많은 사람들의 머릿속에 있는 것들을 잘 조율하여 글로 적는 일은 어떤 한사람에게도 만족을 주기 힘든 일입니다.

표준이 기술을 따라가지 못하기 때문에 표준이 만들어질때까지 혹은 그 만들어지는 과정에서 어떤 기술을 만들기 위해서 기다릴만한 참을인(忍)자가 없는 주체들은 이를 해결할 방도를 찾게 될 것입니다. 새로운 표준을 만들어서 주도하거나, 표준을 따르지 않거나 하는 방법밖에는 없겠죠. 결국 당장의 대세는 표준을 따르는 것이 최선으로 보이더라도 기술의 혁신을 위해서 표준과는 별도로 기술개발을 할 수 밖에 없다는 것입니다. 기약도 없이 표준이 권고안(Recommendation)이 될 때까지 기술 개발 스케줄을 맞출 회사는 그리 많지 않을 것입니다. 최선의 경우 일단 표준의 draft만 따르고, 그 수준에서 다른 기능들을 늘리고 혁신시켜서 기술을 완성하겠죠.

설명이 길었는데, 스냅샷인 표준으로 많은 사람들에게 물을 대느냐, 아니면 기술을 더 앞서나가도록 독자적으로 개발해나가느냐의 밸런싱은 바로 이번 글의 제목과 같은 추격전을 이야기합니다. 특정 하드웨어를 위한 기술로 사람들에게 굉장한 모습의 UI를 만드느냐, 아니면 하드웨어에 관계없이 모두 돌아갈 수 있는 공통분모만을 최대한 사용해서 UI를 만드느냐...어느 경우라도 목적에 따라 장단점을 가지게 되기에 그 레슬링은 계속됩니다.

이런 기술 개발이 유효하기 위해서 최근의 분위기에서 할 수 있는 것 중 대표적인 대안이 될 수 있는 것이 무엇이냐하면 바로 크로스 플랫폼이라는 것입니다. 이 공통분모를 최대한도로 짜내는 작업은 표준화의 사명 중 하나인 "모두가"라는 말을 지켜줄 수 있게하는 방법 중 하나입니다.

모든 플랫폼을 지원한다는 것은 상이한 인력과 그에 따른 부가적인 비용으로 인해서 쉬운일은 아니었습니다. 비용이 100이면 2개의 플랫폼을 지원하기 위해서는 200 혹은 그 이상까지도 필요할 수 있습니다. 그런 비용이 들어서 ROI(투자 대비 효과)가 크다면 문제가 아니겠습니다. 이런 크로스플랫폼은 여러 OS를 지원하는 응용프로그램을 만드는 것이 아닙니다. 기반 플랫폼을 만드는 것이고 따라서 그에 따른 부가가치를 생각하는 것이겠습니다.

크로스플랫폼 지원이라는 말은 같은 계층(Layer)의 다른 이질 하부 플랫폼에서도 동일하게 혹은 적정 수준에서 논란의 여지가 적을 정도로 비슷하게 동작함을 이야기합니다. 이전글에서 이야기한 동일한 계층의 "플랫폼(platform)"간의 벽을 허물어 건널 수 있게(cross)한다는 의미입니다. 수직 플랫폼이 아닌 수평 플랫폼을 구현하기 위한 한가지 방법이고, 컴퓨팅의 역사적으로 다양한 방법으로 시도되고 있는 소프트웨어史의 특성이라고도 할 수 있습니다.

모두가 웹에서 표준을 따른다면 이미 표준이 크로스 플랫폼을 어느정도 보장을 하는 것입니다. 문제는 표준을 따르지 않을 경우의 기술의 혁신 방안인데, 직접 크로스 플랫폼 지원을 하는 것으로 이를 해결하고자 하는 것이 지금 현상의 대안 중 하나입니다. 예를 들면, 플래시(Flash) 기술은 다양한 플랫폼을 지원하는데, 개발 방법론은 동일합니다. 혹은 가상화(virtualization) 기술은 내가 쓰는 플랫폼위에서 다른 플랫폼이 돌아갈 수 있게하여 동일한 경험이 가능하도록 하는 것입니다.

크로스 플랫폼이라는 말은 전혀 새로운 것이 아닌 것은 익히 아실 것입니다. "cross platform"의 구글 검색 결과로 89,800,000개의 결과가 리턴됩니다. FF(FireFox)도 퀵타임(QuickTime)도 혹은 씽크프리(ThinkFree)도 크로스 플랫폼을 지원합니다. 단지 모두가 어떤 것을 그 위에 얹느냐가 다른 것입니다. 요는 모두가 혜택을 누릴 수 있도록 하는 한가지 방법 중 하나라는 것이고, 이런 것들이 바로 표준과 기술의 밸런싱이라는 관점으로 해석 될 수 있습니다.

(다음편에 계속...)
Posted by charlz
Creative Commons License이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

웹 위의 크로스 플랫폼 전략(1) - 플랫폼화 되어가는 소프트웨어들

웹 위의 크로스 플랫폼 전략(1) - 플랫폼화 되어가는 소프트웨어들 씨리즈 2007/02/14 10:50

지하철을 타기 위해서 대기하는 위치를 플랫폼이라고도 하고, 무대처럼 올라간 곳을 플랫폼이라고도 합니다. 여러가지 뜻으로 사용되지만 컴퓨팅에서는 다음의 뜻으로 사용됩니다.

"In computing, a platform describes some sort of framework, either in hardware or software, which allows software to run.(플랫폼은 하드웨어나 소프트웨어 위에서 소프트웨어가 돌아갈 수 있도록 해주는 프레임웍과 같은 것을 이야기한다.)" - Wikipedia의 정의

쉽게, 우리가 흔히 사용하고 있는 PC의 CPU가 제공하는 x86 아키텍쳐/x64 아키텍쳐 같은 것들이 하드웨어 플랫폼의 예가 되겠습니다. 이 하드웨어 플랫폼 위에서는 Bios같은 소프트웨어가 돌아가고, OS같은 소프트웨어가 돌아가고, OS를 기반으로 또 다양한 소프트웨어들이 돌아갑니다. 마이크로소프트 Windows, 애플의 OSX, 선의 Solaris, Linux 등은 OS 플랫폼입니다. 그 OS 자체가 다른 소프트웨어를 돌릴 수 있는 기술로 위치해 있기 때문에 역시나 플랫폼이라고 불립니다. 이런 플랫폼들은 해당하는 기술 위에서만 사용할 수 있는 소프트웨어를 만들 수 있는 수직(Vertical) 플랫폼이라고 할 수 있겠습니다. OSX의 실행파일(바이너리)을 Windows 상에서 돌리는 것을 불가능하다고 하겠죠.

Sun의 Java나 Microsoft의 .NET Framework 이라는 소프트웨어 플랫폼도 있습니다. 역시나 Java의 바이너리를 .NET Framework 상에서 돌릴 수 없습니다만, 이들이 나온 본래의 취지 중 한가지가 하드웨어 혹은 OS 플랫폼과는 상관 없는 소프트웨어를 만들기 위함이었기 때문에 그 태생은 수평 플랫폼이라고 이야기할 수도 있겠습니다. Java나 .NET Framework의 VM이 있는 곳이면 어디든지(OSX 위라든지, Windows 위라든지) 동일한 바이너리를 실행할 수 있는 모습을 이야기하겠죠. 하지만, 실상은 그 하부 플랫폼에 너무 가깝게 만들어진(coupled) 이유로 쉽지가 않았습니다. 이들도 OS라는 플랫폼 위에 하나의 레이어(Layer)를 얹은 소프트웨어 플랫폼입니다.

월드 와이드 웹(WWW)이라는 것이 도래한 이후에는 HTML이라는 마크업 언어(Markup Language)를 알아들을 수 있는 레이어로서의 브라우저라는 플랫폼이 등장했습니다(* 브라우저를 플랫폼으로 보는 견해는 이견이 있을 수 있지만, 여기서는 일반적인 플랫폼의 의미를 위한 예임을 강조합니다). 이 플랫폼 또한 하부의 하드웨어나 OS등의 플랫폼과는 무관하게 동작할 수 있는 꿈을 가지고 만들어졌고, 기반이 되는 HTML은 실행이라는 개념을 한단계 추상화하여 Java나 .NET Framework과는 다르게 이들의 바이너리 속성(실행파일)을 전혀 신경쓰지 않아도 되는 텍스트를 기반으로 한 언어를 사용하였기 때문에 이를 이해하는 어떤 브라우저에서도 비슷하게 데이타와 링크를 보여줄 수 있었습니다. <b>라는 태그는 하드웨어와 OS 그리고 브라우저가 어떤 식으로 동작하든간에 문자를 볼드(bold)로 보여주면 되는 의미를 전달하는 역할을 하고, 이는 이런 동작 자체는 추상화하여 장식한 말 그대로의 마크업이었습니다.

점차 웹 응용프로그램들이 복잡미려(Sophisticated)해지면서 이질적인 브라우저 플랫폼간의 괴리가 발생하기 시작했습니다. 비록 텍스트로 되어있고, 문법(Syntax)이 표준화되었더라도, 텍스트들의 표현에 관한 시맨틱 자체는 표준화되어있지 않은 이유로 그리고 표준을 따르지 않는 구현들의 추가로 이런 현상은 가속화되었습니다. 설명을 위해 간단히 <p> 태그를 예로 들면, 몇 픽셀만큼 얼마나 어떤식으로 paragraph를 구분해야하는지에 대한 약속은 되어있지 않기 때문에 다른 브라우저간의 구현이 다르게 되고 최종 결과물간의 괴리가 생기게 된다는 것입니다.

이런 괴리를 해결하기 위한 늦은 표준 작성 노력은 너무나 소수였던 IE 이외의 브라우저 점유율로 인해서 모멘텀을 얻지 못하고 있었습니다. 그런 와중에 높은 점유율을 가진 인터넷 탐색기(IE)가 일부 사용자의 구미에 맞는 모습을 보여주는 다른 브라우저들에게 조금씩 사용자 내주기 시작하면서 이런 괴리는 부각이 되기 시작했고, 이리하여 이런 괴리를 해결하기 위한 사용자들의 해결책으로 웹 표준화 운동이라는 것이 생겨납니다. 점하나의 위치가 중요한 디자이너들의 불만도 불만이지만, 심지어는 사용자들에게도 직접적인 불편이 초래되었기 때문에(타 브라우저를 사용하면 아예 보이지 않는 일) 이런 현상은 지극히 당연한 것이었습니다.

그 결과로 이런 웹 표준화 운동과 함께 표준화로 재무장된 새로운 웹 응용프로그램의 조류가 만들어지면서 "플랫폼으로써의 웹(Web as a Plaform)"이라는 캐치프레이즈가 유효해지게 됩니다. 웹의 취지에 맞게 어떤 브라우저에서도 돌아가는 웹 응용프로그램으로의 모습을 향해 가는 방향성을 보여주는 것이죠. 브라우저라는 하부 플랫폼 종속적인 플랫폼이 아니라 웹 자체가 수평 플랫폼의 역할을 하며, 이런 (역시나) 하드웨어/OS 플랫폼과는 무관하게 응용프로그램들이 연동되고 유기적으로 동작하고 표현되며 사용자와 인터랙션할 수 있는 프레임웍을 만들어낼 수 있는 기반이 됩니다.

이것이 현재의 플랫폼들의 모습이고 사용자에게 점차 당연히 받아들여지는 방향으로 전해지고 있는 상황입니다. 소프트웨어는 필연적으로 사용자에게 가까워지기 위해서 각 기술 위에 또하나의 기술을 창출하고 플랫폼화하는 방향으로 갈 수 밖에 없습니다.

하지만, 이런 일련의 (필수적인) 추상화 단계(Layer)를 거친 과정의 현 시점은 두가지 약점이 드러나고 있습니다 - 그리고 위 이야기가 아니더라도 역사적으로도 많은 기술들이 비슷한 현상을 겪습니다. 하나는 표준이 기술 속도를 따라가지 못한다는 것과 다른 하나는 브라우저라는 상자 밖을 나가지 못하고 있다는 것입니다.

(다음편에 계속...)

Posted by charlz
Creative Commons License이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
1 2