jQuery 간단한 소개 및 prototype, yui와 간단 비교

우선 jQuery에 대해 간단히 설명을 하자면,
prototype.js같은 javascript framework(혹은 library)종류중 하나인데, XPath 라는 것을 지원한다.
사실 jQuery하면 대표되는것이 XPath인데, 간단하게 설명하면..

$(“/html/body//p”)

이런거다 ㅎㅎ.

jQuery는 yui처럼 화려한 기능과, Demo를 제공하지 않는다. 이건 단점일 수 도 있겠지만 장점일 수 도 있다.
이를 다른말로 하면 가볍다라는 말로도 표현 할 수 있기 때문이다.
물런, yui도 원하는 js만 빼서 쓰면 되지만, 너무 많은 js 들이 있고, 어떤게 어떤걸 사용하고 호출하고..@_@; 완전 다단계다 ㅠ,.ㅠ
(물런 필자가 yui를 많이 안써봐서 그렇게 느끼는 걸 수 도 있다)

jQuery의 가벼움은 prototype.js 보다도 가볍다.
정말 딱 뼈다귀만 구현해놓은 Library라고 할 수 있다.
prototype.js처럼 class틱하게 코딩도 가능하다.

필자는 처음에

그럼 yui처럼 구현할려면 삽질해야 겠네..

라고 걱정했다. 하지만 이 걱정은 곧 접어야 했다. 왜냐면 수많은 Plugin들이 존재하고 자신이 필요로 하는 Plugin만 다운받아 적용하면 되기 때문이다.

jQuery의 Plugin이 많은 이유를 추측해보자면..
간단하고 직관적인 구성때문에, jQuery는 쉽게 사용할 수 있다.
그렇다 보니..당연히 많은 사람들이 사용하게 될 것 이고..
그럼 결국 필요에 의해 여러 종류의 Plugin들이 나오게 된것이 아닐까..?

그리고 기본적으로 jQuery 는 Compression 되어서 나오기 때문에, 더욱더 용량이 줄어든다.

prototype.js : 66,529 byte
jQuery.js : 20,975 byte

용량 jQuery의 압승~
하지만 prototype.js 은 Compression 을 안했기 때문에 불공정한 시합이었다.
그래서 prototype.js도 Compression 하고 난 후 용량을 비교해 보았다.
결과는 역시나 jQuery의 승리였다.

prototype.js : 27634 byte
jQuery.js : 20975 byte

jQuery의 단점은 수많은 Plugin들 중에 자신이 원하는것을 찾는다는게 쉽지 않다는 것정도..?
검색해보고 쓸만한거 직접 써보고, 아니면 다시 찾아보는 검증(?)작업, 일명 삽질을 해야 한다.
하지만 이것도 유익한 삽질이다.
이런식으로 여러 Plugin들에 대해 알아놓으면, 훗날 Plugin을 찾을때 좀 더 쉽게 찾을 수 있지 않은가?

총 정리를 하자면.

  1. prototype.js 의 가벼움 보다 더욱 가볍다.
  2. yui는 그 자체에서 골라내서 사용할 수 있고, jQuery는 뼈대만 가지고 살(Plugin)은 알아서 붙이는 형태.
  3. XPath 라는 Selector가 재밌다.
  4. 거기다 수많은 Plugin이 존재한다.
  5. 물런 원하는 Plugin을 찾기 위해선 노가다를 좀 해야 한다.

Prototype 1.5.1 release candidate

지난 9일,  유명한 Javascript Framework(혹은 Library) 의 하나인 Prototype 이 릴리즈 버젼(1.5.1) 을 내놓았다.

버그들이 수정된 것 같고..

  • 새로운 셀렉터 $$가 추가된것 같다. 하는 일은 CSS 셀렉터(가상 셀렉터도 지원)과 DOM 셀렉터 인것 같다, 자세한것은 이곳을 확인하자
  • “Prototype now has support for JSON encoding and decoding built in” 이란다. 이제 Prototype에서 JSON encoding 과 decoding을 지원한다는것이다. 제사한것은 이곳을 확인하자. (나도 Thanks Tobie!)
  • Element.extend can now take a tag name or array of tag names as its first argument to apply the given methods to specific tags. 란다. 으흐흐흐
  • String#emptyString#blankString#startsWithString#endsWithString#includeString#times.들이 추가되었고, Number#toPaddedString 도 추가되었다. 네이밍이 직관적이어서 이름만 봐도 먼지 알 수 있을것이다.
  • Form#request 라는것도 추가되었는데, 이걸 뭐라 설명을 해야 될지 모르겠다. 특정 Form에 대한 Request에 대한 작업을 정의할 수 있다..?? 라고 해야 할려나..아무튼 링크를 본다면 아마 단번이 이해를 할 것 이다.
  • Removed support for “throw $continue” in Enumerable iterators 라고 한다. (이걸 써 본적이 없어서;;) 해결책도 바로 나와 있다. “please replace it with “return” instead.”

1.5.1 rc1 페이지 : http://www.prototypejs.org/2007/3/9/prototype-1-5-1-rc1
1.5.1 rc2 페이지 : http://www.prototypejs.org/2007/3/12/release-candidate-2
Prototype 1.5.1 다운로드 : http://prototypejs.org/assets/2007/3/9/prototype.js

“시간나면, 새로 추가된것들에 대한 테스트와 예제를 올려볼까..”하는 터무니 없는 생각을 해 본다 ㅡ,.ㅡ