Rails ãšããŠãç¥ããã Ruby on Rails ã¯ã2004 幎㫠David Heinemeier Hansson ã«ãã£ãŠäœæããããã«ã¹ã¿ãã¯ã®ãªãŒãã³ãœãŒã¹ Web ã¢ããªã±ãŒã·ã§ã³ ãã¬ãŒã ã¯ãŒã¯ã§ããããã¯ãRuby ããã°ã©ãã³ã°èšèªã䜿çšããŠæ§ç¯ãããŠããããæ§æãããæ £äŸããšãåãããšãç¹°ãè¿ããªãã(DRY) èšèšååã«åŸã£ãŠããããã¹ã ãã©ã¯ãã£ã¹ã®äœ¿çšãä¿é²ããéçºè ã Web ã¢ããªã±ãŒã·ã§ã³ãè¿ éãã€å¹ççã«æ§ç¯ã§ããããã«ããŸãã Ruby on Rails ã¯ããã®å€çšéæ§ãèªã¿ãããã䜿ããããã«ãããéçºè ã®éã§åºã人æ°ãåŸãŠããŸãã
Ruby on Rails ã¯ãModel-View-Controller (MVC) ã¢ãŒããã¯ã㣠ãã¿ãŒã³ãæ¡çšããŠããŸããããã«ãããåºç€ãšãªãããŒã¿ (ã¢ãã«)ããã®ããŒã¿ã®è¡šç€º (ãã¥ãŒ)ãããã³ãŠãŒã¶ãŒå ¥åãåŠçããå¶åŸ¡ãã㌠(ã³ã³ãããŒã©ãŒ) ã®åé¢ãä¿é²ãããŸãã Rails ã¯ãé¢å¿äºã®æç¢ºãªåé¢ãç¶æããããšã§ãã¢ããªã±ãŒã·ã§ã³ã®éçºãšã¡ã³ããã³ã¹ãç°¡çŽ åããéçºè ãæå°éã®ã³ãŒããšåŽåã§ã¹ã±ãŒã©ãã«ã§å ç¢ãªã¢ããªã±ãŒã·ã§ã³ãç°¡åã«æ§ç¯ã§ããããã«ããŸãã
Rails ãã¬ãŒã ã¯ãŒã¯ã¯ãWeb éçºããã»ã¹ãåçåããåºç¯ãªããŒã« ã¹ã€ãŒããšæ¢è£œã®ã³ã³ããŒãã³ããæäŸããŸããäž»ãªæ©èœã«ã¯ãã«ãŒãã£ã³ã°ãActiveRecord ã®åºç¯ãªããŒã¿ããŒã¹æœè±¡åã¬ã€ã€ãŒãè€æ°ã®ããŒã¿ããŒã¹ ã·ã¹ãã ã®ãµããŒããçµã¿èŸŒã¿ãã£ãã·ã¥ãjQuery ã React ãªã©ã® JavaScript ã©ã€ãã©ãªãšã®ç°¡åãªçµ±åãªã©ããããŸãã Rails ã«ã¯ãéçºè ãåºæ¬ç㪠CRUD æ©èœã®ã³ãŒããèªåçã«çæã§ããã¹ãã£ãã©ãŒã«ãã£ã³ã°ãªã©ã®æ©èœãå«ãŸããŠãããéçºããã»ã¹ãããã«é«éåã§ããŸãã
Ruby on Rails ã¯æ§æãããèŠçŽãåªå ããŸããã€ãŸããã»ãšãã©ã® Web ã¢ããªã±ãŒã·ã§ã³ã«å¿ èŠãªããã©ã«ãã®èšå®ãšã¬ã€ã¢ãŠããæäŸãããŸãããã®ã¢ãããŒãã«ãããéçºè ãèšè¿°ããå¿ èŠã®ããã³ãŒãã®éãåæžãããå€§èŠæš¡ãªæ§æãã¡ã€ã«ãäžèŠã«ãªãããããã¬ãŒã ã¯ãŒã¯ã®åŠç¿ãšæäœãéåžžã«ç°¡åã«ãªããŸãã Rails ã®èŠçŽã«åºã¥ããèšèšå²åŠã«ããããã¬ãŒã ã¯ãŒã¯ã§æ§ç¯ãããã¢ããªã±ãŒã·ã§ã³ãæ¥çã®ãã¹ã ãã©ã¯ãã£ã¹ã«æºæ ãããããžã§ã¯ãå šäœã§äžè²«æ§ãç¶æã§ããããã«ãªããããŒã ã®å ±åäœæ¥ãæ°ããéçºè ã®ãªã³ããŒãã£ã³ã°ã容æã«ãªããŸãã
Ruby on Rails ã®æãéèŠãªå©ç¹ã® 1 ã€ã¯ã掻çºã§ååçãªéçºè ã³ãã¥ããã£ã§ããããšã§ãã Rails ã¯èªç以æ¥ãäžçäžã®äœå人ãã®éçºè ã«æ¡çšãããŠãããRails ãäžå¿ã«åŒ·åºãªã³ãã¥ããã£ã圢æãããŠããŸãããã®ã³ãã¥ããã£ã¯åžžã«ç¥èãå ±æãã貎éãªãªãœãŒã¹ãæäŸããRails ã³ãŒãããŒã¹ã«è²¢ç®ããŠããããã®çµæãéçºè ãã¢ããªã±ãŒã·ã§ã³ã®æ©èœãç°¡åã«æ¡åŒµã§ããã©ã€ãã©ãªããã©ã°ã€ã³ãããŒã«ã®è±å¯ãªãšã³ã·ã¹ãã ã圢æãããŠããŸãã
Ruby on Rails ã䜿çšããèåãªäŒæ¥ã補åã«ã¯ãAirbnbãGitHubãShopifyãTwitter ãªã©ããããŸããããã¯ããã¬ãŒã ã¯ãŒã¯ã®ãã¯ãŒãšæè»æ§ã®èšŒæ ã§ãã Rails ã¯ãéçºè ããã«æ©èœã®ãšã³ã¿ãŒãã©ã€ãº ã¢ããªã±ãŒã·ã§ã³ã«æ¡åŒµã§ããæŠå¿µå®èšŒã¢ããªã±ãŒã·ã§ã³ãç°¡åã«æ§ç¯ã§ãããããå°èŠæš¡ãããžã§ã¯ããšå€§èŠæš¡ãããžã§ã¯ãã®äž¡æ¹ã«ãšã£ãŠã¹ã±ãŒã©ãã«ãªãœãªã¥ãŒã·ã§ã³ã§ããããšã蚌æãããŠããŸãã
AppMaster GoãVue3ãKotlinã SwiftUIã䜿çšããã¢ããªã±ãŒã·ã§ã³ã®çæã«éç¹ã眮ããŠããŸãããRuby on Rails ãçè§£ããããšã¯ãä»£æ¿ Web ãã¬ãŒã ã¯ãŒã¯ ãœãªã¥ãŒã·ã§ã³ãæ€èšããã Web éçºè ã«ãšã£ãŠæçã§ãã Ruby on Rails ã¯ãå©çšå¯èœãªå€æ°ã® Web ãã¬ãŒã ã¯ãŒã¯ã® 1 ã€ã«ããããäžèœã®ãœãªã¥ãŒã·ã§ã³ã§ã¯ãªãããšã«æ³šæããããšãéèŠã§ããç¹å®ã®ãŠãŒã¹ã±ãŒã¹ãèŠä»¶ã奜ã¿ã«å¿ããŠãéçºè ã«ãã£ãŠã¯ãDjangoãLaravelãExpress.js ãªã©ã®ä»ã®ãã¬ãŒã ã¯ãŒã¯ãèªåã®ããŒãºã«ããé©ããŠãããšèããå ŽåããããŸãã
çµè«ãšããŠãRuby on Rails ã¯åŒ·åãªãã«ã¹ã¿ã㯠Web ã¢ããªã±ãŒã·ã§ã³ ãã¬ãŒã ã¯ãŒã¯ã§ãããããã«ããéçºè ã¯æ°èäŒæ¥ããå€§èŠæš¡äŒæ¥ãŸã§ãããŸããŸãªæ¥çã§å¹ åºãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ã§ããŸãããã®ã¯ãªãŒã³ãªãã¶ã€ã³ãæ§æãããæ £äŸã®éèŠãã¢ã¯ãã£ããªã³ãã¥ããã£ãããã³åºç¯ãªãšã³ã·ã¹ãã ã«ãããå¹ççã§ã¹ã±ãŒã©ãã«ã§ã¡ã³ããã³ã¹ã®å°ãªãã¢ããªã±ãŒã·ã§ã³ãäœæããã Web éçºè ã«ãšã£ãŠäººæ°ã®éžæè¢ãšãªã£ãŠããŸãããã ããã¢ããªã±ãŒã·ã§ã³éçºäœæ¥ã«é©åãªãã¯ãããž ã¹ã¿ãã¯ã決å®ããéã«ã¯ãä»ã®ãã¬ãŒã ã¯ãŒã¯ã調æ»ãããããžã§ã¯ãã®èŠä»¶ãèæ ®ããããšãéèŠã§ããããã«é¢é£ããŠã AppMasterãã©ãããã©ãŒã ã¯ãGoãVue3ãKotlinã SwiftUIãªã©ã®ææ°ãã¯ãããžãŒã䜿çšããŠããã¯ãšã³ããWebãã¢ãã€ã« ã¢ããªã±ãŒã·ã§ã³ãäœæããããã®åªãããœãªã¥ãŒã·ã§ã³ãæäŸããéçºããã»ã¹ãããã«ç°¡çŽ åããã³ã¹ãå¹çãšå¹çãé«ããŸãã