ããã¯ãbackbone.jsãember.jsãangular.jsãªã©ã®ã©ã€ãã©ãªãŒãéçºè ã匷åãªJavaScriptã¢ããªã±ãŒã·ã§ã³ãäœæããã®ã«åœ¹ç«ã€ä»æ¥ã®äžè¬çãªã¢ãããŒãã§ãã ãããããã®ãããªã¢ããªã±ãŒã·ã§ã³ã«ã¯ããã€ãã®é倧ãªå¶éãããããšã«æ°ä»ããŸããã ãããæ確ã«ããããã«ãWebã¢ããªã±ãŒã·ã§ã³ã®æŽå²ã®çããã¢ãŒãèŠãŠã¿ãŸãããã

泚ç®ãéããèšäºã®ç»å
JavaScriptã¯æé·ããŠããŸã
Webã®å€æãã«ã¯ããã©ãŠã¶ãšã®å¯Ÿè©±ã¯æ¬¡ã®ãšããã§ãããWebãã©ãŠã¶ã¯ãã¹ãŠã®ããŒãžïŒããšãã°www.geocities.com ïŒãèŠæ±ããã€ã³ã¿ãŒãããäžã®ã©ããã«ãããµãŒããŒã«HTMLãçæããŠéãè¿ããŸããã åœæã®ãã©ãŠã¶ã¯ãŸã ããã»ã©åŒ·åã§ã¯ãªããHTMLããŒãžã¯ã»ãšãã©éçã§èªåŸçã ã£ããããããã¯è¯ãã¢ãããŒãã§ããã WebããŒãžãããåçã«ã§ããããã«èšèšãããJavaScriptã¯ãã¹ã©ã€ãã·ã§ãŒãæ¥ä»ã®éžæãããè€éãªãã®ãèš±å¯ããŸããã§ããã
æ°å¹Žã«ãããã³ã³ãã¥ãŒã¿ãŒãã¯ãããžãŒã®åŸãç±å¿ãªéçºè ã¯Webãéçãè¶ ããŠæŒãé²ããé²åãäœåãªããããŸããã çŸåšããŠã§ãã¯éåžžã«éçºãããŠãããããã¢ããªã±ãŒã·ã§ã³çšã®æ¬æ Œçãªãã©ãããã©ãŒã ã«ãªã£ãŠããŸããé«éJavaScriptãšhtml5æšæºã®äž¡æ¹ã«ãããéçºè ã¯ä»¥åã¯ç¹å®ã®ãã©ãããã©ãŒã ã®ã¿ã§äœæã§ãã匷åãªã¢ããªã±ãŒã·ã§ã³ãäœæã§ããŸãã
ã·ã³ã°ã«ããŒãžã¢ããªã±ãŒã·ã§ã³
ãã°ããããŠãéçºè ã¯JavaScriptãšæ°æ©èœã䜿çšããŠããã©ãŠã¶ãŒã§ã¢ããªã±ãŒã·ã§ã³å šäœãäœæãå§ããŸããã GmailïŒ1ããŒãžã¢ããªã±ãŒã·ã§ã³ã®å žåçãªäŸïŒãªã©ã®ã¢ããªã±ãŒã·ã§ã³ã¯ããŠãŒã¶ãŒã®ã¢ã¯ã·ã§ã³ã«å³åº§ã«å¿çã§ããŸããæ°ããããŒãžã衚瀺ããããã ãã«ããµãŒããŒäžã§å®å šã«å®è¡ããå¿ èŠã¯ãªããªããŸããã
Backbone.jsãember.jsãangular.jsãªã©ã®ã©ã€ãã©ãªã¯ãå€ãã®å Žåãã¯ã©ã€ã¢ã³ãMVCãŸãã¯MVVMã©ã€ãã©ãªãšåŒã°ããŸãã ã¯ã©ã·ãã¯MVCã¯ã©ã€ã¢ã³ãã¢ãŒããã¯ãã£ã¯æ¬¡ã®ããã«ãªããŸãã

å€æ°ã®ã¢ããªã±ãŒã·ã§ã³ããžãã¯ïŒãã¥ãŒããã³ãã¬ãŒããã³ã³ãããŒã©ãŒãã¢ãã«ãåœéåãªã©ïŒãã¯ã©ã€ã¢ã³ãã«ååšããããŒã¿ã«ã¯ç¹å¥ãªAPIã䜿çšãããŸãã ãµãŒããŒã¯ãRubyãPythonãJavaãªã©ã®ä»»æã®èšèªã§äœæã§ããŸãã ã»ãšãã©ã®å Žåããã®åœ¹å²ã¯ã¯ã€ã€ãŒãã¬ãŒã ããŒãžãã¬ã³ããªã³ã°ããããšã§ãã JavaScriptãã¡ã€ã«ããã©ãŠã¶ã«èªã¿èŸŒãŸãããšããã«å®è¡ãããã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ãåæåããã察å¿ããAPIãä»ããŠããŒã¿ãèªã¿èŸŒãŸããæ®ãã®HTMLãã¬ã³ããªã³ã°ãããŸãã
ããã¯ãŠãŒã¶ãŒã«é©ããŠããŸããããŒãããããšãã¢ããªã±ãŒã·ã§ã³ã¯åèµ·åããã«ããŒãžéããã°ããåãæ¿ããããšãã§ãããã¹ãŠãæ£ããè¡ãããŠããã°ãªãã©ã€ã³ã§ãåäœããããã§ãã
çæ³çãªåäžããŒãžã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãã¯ã©ã€ã¢ã³ããšãµãŒããŒéã§ã¿ã¹ã¯ãæ確ã«åé¢ãããŠãããããéçºè ã«ãšã£ãŠãåªããŠããŸããããã«ãããåªããéçºããã»ã¹ãæäŸããã2ã€ã®ç°å¢éã§å€ãã®ããžãã¯ãè€è£œããå¿ èŠããªããªããŸãã
楜åã®ãã©ãã«
ãã ããå®éã«ã¯ããã®ã¢ãããŒãã«ã¯èŽåœçãªæ¬ é¥ãããã€ããããããå€ãã®å Žå䜿çšã§ããŸããã
æ€çŽ¢ãšã³ãžã³æé©å
ã¯ã©ã€ã¢ã³ãã§ã®ã¿åäœããã¢ããªã±ãŒã·ã§ã³ã¯ãæ€çŽ¢ãšã³ãžã³ãšæ£åžžã«å¯Ÿè©±ã§ããŸãããã€ãŸããããã©ã«ãã§ã¯SEOã«ããŸãé©åããŠããŸããã æ€çŽ¢ããããã¯ãWebãµãŒããŒãžã®ã¯ãšãªãäœæããŠçµæã解éããããšã§æ©èœããŸããããµãŒããŒã空çœããŒãžã®ã¿ãè¿ãå Žåãããã¯ã»ãšãã©åœ¹ã«ç«ã¡ãŸããã ãã¡ãããåé¿çã¯ãããŸãããã¿ã³ããªã³ãšäžç·ã«èžããªãéãã§ã¯ãããŸããã
æ§èœ
åãçç±ã§ããµãŒããŒãããŒãžå šäœãçæããã代ããã«ã¯ã©ã€ã¢ã³ãã«JavaScriptãããŒããããã®ãåŸ ããªããã°ãªããªãå ŽåããŠãŒã¶ãŒã¯ç©ºçœããŒãžãŸãã¯ããŒãã¢ã€ã³ã³ãæ°ç§é衚瀺ããŸãã é ããµã€ãããŠãŒã¶ãŒã«ããããŠããã«å¿ããŠå©çã«äžãã圱é¿ã調æ»ããå€ãã®ç 究ãè¡ãããŸããã Amazon㯠ã100ããªç§ã®è² è·åæžããšã«å©çã1ïŒ å¢å ãããšäž»åŒµããŠããŸãã Twitterã¯ãã¯ã©ã€ã¢ã³ãã§ã¯ãªããµãŒããŒäžã§ããŒãžãå®å šã«çæããããã«ãµã€ããåèšèšãã40人ã®éçºè ã®1幎ã®å ±ååªåãè²»ãããç¥èŠãããèªã¿èŸŒã¿æéã5åæ¹åããŸããã
ãµããŒã
ããã«ãããçæ³çã«ã¯ãæ確ã§æ確ã«åé¢ãããããããã³ãŒããçæãããŸã;å¿ ç¶çã«ãã¢ããªã±ãŒã·ã§ã³ããžãã¯ãŸãã¯è¡šç€ºããžãã¯ã®äžéšãã¯ã©ã€ã¢ã³ããšãµãŒããŒéã§è€è£œãããå€ãã®å Žåç°ãªãèšèªã§èšè¿°ãããŸãã æšæºçãªäŸã¯ãæ¥ä»ãŸãã¯é貚ã®ãã©ãŒãããããã©ãŒã ã®æ€èšŒãããã³ã«ãŒãã£ã³ã°ããžãã¯ã§ãã ããã«ãããç¹ã«è€éãªã¢ããªã±ãŒã·ã§ã³ã§ã¯ãµããŒããæªå€¢ã«ãªããŸãã
ç§ãå«ãäžéšã®éçºè ã¯ãããã§ã³ãŒã³ãåããŸã-å€ãã®å Žåã1ããŒãžã®ã¢ããªã±ãŒã·ã§ã³ãäœæããããã«å€ãã®æéãšåŽåãè²»ãããåŸã«ã®ã¿ããããã®æ¬ ç¹ãæããã«ãªããŸãã
ãã€ããªããã¢ãããŒã
ãã®çµæãæ°ããã¢ãããŒããšå€ãã¢ãããŒãã®ãã€ããªãããå¿ èŠã«ãªããŸããçç£æ§ãšSEOã®çç±ãããµãŒããŒããå®å šã«åœ¢æãããHTMLãåãåãããã ãã§ãªããã¯ã©ã€ã¢ã³ãåŽã¢ããªã±ãŒã·ã§ã³ã®é床ãšæè»æ§ãå¿ èŠã§ãã
ãããå®çŸããããã«ãAirbnbã§ã¯ãã¯ã©ã€ã¢ã³ããšãµãŒããŒã®äž¡æ¹ã§å®è¡ã§ããJavaScriptã¢ããªã±ãŒã·ã§ã³ã§ãããå圢JavaScriptã¢ããªã±ãŒã·ã§ã³ããå®éšããŠããŸãã
ååã¢ããªã±ãŒã·ã§ã³ã¯æ¬¡ã®ããã«ãªããŸãã ãã¯ã©ã€ã¢ã³ããµãŒããŒMVCããšããã¿ã€ãã«ïŒ

ããã§ã¯ãã¢ããªã±ãŒã·ã§ã³ããžãã¯ãŸãã¯è¡šç€ºã®äžéšããµãŒããŒãšã¯ã©ã€ã¢ã³ãã®äž¡æ¹ã§å®è¡ã§ããŸãã åçåãããå®è¡ãããè¯ããµããŒããããã©ã«ãã®CEOãããå¶åŸ¡ãããWebã¢ããªã±ãŒã·ã§ã³ãªã©ãå€ãã®æ©èœãæäŸããŸãã
é«éã§å®å®ãããµãŒããŒãµã€ãJavaScriptã§ããnode.jsã䜿çšãããšããã®å€¢ãå®çŸããããšãã§ããŸãã å¿ èŠãªæœè±¡åãäœæãããããµãŒããŒãšã¯ã©ã€ã¢ã³ãã®äž¡æ¹ã§å®è¡ãããããã«ã¢ããªã±ãŒã·ã§ã³ã®ããžãã¯ãèšè¿°ã§ããŸã-ããã¯å圢JavaScriptã§ãã
éçã®å圢JavaScript
ã¢ã€ãã¢ã¯æ°ãããã®ã§ã¯ãããŸãã-Nodejitsuã¯2011幎ã«ååJavaScript ã®ã¢ãŒããã¯ãã£ãé©åã«èª¬æããŸããããé©å¿ããã®ã¯å°é£ã§ããã ãã以æ¥ãããã€ãã®ååãã¬ãŒã ã¯ãŒã¯ãç»å ŽããŸããã
Mojitoã¯ãæåã«ç¥ãããå圢ã®ãªãŒãã³ãœãŒã¹ãã¬ãŒã ã¯ãŒã¯ã§ããã ããã¯node.jsã«åºã¥ãé«åºŠãªãã«ã¹ã¿ãã¯ãã¬ãŒã ã¯ãŒã¯ã§ãããyuiã«äŸåããŠãããyahooã®çã¯JavaScriptã³ãã¥ããã£ã§ã®ç¹å¥ãªäººæ°ã«è²¢ç®ããŠããŸããã2012幎4æã«å ¬éãããç¬éããã§ãã
æµæã¯ããããä»æ¥æãåºãç¥ãããŠããååãããžã§ã¯ãã§ãã æµæã¯ãªã¢ã«ã¿ã€ã ã¢ããªã±ãŒã·ã§ã³ããµããŒãããããã«ãŒãããäœæããã圌ã®ããŒã ã¯ãããã·ã¹ãã ãšå±éããŒã«ãäžå¿ã«ãšã³ã·ã¹ãã å šäœãäœæããŸããã Mojitoãšåæ§ã«ãããã¯å€§ãããèªä¿¡éå°ãªnode.jsãã¬ãŒã ã¯ãŒã¯ã§ãã ãã ããJavaScriptã³ãã¥ããã£ãåŒãä»ããããã«å€ãã®ããšãè¡ãããŠãããæãæåŸ ãããŠãããªãªãŒã¹1.0ã¯ããããã«ãããŸãïŒ2014幎ã®åãã«Transã æµæã¯ã泚ç®ãéãããããžã§ã¯ãã§ã-ã¹ã¿ãŒããŒã ãAndreessen Horowitzããã®è³éã§1,120äžãã«-ã¯ããªãŒãã³ãœãŒã¹è£œåã®ãªãªãŒã¹ã«å®å šã«çŠç¹ãåœãŠãŠããäŒæ¥ã«ãšã£ãŠã¯å代æªèã§ãã
Facebookãå ±åèšç«è Dustin Moskowitzãšå ±åã§èšç«ããã¿ã¹ã¯ç®¡çã¢ããªã±ãŒã·ã§ã³ã§ããAsanaã«ã¯ãèå³æ·±ãå圢ã®ã¹ããŒãªãŒããããŸãã ã¢ã¹ã³ãããã¯äžçæ幎å°ã®åäžé·è ãšããŠã®å°äœã«ãããããè³éã®åé¡ãçµéšããããšãªããAsanaã¯ååJavaScriptã®æãå é²çãªäŸã®1ã€ã§ããç¬èªã®ã¯ããŒãºããœãŒã¹Lunaãã¬ãŒã ã¯ãŒã¯ã®éçºã«é·å¹Žã®ç 究ãè²»ãããŸãã å ã v8cgi ïŒnode.jsã«è³ããŸã§ïŒã§äœæãããLunaã¯ããŠãŒã¶ãŒã»ãã·ã§ã³ããšã«ãµãŒããŒäžã®ã¢ããªã±ãŒã·ã§ã³ã®ã³ããŒãå®è¡ããããšãèš±å¯ããŠããŸããã åãŠãŒã¶ãŒã«å¯ŸããŠåå¥ã®ãµãŒããŒããã»ã¹ãèµ·åãããã¯ã©ã€ã¢ã³ãã§å®è¡ãããŠããåãJavaScriptã³ãŒããå®è¡ãããŸããã ããã«ããããªãã©ã€ã³ã®å®å®æ§ãè¿ éãªå¿çãªã©ãé«åºŠãªæé©åã®ãã¹ãŠã®å©ç¹ãæäŸãããŸããã
ä»å¹Žã¯ååã©ã€ãã©ãªãäœæããŸããã ããã¯RendrãšåŒã°ããŸã ã ãŸããbackbone.js + handlebars.jsã®åäžããŒãžã¢ããªã±ãŒã·ã§ã³ãäœæãããµãŒããŒäžã®ããŒãžãå®å šã«åœ¢æããããšãã§ããŸãã Rendrã¯ã Airbnbã®ã¢ãã€ã«ããŒãžã§ã³ãåäœæããŠããŠã³ããŒãé床ãåäžãããçµéšã®çµæã§ããããã¯ãããŒã¿è»¢éã®é 延ã倧ããã¢ãã€ã«ãŠãŒã¶ãŒã«ãšã£ãŠç¹ã«éèŠã§ãã Rendrã¯ãããã€ãã®åé¡ã解決ãããã¬ãŒã ã¯ãŒã¯ãšãããããã©ã€ãã©ãªãŒã§ãïŒMojitoãMeteorãšæ¯èŒããå ŽåïŒããå€æŽãæ¡åŒµã¯ç°¡åã§ãã
æœè±¡åãæœè±¡åãæœè±¡å
ãããã®ãããžã§ã¯ãã¯ãã¹ãŠéåžžã«å€§ããããã«ã¹ã¿ãã¯ãã¬ãŒã ã¯ãŒã¯ãããªãè€éãªåé¡ã«çŽé¢ããŠããããšã瀺åããŠããŸãã ã¯ã©ã€ã¢ã³ããšãµãŒããŒã¯ãŸã£ããç°ãªãç°å¢ã§ãããããã¢ããªã±ãŒã·ã§ã³ããžãã¯ãåºæ¬å®è£ ããåé¢ããç¹å®ã®æœè±¡åã»ãããäœæããŠãã¢ããªã±ãŒã·ã§ã³éçºè åãã®åäžã®APIãäœæã§ããããã«ããå¿ èŠããããŸãã
ã«ãŒãã£ã³ã°
ç¹å®ã®URIãã¿ãŒã³ãé©åãªãã³ãã©ãŒã«ãããããåäžã®ã«ãŒãã»ãããå¿ èŠã§ãã ãããã®ãã³ãã©ãŒã«ã¯ãHTTPããããŒãCookieãURIããã®æ å ±ãwindows.locationïŒãã©ãŠã¶ãŒå ïŒããã³reqããã³resïŒnode.jså ïŒã«çŽæ¥ã¢ã¯ã»ã¹ããã«ãªãã€ã¬ã¯ãããæ©èœãžã®ã¢ã¯ã»ã¹æš©ãå¿ èŠã§ãã
ããŒã¿ã®èªã¿èŸŒã¿ãšä¿å
èªã¿èŸŒã¿ã¡ã«ããºã ã«é¢ä¿ãªããç¹å®ã®ããŒãžãŸãã¯ã³ã³ããŒãã³ããã¬ã³ããªã³ã°ããããã«å¿ èŠãªãªãœãŒã¹ãäœããã®æ¹æ³ã§èšè¿°ããå¿ èŠããããŸãã ãªãœãŒã¹ã®èª¬æã¯ãç¹å®ã®JSONãæãåçŽãªURIã§ããå¿ èŠããããŸãããŸãã¯ã倧èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ã®å Žåã¯ããªãœãŒã¹ãã¢ãã«ãšã³ã¬ã¯ã·ã§ã³ã«ã«ãã»ã«åããäœããã®æ¹æ³ã§URIã«å€æãããã¢ãã«ã¯ã©ã¹ãšäž»ããŒãå®çŸ©ãããšåœ¹ç«ã€å ŽåããããŸãã
ããŒãžçæ
DOMãæåã§å€æŽããããHTMLãã³ãã¬ãŒããšã³ãžã³ã䜿çšããããDOMããæœè±¡åããã³ã³ããŒãã³ãã®ã©ã€ãã©ãªã䜿çšãããã©ããã«ããããããããŒã¯ã¢ãããå圢ã§çæã§ããå¿ èŠããããŸãã ã¢ããªã±ãŒã·ã§ã³ã®ããŒãºã«å¿ããŠããµãŒããŒãšã¯ã©ã€ã¢ã³ãã®äž¡æ¹ã§ä»»æã®è¡šçŸãçæã§ããå¿ èŠããããŸãã
çµã¿ç«ãŠãšå è£
ååã®ã¢ããªã±ãŒã·ã§ã³ã³ãŒããæžãããšã¯ã話ã®ååã«ãããªãããšãããããŸãã gruntãbrowserifyãªã©ã®ããŒã«ã¯ãã¢ããªã±ãŒã·ã§ã³ã®æ§ç¯ãšå®è¡ã®ããã»ã¹ã®äžå¯æ¬ ãªéšåã§ãã ã¢ã»ã³ããªã®å Žåãéåžžãã¯ã©ã€ã¢ã³ãã®äŸåé¢ä¿ãå«ããã³ãã¬ãŒãã®ã³ã³ãã€ã«ãå€æã®é©çšãçž®å°ãªã©ã®ããã€ãã®æé ãå®è¡ããå¿ èŠããããŸãã æãåçŽãªã±ãŒã¹ã§ã¯ããã¹ãŠã®ã¢ããªã±ãŒã·ã§ã³ã³ãŒãããã¬ãŒã³ããŒã·ã§ã³ãããã³ãã³ãã¬ãŒããåäžã®ããã±ãŒãžã«åéããå¿ èŠããããŸããã倧èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ã§ã¯ãæ°çŸãããã€ããã¯ã©ã€ã¢ã³ãã«è»¢éããå¿ èŠãçããå ŽåããããŸãã ããé«åºŠãªã¢ãããŒãã¯ãåçãã³ããäœæããããŒããé 延ãããæ©èœãæäŸããããšã§ããããã®å Žåãè€éããæ¥éã«å¢å ããŸãã Esprimaãªã©ã®çµ±èšã³ãŒãåæããŒã«ã䜿çšãããšãæ欲çãªéçºè ãé«åºŠãªæé©åãšã¡ã¿ããã°ã©ãã³ã°ãè¡ã£ãŠãå®åã³ãŒãã®éãæžããããšãã§ããŸãã
å°ããªã¢ãžã¥ãŒã«ããçµã¿ç«ãŠãŸã
æåã®ååãã¬ãŒã ã¯ãŒã¯ã§åžå Žã«åå ¥ãããšããããšã¯ããããã®åé¡ããã¹ãŠè§£æ±ºã§ããããšãæå³ããŸãã ãããããã®çµæã巚倧ãªãããããŒãã¬ãŒã ã¯ãŒã¯ãšãªããæ¢åã®ã¢ããªã±ãŒã·ã§ã³ã«é©å¿ããŠçµ±åããããšãå°é£ã«ãªããŸãã ãããã®åé¡ã®è§£æ±ºã«é¢äžããéçºè ãå¢ããã«ã€ããŠãååã¢ããªã±ãŒã·ã§ã³ãäœæããããã«çµã¿åãããããšãã§ããå€æ°ã®å°ããªåå©çšå¯èœãªã¢ãžã¥ãŒã«ã«ããã«ééããŸãã
æããã«ãã»ãšãã©ã®JavaScriptã¢ãžã¥ãŒã«ã¯ãããããªå€æŽã®æç¡ã«ãããããå圢ã§äœ¿çšã§ããŸãã ããšãã°ãundrscoreãããã¯ããŒã³ããã³ãã«ããŒãã¢ãŒã¡ã³ããjqueryãªã©ã®äžè¬çãªã©ã€ãã©ãªã¯ããµãŒããŒã§æ¢ã«äœ¿çšã§ããŸãã
ããããã¹ãŠå®èšŒããããã«ãGitHubããååŸã§ããå圢ãã¥ãŒããªã¢ã«ãšåŒã°ããå°ããªã¢ããªã±ãŒã·ã§ã³ãäœæããŸããã ãããããå圢ã§äœ¿çšã§ããè€æ°ã®ã¢ãžã¥ãŒã«ãçµã¿åããããšã100è¡ã®ã³ãŒãã§å°ããªå圢ã¢ããªã±ãŒã·ã§ã³ãäœæããã®ã¯éåžžã«ç°¡åã§ãã ããã§ã¯ããµãŒããŒãšãã©ãŠã¶ãŒã®ã«ãŒãã£ã³ã°çšã®ãã£ã¬ã¯ã¿ãŒ ãHTTPãªã¯ãšã¹ãçšã®ã¹ãŒããŒãšãŒãžã§ã³ã ããã³ãã¬ãŒãçšã®ãã³ãã«ããŒã䜿çšããŸãããããã¯ãã¹ãŠãéåžžã®express.jsã¢ããªã±ãŒã·ã§ã³ã®äžã«æ§ç¯ãããŠããŸãã ãã¡ãããã¢ããªã±ãŒã·ã§ã³ã®è€éããå¢ãã«ã€ããŠãæœè±¡åã®ã¬ã€ã€ãŒãè¿œå ããå¿ èŠããããŸããããã®ã¢ãããŒããããå€ãã®éçºè ãå®éšããã»ã©ãããå€ãã®æ°ããã©ã€ãã©ãªãšæšæºãç»å Žããããšãæã¿ãŸãã
åšããèŠãŠã¿ãŸããã
å®çšŒåç°å¢ã§node.jsãèµ·åããçµç¹ãå¢ããã°å¢ããã»ã©ãã¯ã©ã€ã¢ã³ããšãµãŒããŒéã§å ±æãããã³ãŒãããŸããŸãå¢ããŸãã å圢JavaScriptã¯ãçãã¿ã¹ã¯ãšåºãã¿ã¹ã¯ã®äž¡æ¹ã§ããŒã«ã«ã«äœ¿çšã§ããããšã«æ³šæããããšãéèŠã§ã-ãã³ãã¬ãŒããåé¢ãã衚瀺ãµãã·ã¹ãã å šäœãåé¢ããã¢ããªã±ãŒã·ã§ã³ã®ããžãã¹ããžãã¯ãå®å šã«åé¢ããããšããå§ããããšãã§ããŸãã JavaScriptãç°å¢éã§åå²ããå ·äœçãªæ¹æ³ã¯ãã¢ããªã±ãŒã·ã§ã³ã®äœææ¹æ³ãšãã®æ©èœã«å®å šã«äŸåããŸãã
Nicholas C. Zakasæ°ã¯ ã圌ã®æèŠã§ã¯ãã¢ããªã±ãŒã·ã§ã³ã§UIã¬ã€ã€ãŒãã¯ã©ã€ã¢ã³ããããµãŒããŒã«åãæ¿ãããããã©ãŒãã³ã¹ã®åäžãšãµããŒãã®åäžãå®çŸããæ¹æ³ãå®å šã«èª¬æããŸããã å圢JavaScriptã䜿çšããããã«ãæ¢åã®ããã¯ãšã³ããæŸæ£ããŠnode.jsã«çœ®ãæããŠãåãæ°Žã§è·³ãè¿ãå¿ èŠã¯ãããŸããã 代ããã«ãæ£ããAPIãäœæããRESTfulã¢ãããŒãã䜿çšããããšã«ãããåŸæ¥ã®ããã¯ãšã³ãã¯node.jsã®é£ã«éãã«äœãããšãã§ããŸãã
Airbnbã§ã¯ãgruntãbrowserifyãªã©ã®ããŒãããŒã¹ã®ããŒã«ã䜿çšããŠã¯ã©ã€ã¢ã³ãåŽãäœæããããã»ã¹ã®ããçŽãããã§ã«éå§ããŠããŸãã ã¡ã€ã³ã®Railsã¢ããªã±ãŒã·ã§ã³ãnode.jsã«ãã£ãŠå®å šã«çœ®ãæããããããšã¯ãããŸããããããããäžç·ã«äœ¿çšãããšãJavaScriptã®ç¹å®ã®éšåãç°å¢éã§å ±æããã®ãããã«ç°¡åã«ãªããŸãã