1년 전 이 자리에서 '탈 웹2.0 주의'라는 글을 썼다. HTML/스크립트 기반의 현존 웹 기술이 기술적으로 한계에 치닫고 있음에도 불구하고, 어울리지 않는 상황에조차 이 기술을 쥐어짜며 억지로 서비스를 만들고 있는 ‘웹 원리주의’에 대한 걱정의 글이었다. 그 생각은 여전히 변함이 없고, 이를 뒷받침하는 움직임은 사방에서 등장하고 있다. 최근 구글이 자바를 임의 수정해 모바일용 플랫폼 안드로이드를 만들겠다는 선언이나, 닷넷으로 완전 무장해 버전업될 예정인 실버라이트 등, 새롭게 등장하는 ‘런타임’들이 그 증거들인데, 이들은 분명 네트워크 위에 떠 있지만 그 자체가 새로운 소프트웨어 플랫폼을 형성하려 하고 있다는데 특이점이 있다. PC에서 모바일로 진군해 나아갈 실버라이트와 아예 모바일에서부터 선전포고를 한 안드로이드. 또 다시 오래간만에 닷넷과 자바의 경쟁이 예상되니 흥미진진하다. 우리는 지금 새로운 시대의 서막을 목격하고 있다. IT로 만들어 내는 서비스의 성패는 어떠한 기술을 선택했느냐는 혜안에 좌우된다. 따라서 좋은 서비스를 만들기 위해서는 늘 그 서비스가 올라 설 플랫폼을 생각할 수 밖에 없다. 구글이 모든 브라우저에서 가능한 AJAX를 구사해 구글맵 등을 만들어 낸 것은 하나의 혜안이었다. 구글은 특정 벤더의 플랫폼에 종속되기 싫었고 모든 벤더의 공통 플랫폼이라 할 수 있는 브라우저를 플랫폼으로 삼은 것이다. 이 사건으로 구글은 브라우저 기반 컴퓨팅이라는 새로운 트렌드를 만들어 냈고, 브라우저 자체가 플랫폼이 될 수 있다는 환상을 형성할 수 있었다. 그러나 구글도 이것이 한시적 환상임을 알고 있다. AJAX는 훌륭하지만 만능은 아니다. AJAX로 욕심을 부린 사이트들의 느리고 답답한 사용자 체험은 이를 입증한다. 구글의 안드로이드는 모바일로의 선전포고라기보다 소프트웨어/런타임 플랫폼으로의 참전의사로 내게는 비쳐진다. 결국 모든 IT기업의 꿈은 운영체제일 테니까. 그 것이 운영하는 것이 PC이든, 서버이든, 폰이든, 아니면 세계이든지 간에. 1년이 아닌 10년 뒤를 생각해 보자. 그 때도 우리는 여전히 지금과 같은 방식으로 웹 프로그래밍을 하고 있을까? 스크립트로 운영할 수 있는 체제는 너무나 협소하다. 웹의 운영체제로 걸맞지 않다. 브라우저는 그 태생이 문서를 열람/교환하기 위한 방편으로 태어났음을 잊어서는 안 된다. 굳이 브라우저로 안 해도 되는 것을 억지로 하려 하니 힘겨워진다. HTML/자바스크립트가 웹접근성을 확보하는 필요충분조건이 아니라는 점도 중요하다. 웹접근성의 확보에 필요한 것은 텍스트를 어떻게 검색하고 또 다양하게 활용되게 하는지의 문제이지 그 것이 꼭 HTML이어야 할 이유는 없다. 오히려 소중한 것은 XML이다. 현존 웹 프로그래밍이 한계에 달하고 있다 생각되는 이유를 개발생산성과 성능, 그리고 다양성의측면에서 살펴볼 수 있을 것이다. 개발생산성과 성능의 한계개발자는 즐겁게 개발하고 일찍 귀가할 권리가 있다. 그러나 이 권리장전은 오히려 10년 전만큼도 지켜지지 못하고 있다. 생산성이 잘 나지 않는 웹 프로그래밍 환경 탓이다. 애자일은 커녕 디버깅이나 유닛 테스팅조차 생각처럼 잘 안 풀리는 원시적 개발 환경은 개발자들의 참을성을 시험하고 소프트웨어 개발자로서의 성장을 방해하고 있다. 성능도 관건이다. 예컨대 자바스크립트는 실버라이트의 닷넷에 비해 1,000배의 성능차가 난다. AJAX를 다량 활용한 서비스가 느린 것은 어제 오늘의 이야기가 아니다. 다양성의 한계우리는 다양한 환경으로부터 네트워크로의 접근을 기대할 뿐이지, 꼭 웹페이지에 접속해야만 하는 것은 아니다. 가공할 하드웨어의 발전 속도는 우리에게는 브라우저가 상상할 수 없는 다양한 상황을 연출해 줄 것이다. 이 각각의 상황에는 그 상황에 최적화된 UI나 체험이 필요할 수 밖에 없다. 대표적 예가 모바일, IPTV 등등, 웹으로 얽매어 둘 수 없는 그 어딘가일 것이다. 이러한 환경에서 우리를 받아 주고 구름 위의 서비스로 부드럽게 이어줄 접점은 이 환경과 우리를 모두 이해할 수 있는 소프트웨어나 런타임일 수 밖에 없다. 그렇기에 궁극의 크로스 플랫폼이란 브라우저 너머의 또 다른 레이어로 등장할 가능성이 크다.즉 이렇듯 우리의 ‘체험’을 방해하는 한계 때문에 우리는 브라우저를 초월한 본격적인 플랫폼과 런타임을 꿈꿀 수 밖에 없는 것이다. 그런데 한가지 유의할 점. 이러한 모든 런타임, 새로운 프로그래밍 모델은 반드시 “체험의 확장”에만 활용되어야 한다. 체험을 확장하라고 마련된 기술을 “구조의 확장”에 유용해서는 안됨을 유념해야 한다. 인터넷의 구조는 브라우저나 OS와 같이 약속된 표준에 의해 숙성시킨 하부 플랫폼의 몫으로 남겨 둬야 하는 것이다.우리는 이 교훈을 ActiveX 사태를 통해 배운 바 있다. ActiveX 그 자체는 플래시, 자바, 그리고 실버라이트마저 의존하고 있는 유용한 기술임에도, 이 것이 “체험의 확장”이 아닌 “구조의 확장”으로 악용되었을 때 어떠한 불편과 폐해를 초래하는지 우리는 몸소 겪어 왔다. 불필요한 한국의 인증 인프라와 바이러스가 그 대표적 사례다. 중요한 사실은, 다음 세대의 재미 있는 세상을 만들 도구와 플랫폼이 바로 지금 갖춰지고 있다는 점이다. 우리 스스로의 기업과 서비스를 위해 앞으로 5년, 10년을 내다보는 플랫폼 전략을 입안할 시기다. 브라우저를 초월한, 현존 네트워크와 PC의 한계를 넘어선 차세대 웹 플랫폼에 대한 나름의 전략을 세울 시기가 코앞에 닥쳐 오고 있는 것이다. @
*본 칼럼 내용은 본지 편집방향과 다를 수 있습니다.