Node.js ã¯ãéçºè ã JavaScript ã䜿çšããŠãµãŒããŒãµã€ãããã³ãããã¯ãŒã¯ ã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããããã«ãããªãŒãã³ãœãŒã¹ã®ã¯ãã¹ãã©ãããã©ãŒã ã©ã³ã¿ã€ã ç°å¢ã§ãã Node.js ã¯ãå¹ççã§ã¹ã±ãŒã©ãã«ã§äœé å»¶ã®ã¢ããªã±ãŒã·ã§ã³ã®èœåãèæ ®ããŠãããã¯ãšã³ããWebãããã³ã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ãäœæããããã®åŒ·å㪠ããŒã³ãŒã ãã©ãããã©ãŒã ã§ãã AppMaster ã§ãµããŒããããŠãããããžã§ã¯ããå«ããæ°å€ãã® Web éçºãããžã§ã¯ãã«äžå¯æ¬ ãªãã®ãšãªã£ãŠããŸãã
2009 幎㫠Ryan Dahl ã«ãã£ãŠç«ã¡äžãããã Node.js ã¯ãåœå Google Chrome ã«ãã V8 JavaScript ãšã³ãžã³äžã«æ§ç¯ãããŸãããçŸåšãããã¯äžå¯æ¬ ãªããã¯ãšã³ãéçºããŒã«ãšããŠæ©èœããŠãããã¯ã©ã€ã¢ã³ãåŽã¢ããªã±ãŒã·ã§ã³ãšãµãŒããŒåŽã¢ããªã±ãŒã·ã§ã³ã®äž¡æ¹ã§åäžã®ããã°ã©ãã³ã°èšèª (JavaScript) ã䜿çšã§ããããã«ãããããéçºè ã®éã§äººæ°ãéããŠããŸãã Node.js ã¯ãéåæãã€ãã³ãé§åããã³ããããã³ã°ç°å¢ãšããŠãè€æ°ã®ãªã¯ãšã¹ããåæã«åŠçã§ãããããWeb ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãå€§å¹ ã«åäžããŸãã
Node.js ã¯ãããã¯ãšã³ãéçºè ã«ãšã£ãŠäžå¯æ¬ ãªããŸããŸãªæ©èœãšããŒã«ã掻çšããŸãããã®äžã§ããnpm ãšããŠç¥ãããããã±ãŒãž ãããŒãžã£ãŒã«ã¯ã2021 幎 10 ææç¹ã§ 130 äžãè¶ ããããã±ãŒãžãšã¢ãžã¥ãŒã«ã®èšå€§ãªãªããžããªãå«ãŸããŠããŸãããã®åºç¯ãªã³ã¬ã¯ã·ã§ã³ã«ãããéçºè ã¯äºåã«æ§ç¯ãããã³ã³ããŒãã³ãã«ã¢ã¯ã»ã¹ããŠå©çšããäœæ¥ãåçåããè¿ éåããããšãã§ããŸãã
ããã¯ãšã³ãéçºã®ã³ã³ããã¹ãã§ã¯ãNode.js ã¯ãã®å¹ççãªã·ã³ã°ã«ã¹ã¬ãã ã¢ãŒããã¯ãã£ã§éç«ã£ãŠãããã€ãã³ã ã«ãŒãã䜿çšã㊠CPU ãšã¡ã¢ãªã®æ¶è²»ãæå°éã«æããªããè€æ°ã®åææäœã管çããŸãããã®ããããªã¢ã«ã¿ã€ã ã³ã©ãã¬ãŒã·ã§ã³ ããŒã«ããªã³ã©ã€ã³ ã²ãŒã ãã©ãããã©ãŒã ããã£ãã ã¢ããªã±ãŒã·ã§ã³ãã³ã³ãã³ãå ±æ Web ãµã€ããªã©ã®é«æ§èœã¢ããªã±ãŒã·ã§ã³ã®éçºã«ç¹ã«é©ããŠããŸããããšãã°ãNetflixãWalmartãLinkedInãUber ãªã©ã®ã°ããŒãã«äŒæ¥ã¯ãã¹ã±ãŒã©ãã«ã§ä¿¡é Œæ§ã®é«ãããã¯ãšã³ã ã·ã¹ãã ãæ§ç¯ããããã« Node.js ãæ¡çšããŠããŸãã
ã©ã³ã¿ã€ã ç°å¢ãšããŠãNode.js ã¯AppMasterno-codeãã©ãããã©ãŒã ãšå®å šãªäºææ§ããããããã¯ã©ã€ã¢ã³ãã¯ããŒã¿ ã¢ãã«ãäœæããããžãã¹ ããã»ã¹ãèŠèŠçã«èšèšããã¢ããªã±ãŒã·ã§ã³ ãŠãŒã¶ãŒ ã€ã³ã¿ãŒãã§ã€ã¹ãç°¡åã«éçºã§ããŸãããã®çžä¹é¢ä¿ã«ãããéçºè ã¯éçºæéãæå€§ 10 åã® 1 ã«ççž®ããã³ã¹ããå°ãªããšã 3 åã® 1 ã«åæžããããšã§ãªãœãŒã¹ãæé©åã§ããŸãã
Node.js ã¯ã AppMasterãšäºææ§ã®ãããã©ã€ã㪠ããŒã¿ããŒã¹ã§ãã Postgresql ãªã©ãããŸããŸãªããŒã¿ããŒã¹ãšã®ã·ãŒã ã¬ã¹ãªçµ±åã容æã«ããŸããããã«ãAppMaster ãçæããã¢ããªã±ãŒã·ã§ã³ã䜿çšãããšããã«ãŒããªã³ãã®ãã¹ãŠã®å€æŽãæ°ããææ°ã®ãœãªã¥ãŒã·ã§ã³ãšãªããããã¯ã©ã€ã¢ã³ãã¯æè¡çè² åµãè² ãããšãªãã¢ããªã±ãŒã·ã§ã³ãè¿ éã«çæãã³ã³ãã€ã«ãå®è¡ã§ããããã«ãªããŸãã
Node.js ã®å æ¬çã§æ©èœè±å¯ãªç°å¢ã¯ãHTTPãWebSocketãTCP æ¥ç¶ãªã©ã®ããŸããŸãªéä¿¡ãããã³ã«ãåŠçããæ©èœããµããŒãããŠããŸãããã®æè»æ§ã«ãããææ°ã® Web ã¢ããªã±ãŒã·ã§ã³ã«äžå¯æ¬ 㪠RESTful API ã®éçºã«æé©ã§ãããã®çµæã AppMaster ããã¹ãŠã®ãããžã§ã¯ãã«å¯ŸããŠãNode.js äžã«æ§ç¯ããããå ç¢ãã€å®å šã§ååã«ææžåããã API ãèªåçã«çæããŸãã
Node.js ã䜿çšããéçºè ã¯ãIBMãMicrosoftãIntel ãªã©ã®ãã¯ãããžãŒå€§æããã®è²¢ç®ãå«ããNode.js ã®åŒ·åãªã³ãã¥ãã㣠ãšã³ã·ã¹ãã ãããæ©æµãåããŸãããã®æŽ»çºãªã³ãã¥ããã£ã«ãããNode.js ã®é¢é£æ§ãææ°æ§ãå ç¢æ§ãç¶æãããéçºè ã«é©æ°çãªã¢ããªã±ãŒã·ã§ã³ã®äœæã«å¿ èŠãªããŒã«ãšãªãœãŒã¹ãæäŸãããŸãã
ããã«ãNode.js ã¢ããªã±ãŒã·ã§ã³ã¯åªããæ¡åŒµæ§ãèªããAWSãMicrosoft AzureãGoogle Cloud Platform ãªã©ã®ã¯ã©ãŠã ãã©ãããã©ãŒã ãšäºææ§ããããããäŒæ¥ã¯å¥œã¿ã®ãã¹ãã£ã³ã° ãœãªã¥ãŒã·ã§ã³ãšé£æºããŠãããŸããŸãªã¯ãŒã¯ããŒãã«å¹ççã«é©å¿ã§ããŸãããã®æ¡åŒµæ§ã®èœåã¯ãã¢ããªã±ãŒã·ã§ã³ãããã©ãŒãã³ã¹ãå€§å¹ ã«äœäžãããããšãªãå¢å€§ãããã©ãã£ãã¯ãšéèŠã確å®ã«åŠçã§ãããããäŒæ¥ãé«è² è·ã®ãŠãŒã¹ã±ãŒã¹ã«ãšã£ãŠç¹ã«äŸ¡å€ããããŸãã
Node.js ã¯ãããã¯ãšã³ãéçºãã¯ãããžã®ç¯å²ã«ãããŠéèŠãªã³ã³ããŒãã³ãã§ããããµãŒããŒãµã€ã ã¢ããªã±ãŒã·ã§ã³ãšãããã¯ãŒã¯ ã¢ããªã±ãŒã·ã§ã³å šäœã§ JavaScript ã®å®è£ ãæé©åããã匷åã§ã¹ã±ãŒã©ãã«ã§å¹ççãªã©ã³ã¿ã€ã ç°å¢ãéçºè ã«æäŸããŸãã AppMasterã®ãã©ãããã©ãŒã ãšã®äºææ§ãšçµ±åã«ãããã¯ã©ã€ã¢ã³ã㯠Webãã¢ãã€ã«ãããã¯ãšã³ã ã¢ããªã±ãŒã·ã§ã³ãå®å šãã€è¿ éã«æ§ç¯ããããã®é«åºŠãªã€ã³ã¿ãŒãã§ã€ã¹ãæäŸããäŒæ¥ãããã»ã¹ãåçåããã³ã¹ããæå°éã«æããçç£æ§ãæå€§åã§ããããã«ãªããŸãã