çŸåšSinatraããµããŒãããŠããKonstantin Haasã¯ãåããŒã«ãç¬èªã®çš®é¡ã®ã¢ããªã±ãŒã·ã§ã³ã®èŠä»¶ãæºãããŠãããšèããŠããŸãã
ãããã¯å®éããã®åéã§çžäºäœçšããŠãããšããäºå®ã«ãããããããç°ãªãäžé£ã®åé¡ã解決ããŸãã Railsã¯ã¢ãã«æåã®Webã¢ããªã±ãŒã·ã§ã³ã®äœæã«çŠç¹ãåœãŠããã¬ãŒã ã¯ãŒã¯ã§ãããSinatraã¯HTTPãåŠçããããã®ãµãŒããŒåŽã©ã€ãã©ãªã§ãã HTTPãªã¯ãšã¹ã/ã¬ã¹ãã³ã¹ã®èŠ³ç¹ããèãããšãSinatraã¯å®ç§ãªããŒã«ã§ãã å®å šãªçµ±åãšå¯èœãªéãå€ãã®ã©ã€ãã©ãªãã³ãã¬ãŒããå¿ èŠãªå Žåã¯ãRailsãæé©ã§ãã
ãŸããDavid Heinmeier Henssonã¯ãããããã«å ŽæããããšèããŠããŸãããã©ã¡ããéžæãããã¯ãã¢ããªã±ãŒã·ã§ã³ã®ãµã€ãºã«ãã£ãŠæ±ºãŸããšèããŠããŸãã
Sinatraã¯ãã€ã¯ãã¹ã¿ã€ã«ã«æé©ã§ãããRailsã¯ããã§ã¯ãããŸããã æå°éã§ããéããSinatraã¯RailsãããåªããŠããŸãã ãããè¶ ãããšãRailsã¯Sinatraã«åã¡ãŸãã
å®éãã»ãšãã©ã®äººã¯ãRailsã倧èŠæš¡ãããžã§ã¯ãã«éç¹ã眮ããŠããããšã«åæããŸãããSinatraã¯ãã€ã¯ãã¢ããªã±ãŒã·ã§ã³ãšAPIã«é©ããŠããŸãã ããããã¯ãRailsãšSinatraã®çµéšããåŸãéžæèŠåã«ã€ããŠèª¬æãç¶ããŸãã
ã¢ããªã±ãŒã·ã§ã³ã«5ã10åã®ãšã³ããã€ã³ããããå Žåãç¬èªã®ãœãªã¥ãŒã·ã§ã³ã«Sinatraã䜿çšããããšã¯æçã§ãã ç¹ã«ãã³ã³ãããŒã©ãŒæ§é èªäœã1ã2ããŒãžã®ã³ãŒãã«åãŸãå Žå-1ã€ã®ãã¡ã€ã«ã§å®è¡ã§ããå Žåã«æé©ã§ãã
Githubã® Rick Olsonæ°ã¯ãSinatraãå°èŠæš¡ãããžã§ã¯ãã«æé©ãªéžæè¢ã§ããããšã確èªããŠããŸãã
Sinatraã¯ãå°ããªãµã€ãïŒå éšã¢ããªã±ãŒã·ã§ã³ãGithubãžã§ããªã©ïŒã ãã§ãªããAPIãšããŠãéåžžã«åªããæ©èœãçºæ®ããŸãã
David Heinmeier Henssonãã倧èŠæš¡ãªWebã¢ããªã±ãŒã·ã§ã³ã®æ§ç¯ã«é¢ããŠRailsãéåžžã«è¯ãéžæã§ããçç±ã説æããŸãã
Railsã䜿çšãããšã人ã ã¯æé«ã®ãã¯ãããžãŒïŒç§ãšRailsã³ãã¥ããã£ã¯ãæé«ããšåŒãã§ããŸãïŒãéžæã§ããŸããããã¯æåã®å€§ããªéšåã§ãã
Konstantin Haasã¯ãRailsãžã®ç±æãšå²åŠãå ±æããŠããŸãã
Railsã倧奜ãã§ãã Railsã¯ãWebã¢ããªã±ãŒã·ã§ã³ã®ããžã§ã³ãæ§ç¯ããŸããã Railsã¯ãSinatraãã¢ããªã±ãŒã·ã§ã³ã«ã€ããŠããå€ãã®æšæž¬ãè¡ãããšãã§ãããããSinatraã解決ã§ããªãåé¡ã解決ããŸãã Railsã¢ãŒããã¯ãã£ã®æ倧ã®æ¬ ç¹ã¯ãå¿ èŠãã©ããã«é¢ä¿ãªãããã¹ãŠãæ¢ã«èšå®ãããŠããããããã¹ãŠã1ã€ã®ããŒã«ã§è§£æ±ºããå¿ èŠããããšããããšã§ãã
éåžžãRailsã§ã¯å¿ èŠã®ãªãæ©äŒãåãåãããšã¯ééããªãæ倱ã䌎ããŸãããåŸè ã¯ããªããæ¬åœã«å¿ èŠãšããå€ãã®æ©äŒãåŸããšããäºå®ã«ãã£ãŠè£åãããŸãã æçµçã«ã¯ãç¹ã«å€§èŠæš¡ãªãããžã§ã¯ãã«é¢ããŠã¯ãããèªäœãæ£åœåã§ããŸãã ãã ãã倧èŠæš¡ãªãããžã§ã¯ãã¯Railsã§ããå®è£ ã§ããªãããšã«å šå¡ãåæããããã§ã¯ãããŸããã Peepcode Screencastsã®Jeeprey Grozenbachã¯ããããã2008幎ã®Sinatraã«ã®ã¿åœãŠã¯ãŸãæ代é ãã®å€èŠ³ã§ãããã確ãã«æè¿ã§ã¯ãªãããšèããŠããŸãã 圌ã¯ãSinatraãæªçšå¯èœãªå€§èŠæš¡ãµã€ãã®äœæã«é©ããŠããããšã蚌æããäŸãšããŠãSinatraäžã«æ§ç¯ãããåªããGaug.esã¢ããªã±ãŒã·ã§ã³ã«æ³šç®ããŸããã
äžèšã«ãããããããKonstantin Haasã¯Sinatraã䜿çšããŠå€§èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ãäœæããéã®æœåšçãªåé¡ã«æ³šæãæã£ãŠããŸãã
Sinatraã§ããè€éãªã¢ããªã±ãŒã·ã§ã³ãäœæããïŒãããã¯ãä»ã®ã¢ããªã±ãŒã·ã§ã³ã®äžã§Sinatraã䜿çšããïŒãšãéçºè ã¯ã¢ãŒããã¯ãã£ãšããŒã«ã«ã€ããŠèããã®ã«ããå€ãã®æéãè²»ããããšã«ãªããŸãã ããã¯é·æã§ãããçæã§ããããŸãã
äžéšã®éçºè ã¯ãã¢ããªã±ãŒã·ã§ã³ã§äœãèµ·ãã£ãŠããããå³å¯ã«å¶åŸ¡ããããããã¹ãŠã©ã®ããã«é©åããããç解ããããšã奜ãå Žåããããããããå©ç¹ãšèŠãªããŸãã ãžã§ããªãŒã°ããŒãŒã³ãããã¯ãããããããæ£åœåããç ç²ã§ãããšä¿¡ããŠããŸãã
å®å®æ§ã¯ã·ããã©ã®æ倧ã®å©ç¹ã§ãã ããã€ãã®Railsãžã§ãã¬ãŒã¿ãŒã®å©äŸ¿æ§ã®ããã«ãèšèšäžã®æ±ºå®ãç ç²ã«ããŸãã ãã¬ãŒã ã¯ãŒã¯ã¯ãã£ãã«å€æŽãããªããããSinatraã§äœæãããšãéçºè ãšããžãã¹APIã®å®å®æ§ãåŸãããŸãã ã³ãŒããææãããã€å€æŽãããã決å®ããŸãã
圌ã¯ãã·ããã©ãã¢ããªã±ãŒã·ã§ã³æ§ç¯ã®åªããåè£ã§ããçç±ã説æãç¶ããŠããŸãã
ç§ã®æ°ããã¢ããªã±ãŒã·ã§ã³ã¯ããããSinatraã§å§ãŸããŸããéåžžãSinatraãšããã€ãã®Rackãã©ã°ã€ã³ã«å ããŠãããã³ããšã³ããšããŠå°ããªCouchDBã©ã€ãã©ãªãšBackbone.jsã¯å¿ èŠãªããšããçµè«ã«éããŸãã
Yahooã® Sow Sheong Changæ°ããã³Rubyã®ã€ã³ã¿ãŒãããã¢ããªã±ãŒã·ã§ã³ã¯ããŒãã³ã°ã®èè ã¯ãåçŽãªéçºã¢ãã«ãæã£ãŠããŸã ã
Sinatraã¯åºæ¬çãªãã©ãããã©ãŒã ã§å¿ èŠãªãã¹ãŠãå®è¡ããä»ã®ãã¹ãŠã¯æ¢ã«ã¯ã©ãŠããã©ãããã©ãŒã ãšãµãŒãã¹ïŒHerokuãšãã®ã¢ããªã³ã®ãšã³ã·ã¹ãã ãªã©ïŒã§æäŸãããŠããããgemsã䜿çšããŠå®è£ ã§ããŸãã ãããŠæ®ãã¯ãèªåã§ã³ãŒããæžãããšãã§ããŸãã
å®éããã®ã¢ã€ãã¢ã¯Sinatraã®ã¢ããªã±ãŒã·ã§ã³ã®ããé«åºŠãªã¢ãããŒããšããŠäœ¿çšã§ããŸããã€ãŸããããŒãºãå®å šã«æºããç¬èªã®ç¹å¥ãªãã¬ãŒã ã¯ãŒã¯ãäœæããŸãã Sinatraããå§ããŠãç¬èªã®ãã¬ãŒã ã¯ãŒã¯ãäœæããããã«å¿ èŠãªæ©èœãå®çŸããgemãè¿œå ããŸãã é¡äŒŒãããã®ãPadrinoãããžã§ã¯ãã«å®è£ ãããŠããŸãã
ããŽã£ããã»ãã€ã³ãã€ã€ãŒã»ãã³ãœã³ã¯ãã®ç¹ãèŠãŠããŸããïŒ
ãã¹ãŠãå°ããªç²åã«åå²ããéçºè ã«èªåã®æã§ãã¹ãŠãåéãããããšã¯ãRailsãäœæããããã¹ãŠã®ãã®ãšãã¬ãŒã ã¯ãŒã¯ã®ã²ãŒã ã§åã£ãæ¹æ³ã®ã¢ã³ãããŒãŒã§ãã ç§ãã¡ããã®ç®æšãéæããããã«ãäœäžãã®å·¥æ°ãè²»ããããŸããã ãããåçŸããããšããã®ã¯ç©ºã®èãã§ãã
ã¢ããªã±ãŒã·ã§ã³å ã§è¡ãããŠããããšãå¶åŸ¡ããããšã¯è¯ãèããããããŸããããKonstantin Haaseã¯ãããã«ã¯å€ãã®æéããããå¯èœæ§ããããšèŠåããŠããŸãã
Sinatraã®äž»ãªæ¬ ç¹ã¯ãåé¡ã解決ããŸããããSinatraãããã解決ããªãããšã§ãã èªåã§å¯ŸåŠããå¿ èŠããããŸãã ããã¯ãããªããããã解決ããããšããŠäžåœã«é·ãæéãè²»ãããšããäºå®ã«ã€ãªããå¯èœæ§ããããŸãã
ãŸããéçºè ã®äºç®ãéãããŠããå Žåã圌ãã¯ãã®æéãç¡é§ã«ããªããããããŸããã David Heinmeier Henssonã¯ãSinatraã䜿çšããŠè»èŒªãåçºæããããšãããšãèšå€§ãªæéãç¡é§ã«ããããšã«æ©ãŸãããŸãã
ã»ãšãã©ã®å ŽåãRailsã§æ¢ã«æäŸãããŠãããœãªã¥ãŒã·ã§ã³ãåçŸããããã«è¡ãå¿ èŠããããã¹ãŠã®äœæ¥ã¯ãSinatraã®äœ¿ãããããããã«æ¶å»ããŸãã BasecampãGitHubãShopifyããŸãã¯ä»ã®å€§èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ãã·ããã©ã ãã§æ§ç¯ããããšããŠãã人ã«ã¯ç³ãèš³ãããŸããã Railsã¯ããã®ã¹ã±ãŒã«ã®ã¢ããªã±ãŒã·ã§ã³ã®äœæã«æºããã»ãšãã©ã®äººãçŽé¢ããã»ãšãã©ã®åé¡ã«å¯Ÿãã解決çãå«ãã§ããããã巚倧ã§çŽããããããŒã«ã§ãã ãããã®ãœãªã¥ãŒã·ã§ã³ããã¹ãŠæåã§åäœæããããšããããšã¯ãåçŽãã§ã¯ãããŸããã
Railcastã®ãªãŒããŒã§ãã Ryan Batesã¯ãRailsã䜿çšããå©ç¹ã¯ããããžã§ã¯ãããŒãããéå§ãããšãã«æéãç¯çŽã§ããããšã ãšèããŠããŸãã
æšæºã®Railsã¢ããªã±ãŒã·ã§ã³ã¯ãç§ãå¿ èŠãšãããã®ã®å€ããæäŸããSinatraã§ã®è¿œå ã€ã³ã¹ããŒã«ãå¿ èŠã«ãªããŸãã ãããŠãããã¯Railsã§ã®éçºæã«äœåãªé床ãæäŸããŸãã
åãæèŠãRick Olsonã«ãã£ãŠè¡šæãããŸãããRickOlsonã¯ãRailsãGitHubãããžã§ã¯ãã®å®è£ ãä¿é²ãããšèããŠããŸãã
æåã®1幎éã¯ãRailsã[GitHub]ã®åµèšè ã«ãšã£ãŠäž»èŠãªããŒã«ã ã£ããšæããŸãã 圌ãã¯Railsã®é«ã¬ãã«ã®æ©èœã®ããã€ãã掻çšããçŽ æ©ãå埩ããããšãã§ããŸããã
Chad Fowler ïŒRubyConfã®å ±åèšç«è ïŒã¯ãRailsã倧èŠæš¡ãããžã§ã¯ãã®éçºãé«éåãããã1ã€ã®çç±ãšããŠããæ§æåæãã®Railsã®ãã³ãã©ãæããŠããŸãã
Railsã®ãžã§ãã¬ãŒã¿ãŒãšæ§é äœã¯ãSinatraãæäŸããŠããªãèŠåãæäŸããŸãã
åé¡ã¯ããããã®å¥çŽãææã«äŒŒãŠããããšããããšããããšã§ãããªãã¯ãªã«ãœã³ã¯ãã®ãããªå Žåã«æ³šæãä¿ããŸãã
Railsã¯ããã®ç¬æçãªæ £ç¿ãåãå ¥ãããããé»éã®éããé å®ããŠããå Žåã«é©ããŠããŸãã
圌ãšã¯ç°ãªããã·ããã©ã«ã¯å¶éããããŸãã.Ruby Learningã® Satish Talimã¯ãããã説æããAron Quintããã®å£®å€§ãªåŒçšãåŒçšããŸããïŒ
ãã·ããã©ã¯æœè±¡çãªãã³ãã¬ãŒãNNNVSïŒèããã³ãã¬ãŒãã¯äžèŠïŒã«åŸããŸãã NNNSHã¯ãSinatraãæè»æ§ãè¶ ããŠããããšãæå³ãããã¡ã€ã³ãŸãã¯ããžãã¹ããžãã¯ã®ç·šææ¹æ³ã決å®ããŸããã æ瀺çãªãã©ã«ããŒæ§é ãæãããããã©ã«ãã®ããŒã¿ããŒã¹æœè±¡åã¯ãããŸããããŸãããããã©ãã§ã©ã®ããã«é©çšãããã«ã€ããŠã®å¶éããããŸããã
ããã§Sinatraãæãé åçã§ããããã«ãããã¢ããªã±ãŒã·ã§ã³ãã©ã®ããã«ããŸãã©ã®ããã«æ§æãããã決å®ã§ããŸãã Sinatraã䜿çšãããšããµã€ãºãæ§é ããŸãã¯ã¯ãŒã¯ãããŒãå¶éãããªããããèªç±ãåŸãããŸãã APIãWebã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããgemã«ã³ãŒããããã¯ã§ããŸãã
ãããããããããã»ãã€ã³ãã€ã€ãŒã»ãã³ãœã³ãã·ããã©ã®ã·ã³ãã«ããæããŠããããšã«é©ããããããŸããïŒ
éå»ã«ãç§ã¯ã·ããã©ã䜿çšãããããæ¬åœã«å¥œãã§ããã 圌ã¯å®å šã«ç°ãªãã¢ãããŒããæäŸããŸããããã¯ãã¯ããã«å°ããªåã®ã¿ã¹ã¯ã解決ããã®ã«æé©ã§ãããããããéåžžã«ããŸã解決ããŸãã
ããã§ãã·ããã©ã«ã¯ã圌ãRailsã«ç§»ããããšæããããªå©ç¹ããããŸããïŒ
å®éãSinatraã«ã¯Railsãå¥ã®æ¹æ³ã§äœãçŽããããšæããã®ã¯äœããããŸããã
ãããã圌ã¯ãŸã RailsãSinatraã®æãã¯ãŒã«ãªæ©èœã®1ã€ãã»ãŒå®å šã«ã³ããŒããããšãèªããŠããŸãã
åäžãã¡ã€ã«ã¢ãŒããRailsã«è¿œå ãããã£ãã®ã§ãããæåŠããŸããããªããSinatraã®åªããæ©èœãæé©åããå¿ èŠãããã®ã§ããïŒ
ééããªããRailsã«ã¯éåžžã«å€ãã®æ©äŒããããŸãããå€ãã®å Žåãå¿ èŠã®ãªããã®ãæ£ç¢ºã«æ©èœããªããã®ããããŸãã Rails 3ã§ã¯ããããå¯èœãªéãæ»ããã«ããè©Šã¿ãè¡ãããŸãã-ç°ãªãçš®é¡ã®æ©èœã®äžéšãåæããããšã«ãããChad Fowlerãææããããã«ããã軜éã§ããæ§æå¯èœãªè£œåã«ãªãå¯èœæ§ããããŸãïŒ
ç¹ã«èªç±è£éã§ãµã€ãºãçž®å°ããçŸåšã®èœåãèæ ®ãããšãRailsèªäœã¯ããã»ã©ãéããããã§ã¯ãããŸããã
Rails 3ã«ã¯ãå®è¡ãããŠããã¿ã¹ã¯ã«åãããŠã¢ããªã±ãŒã·ã§ã³ã調æŽã§ããå€ãã®æ§æãªãã·ã§ã³ãçšæãããŠããŸãã ãŽããåŠåããæ©äŒããããšããäºå®ã«ãããããããã³ã³ã¹ã¿ã³ãã³ã»ããŒã¹ã¯ãå€ãã®å Žåããã¹ãŠããã®ãŸãŸã«ããŠããã®ã¯é åçããããšèŠåãããããèšæºæã«ã€ãªãããŸãïŒ
ç§ã®ç·Žç¿ã§ã¯ãRailsã¢ããªã±ãŒã·ã§ã³ã¯ãã°ãã°åäžã®ã¢ããªã·ãã¯ã¢ããªã±ãŒã·ã§ã³ã«ãªããŸãã [Rails Abandonment]ã¯ãã¢ãžã¥ãŒã«æ§ãæè»æ§ããã¹ãé床ãããã³ã¹ã±ãŒã©ããªãã£ããããããŸãã ãã ããRailsã¢ããªã±ãŒã·ã§ã³ãæ éã«èšèšããã°ãåãã¢ãŒããã¯ãã£ãå®çŸã§ããŸããå®éãããã§ãªãïŒãããè¡ããªãïŒããšã¯é åçã§ãã
David Heinmeier Henssonã¯ãããåé¡ãšã¯èŠãªããŠãããããã¹ãŠã®æ©èœã䜿çšãããã©ããã«é¢ä¿ãªããRailsã¯ãšã«ãã次ã®ããšãè¡ããšèããŠããŸãã
䜿çšããŠããªãRailsã³ãŒãã®äžéšãç©ççã«åé€ããŠããæçšãªãã®ã¯åŸãããŸããã ãã¹ãŠã®æ©èœã匷å¶çã«äœ¿çšããããšã¯ãããŸããã [Railsã®å€ãã®æ©èœ]ã¯å®å šã«ãªãã·ã§ã³ã§ãããæ°ã«ãªãå Žåã¯å®å šã«ç¡å¹ã«ããããšãã§ããŸãã
Railsã¯ããç°¡åã«ãªããSinatraã¯å°é£ãªã¿ã¹ã¯ã«å¯ŸåŠã§ããããšã瀺ããŸãããã€ãŸãããããã¯ãŸããŸãã€ã³ã¿ãŒãã§ãŒã¹åãããŠããŸãã ãã£ãã»ãã¡ãŠã©ãŒã¯ãå®éãSinatraãšRailsã®äž¡æ¹ãå¹ åºããããžã§ã¯ãã§äœ¿çšã§ãããšèããŠããŸãã
å®éããããã¯ããããå察ã®å Žåã«äœ¿çšã§ãããšæããŸãã çµå±ãããã¯äž»èŠ³çãªéžæã ãšæããŸãã
äžè¬çã«ã誰ãããä»äºã«é©ããããŒã«ãéžæããå¿ èŠããããããšã«åæããŸãããããããçµã¿åããããšããœãªã¥ãŒã·ã§ã³ã¯å人ã®éžæã«å§ããããããšããããããŸãã Sinatraã¯ã¢ãŒããã¯ãã£ããã现ããå¶åŸ¡ã§ããŸãããäœåãªåŽåã¯ããªãã®æéïŒãŸãã¯ã¯ã©ã€ã¢ã³ããããã«éèŠãªããšïŒã®äŸ¡å€ããç¡é§ã«ãªããŸããïŒ ã©ã€ã¢ã³ã»ãã€ãã¯ãæ§æ Œã¿ã€ããšåœŒããéžæãããã¬ãŒã ã¯ãŒã¯ãèŠçŽããŸãïŒ
çµå±ãããã¯ããªãã奜ããã®ã«äŸåããŠãããšä¿¡ããŠããŸãïŒè»œãå§ããŠå¿ èŠã«å¿ããŠè¿œå ããããéããã®ããå§ããŠãããäœéãæžããå¿ èŠãããå Žåã¯äœããåãé€ããŸãã
Joffrey Grozenbachã¯ã2ã€ã®ãŸã£ããç°ãªãã¿ã€ãã®éçºè ãããããšãææ¡ããŠããŸãã
Rubyéçºè ã«ã¯å€§ããªéãããããšæããŸããå°ãããµã€ãºã軜éãé床ãæ瀺æ§ãæ¡åŒµæ§ã奜ã人ãããŸãã ãŸããããããæ©èœãåãããã¬ãŒã ã¯ãŒã¯ã奜ã人ãããŸãã Sinatraã¯åè ã®èŠæ±ãæºãããRailsã¯åŸè ã®èŠæ±ãæºãããŸãã ã§ããããã·ããã©ãRailsã«åã£ãŠä»£ãããšã¯æããŸããã ããã¯ãããçš®ã®éçºè ã奜ãå¥ã®å²åŠã§ãããšããã ãã§ãã
ãã ããããããéžæããå¿ èŠã¯ãããŸããã èè ãRuby Sourceã®ã¡ã³ããŒã§ããDave Kennedyã¯ãRailsãšSinatraãäžè¬ã«ããªãããŸãæ©èœããããšãææããŠããŸãã
éçºããã»ã¹äžã«2ã€ã®ãã¬ãŒã ã¯ãŒã¯ãäºãã«è£å®ãå§ããå Žåãããã¯çŸåšãRailså ã§Sinatraãéäžçã«å®è¡ãããã«ãããã³ãã¢ããªã±ãŒã·ã§ã³ã§äœæ¥ããŠããããšã瀺åããŠããŸãã Sinatraã䜿çšãããšãã¢ããªã±ãŒã·ã§ã³ã«ã¢ãžã¥ãŒã«æ§ãè¿œå ããããšãã§ããŸããã
å€ãã®äººã ã¯ãSinatraãRails 3+ã¢ããªã±ãŒã·ã§ã³ã«çµã¿èŸŒãæ©èœã®ãããã§ã2ã€ã®äžçãæäŸãããã®ãæ倧éã«æŽ»çšã§ããããšã«æ°ä»ããŸããã ãã£ãã»ãã¡ãŠã©ãŒã¯ãã©ã¡ããäžæ¹ãéžæãããšããæŠå¿µèªäœã¯ç¡æå³ã§ãããšèããŠããŸãã
éžæã«ã€ããŠããŸãå¿é ããå¿ èŠã¯ãããŸãããSinatraã¢ããªã±ãŒã·ã§ã³ãRails 3ã¢ããªã±ãŒã·ã§ã³ã«åã蟌ãããšãã§ãããããéžæãå¯èœã«ãªããŸãã
Joffrey Grozenbachã¯ãããã«ããã¢ããªã±ãŒã·ã§ã³ã®ã¢ãžã¥ãŒã«æ§ãåäžãããšèããŠããŸãã
å€ãã®äººãSinatraã¢ããªã±ãŒã·ã§ã³ãRailsã¢ããªã±ãŒã·ã§ã³ã«åã蟌ã¿ãŸãã ããã¯Djangoãã¬ãŒã ã¯ãŒã¯ã®èšèšãæš¡å£ããŠãããïŒã¡ã€ã³ïŒã¢ããªã±ãŒã·ã§ã³ã¯å€ãã®å°ããªã¢ããªã±ãŒã·ã§ã³ã§æ§æãããåã¢ããªã±ãŒã·ã§ã³ã¯ãã®äžã®ç¹å®ã®éšåãæ åœããŸãïŒãããŠå€ãã®å Žåãä»ã®ã¢ããªã±ãŒã·ã§ã³ã§åå©çšã§ããŸãïŒã
David Heinmeier Henssonã¯ããããã¿ã¹ã¯ãéæããããã®è¯ãæ¹æ³ã§ãããšãèããŠããŸãã
Railsæ§é å ã§Sinatraã®ãã€ã¯ãã¢ããªã±ãŒã·ã§ã³ã䜿çšããããšãã§ããŸãã ããã¯ãããã€ãã®åé¡ã解決ããããã«Githubã§äœ¿çšãããŸãã çŽ æŽãããã¢ãã«ã
Rick Olsonã¯ããã®ãã¢ãGitHubã§ã¿ã³ãã ã«äœ¿çšãããé »åºŠã説æããŠããŸãã
RackãšSinatraã[Rails]ãšéåžžã«ç·å¯ã«çµ±åãããŠããããšãéåžžã«å¬ããæããŸãã ç¹å®ã®æ©äŒã«åãããŠRailsãã«ã¹ã¿ãã€ãºãã代ããã«ããªã¯ãšã¹ããSinatraãŸãã¯Rackãšã³ããã€ã³ãã«ãªãã€ã¬ã¯ãããŠãå¿ èŠãªããšãæ£ç¢ºã«è¡ãããšãã§ããŸãã
Rubyãšã³ã·ã¹ãã ã«ã¯ãããã2ã€ã®ãã¬ãŒã ã¯ãŒã¯ããããã«å Žæãããããšã«èª°ããåæããã§ãããã æ¬è³ªçã«ããããã¯å®å šã«é£æºããŠåäœããããçšåºŠãŸã§çžäºã«å€ãã®æ¹æ³ã§è£å®ããŸãã 2ã€ã®ãã¬ãŒã ã¯ãŒã¯ãæé©ã«é£æºããäžè¬çã«ããŸããŸãªããŒãºãæºãããšèãã人ã¯ããªãããããã§ãã ãœãªã¥ãŒã·ã§ã³ããã¢ãªã³ã°ããŒã«ã®åéã«ããå ŽåãããŸããŸãªã¿ã€ãã®éçºè ã奜ã¿ãéžæããŸãã 2ã€ã®ããããã¯ããããããŸãããããšã ããè¡ãããããããåªããå®è·µã®äŸå€çãªäŸã§ãã ãããã®ããŒã«ã¯äœåºŠãä»ã®èšèªã«ã³ããŒãããŠããã®ã§éåžžã«åªããŠããŸãã John NunemakerãšGitHubã¯ãçŸããç°¡æœã«ãŸãšããŸããã
ããããã«ç¬èªã®å ŽæããããŸãã Railsã¯ãã¿ã¹ã¯ãåŠçããã ãã®å Žåã«æé©ãªãªãã·ã§ã³ã§ãã ã·ã³ãã«ãªãã®ã«ã€ããŠã¯ããã¹ãŠãå¶åŸ¡ããç¬èªã®ãã¥ãŒãç¶æãããå Žåãšåæ§ã«ãã·ããã©ãæè¯ã®éžæã§ãã
ã³ãã¥ããã£ãšããŠãç§ãã¡ã¯éåžžã«å¹žéãªããšã«ããã®ãããªããéçºãããããŒã«ãåªãããµããŒããããã«ã¯ãªãŒãã³ãœãŒã¹ãæã£ãŠããŸãã RailsãšSinatraã¯äž¡æ¹ãšãã¿ã¹ã¯ã®ãã¹ãŠã®é¢ã§çŽ æŽãããä»äºãããŠããã®ã§ããããã®ãããã§ç§ãã¡ã¯äž¡æ¹ã®é·æãæã£ãŠãããšèšã£ãŠãå®å šã§ãã
ããªãã¯ã©ãæããŸãã-ããªãã¯ãããã®ããããã䜿çšããŸããïŒ Railsã®ä»£æ¿ãšããŠç¬èªã®ãã¬ãŒã ã¯ãŒã¯ãäœæããããšãæ€èšããŸãããïŒ ä»¥äžã«ã³ã¡ã³ããæ®ããŠãã ããã
ãªãªãžãã«ã®èšäºã¯ãã¡ãã§ã芧ããã ããŸã ã