2025幎 ãã¯ã jQuery ã䜿ã£ãŠã¯ãããªãçç±
2006幎ããžã§ã³ã»ã¬ã·ã¯ããwrite less, do moreããšããã¢ãããŒãšãšãã« jQuery ãäžã«éãåºãããšãããŠã§ãéçºã¯æ°ããªæä»£ãžãšçªå ¥ããŸãããåœæã人æ°ã®ãŠã§ããµã€ãã® 65% ã jQuery ã䜿ãã»ã©ãjQuery 㯠DOM æäœãã€ãã³ãåŠçãã¢ãã¡ãŒã·ã§ã³ãAjax ãªã¯ãšã¹ããªã©ãç°¡æœãªã³ãŒãã§æ±ããå¿ é ã©ã€ãã©ãªãšããŠå®çããŠããŸããã
ããããæè¡ã¯åžžã«é²åãããŠã§ãéçºç°å¢ã倧ããå€ãããŸãããææ°ã® JavaScript æšæºã ReactãVue ãšãã£ã匷åãªãã¬ãŒã ã¯ãŒã¯ãç»å Žããã«ã€ããŠãjQuery ã®ç«ã¡äœçœ®ã¯æã»ã©åªå¢ã§ã¯ãªããªã£ãŠããŸããæ¬èšäºã§ã¯ãjQuery ããã€ãŠã©ã®ãããªåé¡ã解決ããŠãããããããŠãªã仿¥ã®æ°ãããããžã§ã¯ãã«ãããŠã¯ãã¯ãæåã®éžæè¢ã§ã¯ãªãã®ãã詳ããèŠãŠãããŸãã
ã¢ãã³ JavaScript ã®å°é
jQuery ãåºãæ¯æãããæã倧ããªçç±ã¯ããã¯ãã¹ãã©ãŠãžã³ã°ãåé¡ãžã®å¯ŸåŠã§ããã2007幎é ã«ã¯ Internet Explorer (IE) ã 60%以äžã®åžå Žã·ã§ã¢ãå ãããã©ãŠã¶ããšã« JavaScript ã®æ¯ãèããç°ãªãã®ãæ¥åžžã§ãããjQuery ã¯ããããäºææ§ã®èª²é¡ãåžåããéçºè ãã©ã®ãã©ãŠã¶ã§ãåãããã«åäœããã³ãŒããæžããããã«ããŠãããŸããã
ããã 2008 幎ãChrome ã®ç»å Žã«ããç¶æ³ã¯å€ããå§ããŸãããChrome ã¯é«éæç»ãš Web æšæºãžã®æºæ ãæŠåšã«æ¥éã«ã·ã§ã¢ã䌞ã°ããŸãããä»ã®ãã©ãŠã¶ã次第㫠Web æšæºã匷ãæèãå§ãããã©ãŠã¶éã®äºææ§åé¡ã¯åŸã ã«çž®å°ããŠãããŸããã
ããã« ECMAScript æšæºãæçããçŽç²ãª JavaScriptïŒVanilla JSïŒã ãã§ãããã€ãŠ jQuery ãæäŸããŠããæ©èœã®å€ããå®çŸã§ããããã«ãªããŸãããããšãã°ãquerySelector ã querySelectorAllãclassList ãšãã£ããã€ãã£ã DOM API ã䜿ãã°ãjQuery ã䜿ãããšã DOM èŠçŽ ãéžæã»æäœã§ããŸãããAjax ãªã¯ãšã¹ãã¯æšæºæ©èœã§ãã fetch API ã«ãã£ãŠä»£æ¿ã§ããŸãã
jQuery ã眮ãæããæè¡
仿¥ã®ãŠã§ãéçºã§ã¯ãjQuery ã®ä»£ããã«ãããå¹ççã§ã¢ãã³ãªéžæè¢ãåºã䜿ãããŠããŸãã
ã¢ãã³ JavaScriptïŒVanilla JSïŒ
åè¿°ã®ãšãããä»ã§ã¯çŽç²ãª JavaScript ã ãã§ãååãªæäœãå¯èœã§ããjQuery ã®åã¡ãœããã¯ãä»ããã€ãã£ã API ã§ã»ãšãã©ä»£æ¿å¯èœã§ãã
-
DOM éžæ:
$('.class')âdocument.querySelector('.class') -
Ajax ãªã¯ãšã¹ã:
$.ajax()âfetch()API -
ã¯ã©ã¹æäœ:
$(element).addClass('foo')âelement.classList.add('foo')
ããã«ãBabel ã Webpack ãšãã£ãããŒã«ã䜿ãã°ãææ°ã® JavaScript ææ³ã§æžããã³ãŒããæ§åãã©ãŠã¶åãã«å€æã§ãããããå¿ ããã jQuery ã«äŸåããå¿ èŠã¯ãããŸããã
React, Vue.js ãªã©ã®ãã¬ãŒã ã¯ãŒã¯
çŸä»£ã® Web ã¢ããªã±ãŒã·ã§ã³éçºã§ã¯ ReactãVueãAngular ãªã©ã®ãã¬ãŒã ã¯ãŒã¯ãäžå¿ã«ãªã£ãŠããŸãããããã¯åãªã DOM æäœãè¶ ããŠã宣èšçã§ã¢ãžã¥ãŒã«åãããããã°ã©ãã³ã°ã¹ã¿ã€ã«ãæäŸããã³ãŒãã®å¹çåãä¿å®æ§åäžãå©ããŸãã
æå€§ã®éãã¯ ä»®æ³ DOMïŒVirtual DOMïŒ ã®äœ¿ãæ¹ã§ããjQuery ã¯å®éã® DOM ãçŽæ¥æäœããã®ã«å¯ŸããReact çã¯ãŸãã¡ã¢ãªäžã«ãã軜éãªä»®æ³ DOM ãæŽæ°ããåã®ä»®æ³ DOM ãšæ¯èŒããŠãå€åã®ãã£ãéšåã®ã¿ãå®éã® DOM ã«ãŸãšããŠåæ ããŸãããã®æ¹æ³ã«ãã£ãŠäžå¿ èŠãª DOM ã¢ã¯ã»ã¹ãæç»ãæå°åããã¢ããªã±ãŒã·ã§ã³ã®æ§èœãå€§å¹ ã«åäžãããŸãã
æ§èœæ¯èŒïŒjQuery vs ã¢ãã³ JavaScript
æ§èœãšãã芳ç¹ã§ã¯ãjQuery ã«ã¯ããã€ãã®åŒ±ç¹ããããŸãã
-
ãã¡ã€ã«ãµã€ãºïŒç°¡åãªæ©èœãå®è£ ããã ãã§ã jQuery ã©ã€ãã©ãªå šäœãèªã¿èŸŒãå¿ èŠããããããçŽç²ãª JavaScript ã«æ¯ã¹ãŠåæèªã¿èŸŒã¿é床ãé ããªãå¯èœæ§ããããŸããjQuery ã¯åœåæé©åãããäºææ§ãéèŠããŠèšèšããããããã³ãŒãã®å®¹éãæ¯èŒç倧ããã§ãã
-
DOM æäœé床ïŒjQuery ã¯å®éã® DOM ãçŽæ¥æäœããŸããé »ç¹ã« DOM ãåçã«æäœããå Žé¢ã§ã¯ããã©ãŠã¶ã¯ã¬ã€ã¢ãŠãã®åèšç®ãåæç» (ãªãããŒã»ãªãã€ã³ã) ãç¹°ãè¿ããªããã°ãªãããããã©ãŒãã³ã¹ãäœäžããŸããäžæ¹ã§ä»®æ³ DOM ã䜿ããã¬ãŒã ã¯ãŒã¯ã¯ããããåŠçãæå°åã§ããé«ãæ§èœãå®çŸã§ããŸãã
-
ã³ãŒã«ã¹ã¿ãã¯ïŒjQuery ã¯ãã€ãã£ãã³ãŒããå€ãã©ããããæ§é ã«ãªã£ãŠãããDOM æäœæã«åŒã³åºãã¹ã¿ãã¯ãæ·±ããªããå®è¡æéãé·ããªãããšããããŸãã
ãã¡ãããjQuery ãç¶ç¶ããŠæé©åãããŠããã®ã§ãæ§èœæ¹åãããŠããéšåãå€ããããŸãããã ããè€éã§åçãªå€§èŠæš¡ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãä»®æ³ DOM ããŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ã®ã»ããäžè¬çã«åªããæ§èœãçºæ®ããŸãã
æ°ããªã¹ã¿ãŒãã®ããã®ææ¡
jQuery 㯠Web éçºã®æŽå²ã«ãããŠå€§ããªè¶³è·¡ãæ®ããçŽ æŽãããã©ã€ãã©ãªã§ããè€éã ã£ããŠã§ãéçºç°å¢ãç°¡çŽ åããå€ãã®éçºè ãããç°¡åã«ãããæ¥œããã³ãŒããæžããããæå©ãããŠããŸããã
ãããããŠã§ãéçºã®ãã©ãã€ã ã¯ä»ãå€åããŠããŸããWeb æšæºãæçããæ§èœãšä¿å®æ§ãæå€§åãã匷åãªãã¬ãŒã ã¯ãŒã¯ãç»å ŽããŸãããå€§èŠæš¡ã§è€éãªã¢ããªã±ãŒã·ã§ã³ãããããéçºãããªããã¢ãžã¥ãŒã«åãã³ã³ããŒãã³ãæåéçºã«ã¯äžåã㪠jQuery ã¯ãã¯ãçæ³ãšã¯èšããŸããã
ããããªããæ°ãããããžã§ã¯ããå§ãããªããjQuery ãããææ°ã® JavaScript æšæºã ReactãVue ãšãã£ãã¢ãã³ãªãã¬ãŒã ã¯ãŒã¯ãåªå çã«æ€èšããŠã¿ãŠãã ãããããããããšã§ãããé«ãæ§èœã容æãªä¿å®æ§ããããŠå°æ¥çãªæ¡åŒµæ§ãå®çŸã§ããã§ããããéå»ã®æ å ã«ãšããããã®ã§ã¯ãªããçŸåšãšæªæ¥ã®ãŠã§ãéçºãã¬ã³ãã«æ©èª¿ãåãããŠé²ãããšãããããè³¢æãªéžæã§ãã