Rev. 2.73

지난 9일 구글 크롬 브라우저는 WebSocket(웹소켓) API를 지원한다고 발표했습니다. 그리고 최근에 Jetty(웹 서버)WebSocket을 지원하는 버전을 배포했습니다. 그렇습니다. WebSocket은 브라우저만으로 사용할 수 있는 것이 아니라 웹 서버도 함께 지원되어야 하는 것입니다. 웹 개발자들 사이에서는 HTML5 명세에도 표준으로 자리매김하므로써 다른 브라우저나 웹 서버들이 이를 지원하는 것은 시간문제로 치부하고 있습니다. 이는 곧 Ajax의 혁명으로 다가 올 것이며 기존 웹을 온전한 리얼-타임(실시간)으로 만들어 줄 것으로 기대하고 있습니다. 구글 Wave와 같은 실시간 인터랙션의 웹 애플리케이션들을 어렵지 않게 구축할 수 있게 되는 것이죠. 실제로 Jetty 웹 서버(7.0.1)를 로컬에 설치하고 크롬 브라우저(베타)에서 채팅 예제를 실행해 보았습니다. Comet을 기본으로 사용하는 Jetty 6.x의 것과 비교하면 매우 간결하고 성능도 좋다는 것을 굳이 소스를 확인하지 않아도 알 수 있었습니다. 조만간에 고정 IP에 Jetty를 설치하여 실제로 돌아가는 여러 예제들을 작성해 볼 예정입니다.

if ("WebSocket" in window) {
  var ws = new WebSocket("ws://example.com/service");
  ws.onopen = function() {
    // Web Socket is connected. You can send data by send() method.
    ws.send("message to send"); ....
  };
  ws.onmessage = function (evt) { var received_msg = evt.data; ... };
  ws.onclose = function() { ... }; // websocket is closed.
} else {
  // the browser doesn't support WebSocket.
}

그렇다면 Comet은 어떻게 될까요? 글쎄요... Comet은 크로스브라우저를 위한 솔루션으로 남게될 가능성이 큽니다. 어찌됐건 매우 흥분되는 일이 아닐 수 없습니다.

Comments


마우스 왼쪽 버튼을 클릭하면 작은 사각형 물체를 생성하며, 오른쪽 버튼을 클릭하면 화면을 초기화 합니다.

얼마전 Web Worker(DOM Worker)의 사용방법을 간략하게 알아보고 실제로 적용할 수 있는 분야를 곰곰히 생각해 보면서 여러가지 실험을 시도했습니다. 위 화면은 워커(싱글스레드)에 의해 드로잉되는 Box2D 물리엔진입니다. 순수 자바스크립트로 드로잉 되는 예제와 직접 비교해 보세요. 지속적으로 생성되는 사각형들의 인스턴스 단위로 스레드를 할당해 보려고 시도 했지만 번번히 실패하고 말았습니다. 시간이 허락한다면 멀티스레드가 가능하도록 재시도 해 볼 생각입니다.

John Resig씨도 워커를 이용하여 RayTracing, Movement Tracking흥미로운 멀티스레드 실험들을 시도했더군요. 그리고 Rick Waldron씨는 워커를 PHP와 연동하여 Ajax로 통신하는데 성공하였습니다. 브라우저로 하여금 비교적 많은 리소스를 요구하는 Ajax 통신에 워커를 사용하는 아이디어는 매우 현실성 있어 보입니다. 그래서 실험적으로 Prototype의 Ajax.Request 메서드를 워커에서 실행하도록 교체하여 사용해 보고 있는데요. 브라우저가 조금은 덜 힘들어 하는 것을 직접적으로 느낄 수 있었습니다. 문제점이라면 파이어폭스에서 간헐적으로 죽는 현상이 발생하며, 송/수신 패킷이 모니터링하기가 힘들다는 점 정도입니다. 웹 워커에 점점 빠져들고 있어요.

Comments

page-header-overview.png

Wollzelle이 2006년 4월에 런칭Fluxiom은 제게 있어서 매우 각별한 웹서비스입니다. 신선한 영감을 얻은 동시에 웹의 미래를 비춰주었으며, 당시, 자바스크립트를 죽어라 파야겠다는 결심이 서게하는 계기를 마련해 주었기 때문입니다. 이정도 내공이 안되면 업으로 삼지 못한다는 각오로 이 서비스의 기술을 분석하고 php를 이용해서 허접하게나마 재현해 보기도 했습니다. Ruby on Rails로 구축된 Fluxiom은 그동안 유료 서비스를 고수해 오다가 지난 6월 4일, 빡빡한 예산에 허덕이는 학생 또는 아마추어 디자이너들을 위해서 무료 사용자 계정을 오픈하게 되었다고 합니다. 웹 프론트-엔드 엔지니어로 일하거나 지망하는 분은 꼭 한번 사용해 볼 것을 권해 드립니다. 오래된 웹서비스이지만 어디에 내놓아도 손색없을 정도로 잘 만들어진 개인 디지털 자산관리 솔루션입니다.

Comments