プログラミング言語Ruby 25周年記念イベントの記念講演「Rubyの今」のWEB編の発表スライド http://25.ruby.or.jp/
Ruby onRuby on RailsAkira Matsuda
View Slide
Ruby25प
25ࡀ͓ΊͰͱ͏ʂ
RubyͷࠓʮRubyͱWEBʯͱ͍͏ ͓Ͱɻ
RubyͰWEBͱ͍͑ʁ
Ruby on RailsͰ͢ΑͶɻ
whoamiদా ໌RubyίϛολʔRuby on Railsίϛολʔ
RubyKaigi 2018
RubyKaigi 2018CFPࠓ݄͍ͬͺ͍ʂ
Asakusa.rb
Asakusa.rb10पʂ
Asakusa.rb10पʂϝϯόʔҰචॻ͘͜ͱʂ
Ruby on Railsͱ͍·ੈքͰҰ൪ΘΕ͍ͯΔWEBΞϓϦέʔγϣϯɾϑϨʔϜϫʔΫ (ͩΖ͏ͱࢥ͏͚Ͳཁग़య)ΞϓϦέʔγϣϯΛRubyͰॻ͚Δຊମpure RubyͰॻ͔Ε͍ͯΔ
RubyͱRailsͷҧ͍Ruby: p "Hello, World" ͬͯॻ͘ͱࠇ͍ը໘ʹ "Hello, World" ͬͯग़ྗͰ͖ΔຯͳͭɻRailsΛಈ͔ͨ͢Ίͷಓ۩ͱͯ͠ΒΕΔɻRails: Կͳ͍ͱ͜Ζ͔Β15͙Β͍Ͱ͍͖ͳΓόʔϯͱϒϩάͷΞϓϦ͕࡞Εͯ͠·͏࠷ߴʹศརͰΫʔϧͳຐ๏Έ͍ͨͳͭɻ
RailsRubyΛϝδϟʔݴޠʹ ԡ্͛ͨ͠ݪಈྗRuby before Rails: ୭Βͳ͍ϚΠφʔݴޠRuby after Rails: Ruby͍ͬͯ͏ݴޠʹ͍ͭͯશ͘ฉ͍ͨ͜ͱ͕ ແ͍ϓϩάϥϚʔډͳ͍ΑͶʁ
ͱ͜ΖͰɺRuby on Railsͬͯ ԿࡀͳΜ͚ͩͬʁ2004ʹ։ൃελʔτݱࡏ14
RubyʹͱͬͯɺRails ੜҎ্࿈ΕఴͬͨͬͯΕͳ͍ ؔʹ͋Δ
RailsͷಛݱͷϦΞϧͳΛղܾ͢Δ πʔϧৗʹมԽ͠ଓ͚Δͨͷ͍͠Ṷ͔Δ
ݱͷϦΞϧͳΛ ղܾ͢Δಓ۩Basecampͱ͍͏ݱ࣮ͷελʔτΞοϓͷϓϩμΫτ͔ΒΓग़͞ΕͯOSSԽ͞ΕͨͷϑϨʔϜϫʔΫ͔͠࡞ͬͯͳ͍Α͏ͳݚڀॴͷϓϩϑϨʔϜϫʔΫ࡞Ո͕࡞ͬͨΑ͏ͳͰͳ͍
ৗʹมԽ͠ଓ͚Δ5,000ਓͷʮίϯτϦϏϡʔλʔʯ ͨͪʹΑΔઈ͑ؒͳ͍վྑܾͯ҆͠ॅ͠ͳ͍ͣͬͱΓଓ͚ͯΔ͔Β͍ͭ·Ͱݹ͘ͳΒͳ͍ৗʹ࠷৽WEBϑϨʔϜϫʔΫͰ͋Γଓ͚͍ͯΔ
ͣͬͱࢭ·ΒͣʹΓଓ͚ΔιϑτΣΞʮઢ࿏ʯͱ͍͏ϝλϑΝʔʹࠐΊΒΕ͍ͯΔ
Railsͷʮ৽͠͞ʯWEBΞϓϦ։ൃγʔϯશମΛมֵCoCɺີ݁߹ϑϧελοΫMVCɺδΣωϨʔλʔɺTDDɺAJAXɺRESTͷ࠶ൃݟɺalt JSɺassetͷunificationɺPJAXతͳΞϓϩʔνɺϓϥάΠϯػߏɺbundlerͷύοέʔδϚωʔδϝϯτɺͳͲͳͲͳͲͳͲ෦తʹྑ͠ѱ͠Λ͡Δ༨͋Δ͔͠Εͳ͍͕ɺओுͷ͋ΔιϑτΣΞΛੈʹग़͢͜ͱʹΑͬͯɺΈΜͳͷߟ͑ํʹେ͖͘ӨڹΛ༩͑ଓ͚͖ͯͨ
ͨͷ͍͠Railsͨͷ͍͠ΑͶ10Ҏ্ͣͬͱࣄͰRailsΛͬͯΔ͚Ͳɺ͍·ͩʹຖͷࣄָ͕͍͠Ͱ͢
ʮRubyΛΩϝΔͱ͖͍͍ͪʯ(by Rubyͷύύ)RailsRubyͷָ͠͞ΛWEBͷੈքʹ·Ͱ͛ͯ͘ΕΔΈؾ࣋ͪΑʙ͘WEBΞϓϦ͕࡞ΕͪΌ͏
Ṷ͔Δଟ͘ͷιϑτΣΞΛ ੜΈग़͠ɺϏδωεΛճ͢ݪಈྗʹ
RailsͰ࡞ΒΕͨϓϩμΫτͨͪTwitter, GitHub,Basecamp, Airbnb, Uber,etc.ΫοΫύουɺ৯ϩάɺMoneyforwardɺͳͲͳͲ
ಛʹςΫϊϩδʔελʔτΞοϓʹͱͯॏๅ͞ΕΔϓϩάϥϚʔ1ਓ͔2ਓ͙Β͍Ͱ࢝ΊΒΕͨΓ͢Δ·͞ʹRuby/Rails ελʔτΞοϓʹ͏͚ͬͯͭ
RailsੈքΛม͑ͨRuby / RailsͰ࡞ΒΕͨιϑτΣΞʹΒͣΒͣͷ͏ͪʹ୭͕ຖ৮͍ͬͯΔͣ͜͏ͯ͠ɺϓϩάϥϚʔ͚ͩͰͳ͘ɺੈͷதશମʹେ͖ͳมֵΛͨΒ͍ͯ͠Δ
વɺձ͕ࣾṶ͔Ε ϓϩάϥϚʔṶ͔Δ
ϓϩάϥϚʔʹͱͬͯɺ Rubyͷͤ͘ʹࣄʹͳΔͳΜͱɺன͔ؒΒRubyΛΩϝͳ͕Β͓ۚ·ͰΒ͑Δͱ͍͏ఱࠃͷΑ͏ͳঢ়گ͕౸དྷ࿑ಇ == ͭΒ͍ɺͱ͍͏ط֓೦ͷഁյ͕ͨΒ͞Εͨ͜ΕϠό͍
ͱ͜ΖͰɺ"Ruby on Rails"ͬͯΑ͘ߟ͑Δͱมͳ໊લͩΑͶʁ
ٯͰʁͬͯࢥ͍·͢ΑͶʁRubyͰ࡞ͬͨʮRailsʯ͍ͬͯ͏໊લͷιϑτΣΞͳΜ͔ͩΒ "Rails onRuby" ͳΜ͡Όͳ͍ͷʁ
"Ruby on Rails"ʹ ࠐΊΒΕͨҙຯDHH͕ෑ͍ͨϨʔϧʹͤͯΈΜͳͷݩʹRubyͷָ͠͞ɾੜ࢈ੑΛӡΜͰ͘ΕΔΠϯϑϥ
Rails͜ͷઌͲ͏ͳΔͷ͔ʁઌि͙Β͍͔Βόʔδϣϯ6.0Λ։ൃதৗʹ࠷৽ͷϑϨʔϜϫʔΫͰ͋Δ͜ͱΛࢤ͍ͯ͠ΔͷͰɺݹ͘ͳΒͳ͍ࠓͷͱ͜ΖRailsʹऔͬͯΘΔଘࡏݟͨΒͳ͍Webͦͷͷ͕શʹഇΕΔ·ͰWEBͷੈքͰ͜ͷ··ઈରউऀͰ͋Γଓ͚ΔͷͰ͋ͱ25͍͚ΔΜ͡Όͳ͍͔
ࠓޙͱϤϩγΫʂ͜Ε͔ΒɺRailsมΘΓଓ͚·͢ɻ RailsੈͷதΛม͑ଓ͚·͢ɻ Ҿ͖ଓ͖͝ظ͍ͩ͘͞ʂ