Airbnbã§ã¯ãé廿°å¹Žéã匷åãªWebã¢ããªã±ãŒã·ã§ã³ãäœæããããšã§å€ãã®ããšãåŠã³ãŸããã 2011幎ã«åäžããŒãžã¢ããªã±ãŒã·ã§ã³ã®äžçã«çªå
¥ãã
ã¢ãã€ã«ããŒãžã§ã³ã®ãµã€ããäœæããŸããããã以æ¥ã
ãŠã£ãã·ã¥ãªã¹ããšæ°ãã
æ€çŽ¢ãéå§ããŸããã ãããã¯ãã¹ãŠåªããJavaScriptã¢ããªã±ãŒã·ã§ã³ã§ããã€ãŸãã倧éã®ã³ãŒãããã©ãŠã¶ãŒã§å®è¡ãããææ°ã®ã€ã³ã¿ã©ã¯ãã£ããªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸããŸãã
ããã¯ã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ã®ç¹å®ã®éšåãç°å¢éã§å
±æããã®ãããã«ç°¡åã«ãªããŸãã