Rev. 2.73

기다리고 기다리던 구글 웨이브 팀으로부터의 초청메일이 도착했습니다. 당장에 가입절차를 마치고 아티클을 작성하여 embed 해 보았습니다. 현재 embed된 웨이브 컨텐츠는 계정을 가지고 있는 사용자에게만 나타나며(로그인 필요), 아래와 같은 자바스크립트 코드 몇줄을 작성하여 이루어집니다.

var wavePanel = new WavePanel('http://wave.google.com/a/wavesandbox.com/');
wavePanel.setUIConfig('transparent', '#444', 'Malgun Gothic', '10pt');
wavePanel.loadWave('wavesandbox.com!w+JqlftomE%A');
wavePanel.init(document.getElementById('waveframe'));

"JqlftomE%A"는 웨이브 컨텐트 ID로써 우측 상단의 "Debug" > "Get current Wave ID" 메뉴를 선택하여 얻을 수 있습니다. 아직은 많이 불안정한 모습이지만, 웨이브의 기본 기능들을 훑어보기에는 무리가 없었습니다. 웨이브의 핵심은 API로 중무장한 리얼타임 인터랙션이더군요. cometd 세상이 오려나 봅니다.

Comments

tests.gif

Robert Nyman씨는 자바스크립트 버전별 특징들에 대한 브라우저 단위 테스트를 시행하고 그 결과를 일목요연하게 정리하여 공개하였습니다. 자바스크립트 1.6부터 1.8.1로 버전이 오르면서 지원하는 여러 기능들 그리고 Getters, Setters, DOM Storage, Native JSON 등의 지원여부를 알아내는 예제 코드와 브라우저별 실행 결과를 알기 쉽게 작성했습니다. 멋지네요!

Comments

HTML :

<script type="text/javascript" src="prototype.js"></script> 
<script type="text/javascript" src="Sly.js"></script> 

Javascript :

// Overriding CSS Selector Engine.
Sly.handlers = Selector.handlers;
Sly.prototype.findElements = Sly.prototype.search;
Sly.findElement = function(elements, expression, index) {
  if (Object.isNumber(expression)) {
    index = expression; expression = false;
  }
  return Sly(expression || '*').filter(elements)[index || 0];
};
Sly.findChildElements = function(element, expressions) {
  var result = Sly(expressions.join(',')).search(element);
  return Prototype.BrowserFeatures.ElementExtensions ?
    result : result.filter(Element.extend);
};
Selector = Sly;

Prototype의 성능이 다른 프레임웍들에 비해 떨어지는 주된 원인 중 하나는 DOM 셀렉터(Selector) 엔진에 있는 것으로 판단하고 위와 같은 코드를 작성하여 Prototype의 셀렉터 엔진을 더욱 성능이 좋은 Sly로 교체하는데 성공하였습니다. 그리고 SlickSpeed를 이용하여 실험하였는데, 그 결과가 매우 만족스럽습니다. 오옷! jQuery 와 비등비등하거나 더 빠르군요! 특히, 파이어폭스 3.0에서는 날아 다닙니다. 푸하핫!

My SlickSpeed Result :

  • Internet Explorer 8 : 2.5x faster
  • Internet Explorer 7 : 1.4x faster
  • Internet Explorer 6 : 1.6x faster
  • Mozilla Firefox 3.5 : 1.7x faster
  • Mozilla Firefox 3.0 : 8.7x faster
  • Mozilla Firefox 2.0 : 6.2x faster
  • Google Chrome 2.0 : 1.4x faster
  • Google Chrome 1.0 : 1.2x faster
  • Apple Safari 4.0 : 1.9x faster
  • Apple Safari 3.2 : 1.5x faster
  • Opera 9.6 : 4.7x faster

Comments