본문 바로가기
  • 인공지능
  • 블록체인
  • 정보보안
코딩 알로하 :: one/JQuery

JQuery 란?

by nathan03 2019. 4. 1.
반응형

 

jQuery는 자바스크립트의 생산성을 향상시켜주는 자바스크립트 라이브러리 입니다. 

라이브러리란 자주 사용되는 로직들을 재활용,유통 가능하도록 만든 로직들의 묶음을 의미합니다. 
자바스크립트의 세계에는 많은 라이브러리들이 있습니다.  ex) prototype, jQuery, YUI 등등
구글트랜드로 검색을 해보니 현재는 jQuery가 가장 많은 사용자를 가지고 있는 것 같습니다.
jQuery를 이용하면 순수한 자바스크립트로 코딩하는 것 보다 10배 이상 생산성을 높일 수 있습니다. 

또 jQuery는 파생된 라이브러리들을 가지고 있는데요.  jQuery UI는 jQuery기반의 GUI 라이브러리입니다.
이것을 이용해서 윈도우 에플리케이션과 같은 기능성의 UI를 만들 수 있습니다.

최근에는 jQuery Mobile라는 이름의 모바일 라이브러리를 출시해서 모바일용 웹에플리케이션을 만드는데도 
많은 도움을 주고 있습니다.  

Write Less, Do More

jQuery의 사이트에는 Write Less, Do More 라는 말이 쓰여져 있다. 의미는 코드 작성량을 줄이고, 많은 것을 하자라는 뜻이다. jQuery는 이 말대로 매우 짧은 코드로 하고 싶은 것을 간단하게 실현 가능하도록 작성되어 있다. 2011년 시점에서 JavaScript는 브라우저에서 무언가 하고 싶다면, 우선은 이것 이라 불리는 프로그래밍 언어가 되었다. 롤오버(Roll Over), 툴팁(Tool Tip), 탭(Tab) 등 여러 사이트에서 일상적으로 보여지는 약간의 기능적인 구조는 대부분이 JavaScript로 작성된 것들이다. 그런데 이러한 단순한 것을 하고 싶은 것인데도 불구하고 때로는 방대한 코드로 작성해야만 하는 일이 종종 발생하기도 한다. 예를 들면, important라는 클래스에 소속된 div 요소에 1픽셀의 빨간색 테두리를 넣고 싶다고 가정해보자. 그러나 갖가지 문제가 있어 이런 단순한 것을 하려 해도 꽤 많은 양의 JavaScript를 작성하지 않으면 안된다. 만일 jQuery 가 없다면, JavaScript를 처음 배운 사람은 처음부터 매우 소소한 문제에 끊임없이 직면하게 될것이다. 툴 팁을 만드는 것이 목표라고 한다면, 그것에 도달하기까지는 상당한 단계를 필요로 하게 될 거라고 생각한 나머지 망연자실하게 될지도 모르며, 그렇게 어렵다면 이쯤에서 그만두지.... 라고 판단하는 모습도 쉽게 상상이 될지 모르겠다. 그러나 쓸데 없는 염려는 하지 않아도 된다. jQuery를 사용하면 앞서 이야기한 예를 단 1행으로 만들어 낼수 있게 된다.

브라우저의 차이를 흡수해준다. 

별것 아닌 것을 하기 위해 많은 양의 코드를 작성해야 한다고 했는데, 그 이유의 대부분을 차지하는것이 브라우저 간의 상호 호환성 문제(크로스 브라우저 문제)다. 최근 브라우저의 기능이 점차 늘어나 HTML, CSS, JavaScript로 가능한 것이 매우 풍부해졌다. 이것은 우리 제작자들에게 있어서 매우 기쁜일이긴 하지만, 이와 동시에 어떠한 브라우저도 완전한 것이 아니라는 것을 의미하기도 한다. jQuery는 이러한 문제가 마치 존재하지 않는 것처럼 움직여 브라우저간의 차이를 흡수해준다. 

필요한 기능이 들어 있다. 

jQuery를 사용하면 손쉽게 애니메이션을 만들 수 있다. JavaScript 에는 원래 애니메이션 기능이 없다. 그러나 요소의 스타일을 변경할 수 있는 기능과 타이머 기능은 가지고 있다. 애니메이션을 JavaScript로 제작할 경우는 이기능을 응용하여 10밀리초 후에 이 div 요소의 위치를 조금 변경하고, 다시 10밀리초 후에 다시 조금 변경해서 ... 라는 식으로 단순하고 까다로운 처리를 많이 작성해야 한다. 하지만 jQuery를 사용하면 이러한 것을 작성할 필요가 없다. 이러한 것은 1행만으로 실현가능하도록 되어 있기 때문이다. 그 외에도 필요로 하는 요소를 유연하게 취해주는 셀렉터 기능, 비동기 통신을 간단하게 할수 있는 Ajax 기능 등 있는 그대로를 단지 열심히 노력해서 작성하면, 복잡한 기능을 매우 간단하게 작성할수 있도록 만들어져 있다. 

 

 

 

반응형

댓글