Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Denkinovelをどうして作り続けているのか

15694ff24d0637f5299eb42fbe7f1d16?s=47 katryo
October 18, 2015

 Denkinovelをどうして作り続けているのか

3年間、個人でWebアプリケーション/スマートフォンアプリを作り続けている理由を第10回若手Webエンジニア交流会で話しました。 http://wakateweb.connpass.com/event/20386/

15694ff24d0637f5299eb42fbe7f1d16?s=128

katryo

October 18, 2015
Tweet

Transcript

  1. DenkinovelΛͲ͏ͯ͠ ࡞Γଓ͚͍ͯΔͷ͔ @katryo 

  2. Denkinovelͱ͸ • http://denkinovel.com • Իͱը૾ͷԋग़͕Ͱ͖Δখઆ౤ߘαΠτ • ࡞඼਺໿800 • 2012೥11݄ʹӡӦ։࢝ɻ3೥͕ܦա •

    iPhoneΞϓϦ΋͋ΔΑʂ 
  3. iPhoneΛ͍࣋ͬͯΔਓ͸
 ࠓ͙͢μ΢ϯϩʔ
 υ
 ͯ͘͠ΕΔͱخ͍͠Ͱ͢ 

  4. Denkinovel͕ղܾ͢Δ໰୊ • ಉਓখઆ͸஍ຯɻίϛέͳͲΠ ϕϯτͰ΋खʹͱΒΕΔ͜ͱ͸ ΄ͱΜͲͳ͍ɻWebͰެ։ͯ͠ ΋໨ཱͨͳ͍ • ΩϟϥΫλʔΠϥετͰ΋ͳ͍ ͱ໨ཱͨͳ͍ •

    ࣗ෼ͷখઆΛଟ͘ͷਓʹಡΜͰ ΋Β͍͍͕ͨɺֆ͕༻ҙͰ͖ͳ ͍ਓͷͨΊʹDenkinovel͸͋Δ — ڵຯͳ͍ 
  5. Denkinovelͷٕज़తઆ໌
 αʔόαΠυฤ • Rails 4.1 • ͘͞ΒVPS 2GB • PostgreSQL

    9.1 • ࣮͸DBαʔό == WebαʔόɻͦΜͳʹΞΫ ηεͳ͍ͷͰ໰୊͸ى͖͍ͯͳ͍ 
  6. Denkinovelͷٕज़తมભ
 iOSΞϓϦฤ • Swift 2.0, Cocoa TouchϑϨʔϜϫʔΫ • WebViewͰ͸ͳ͍ɻԻָͷϩʔσΟϯάɺഎ ܠ੾Γସ͑ͷࡍͷύϑΥʔϚϯεͷͨΊ

    • Push௨஌ͱϢʔβΞΧ΢ϯτ؅ཧʹAWS Cognito, SNS, SQSΛ࢖༻ 
  7. ਖ਼௚ʹݴ͏ͱɺ
 Denkinovel։ൃʹ
 ͕࣌ؒٵΘΕΔͷ͸
 ͪΐͬͱͭΒ͍

  8. ͳͥDenkinovelΛ ࡞Γଓ͚͍ͯΔͷ͔

  9. ΋ͪΖΜ ϢʔβʔͷͨΊ ͕ͩͦΕ͚ͩͰ͸ͳ͍

  10. ԿΛֶͿ͔ ܾΊΔͨΊ

  11. ͨͱ͑͹ΫϥΠΞϯταΠυɺ ԿΛֶͿʁ

  12. ͨͱ͑͹ΫϥΠΞϯταΠυɺ ԿΛֶͿʁ 

  13. ͨͱ͑͹ΫϥΠΞϯταΠυɺ ԿΛֶͿʁ  ໨త͕ͳ͍ͱબ΂ͳ͍

  14. Denkinovelʹඞཁͳ΋ͷ͔Β ֶͿ΋ͷΛબΜͩ ຊจΛJSONͰड͚औ ΓɺԻָɾը૾Λ੾Γ ସ͑ΔγεςϜ ഁ୼͠ͳ͍ߏ଄ʹ࡞Γ ͳ͓͢ඞཁ͕͋ͬͨɻ  Backbone.jsΛֶ΅͏ʂ

  15. ٯʹ͍͏ͱɺ Denkinovelʹෆඞཁͳٕज़͸
 ֶ͹ͳ͍

  16. DenkinovelͷՁ஋ΛߴΊͳ͍ͷͰ ·ͩखΛग़͞ͳ͍

  17. DenkinovelͰͷχʔζ͕͋Ε ͹ɺ޷͖ͳٕज़ΛֶΜͰ͍͍ ෳ਺࡞඼Λ·ͱΊΔγϦʔ ζػೳΛ࡞Γ͍ͨ  VueΛֶ΅͏ʂ ͓͢͢Ί࡞඼ͷॱ൪Λ੔ཧ ͢Δ؅ཧऀ޲͚ϖʔδ͕΄ ͍͠ ReactΛֶ΅͏ʂ

  18. ݁Ռɺಉ͡໨తͷϥΠϒϥϦ͕ ڞଘ͢Δ͜ͱʹͳͬͨ…… • ͦͷͱֶ͖ͼ͔ͨͬͨ Vue, ReactͳͲͷϥΠϒ ϥϦͰͦͷ࣌࡞Γ͍ͨ΋ ͷΛ։ൃͨ͠ɻͳͷͰɺ ݱࡏBackboneͱVueͱ React͕ڞଘ͍ͯ͠Δ

    • Ͱ΋ͳΜͱ͔ͳ͍ͬͯΔɻ ͦΜͳʹѱ͘ͳ͍ 
  19. ݱࡏͷࣗ෼ʹ͍ͭͯߟ͑ͯΈΔ • ϓϩάϥϛϯάΛ࢝Ίͯ3೥ • ͢Ͱʹए͘͸ͳ͍ • WebΤϯδχΞ25ࡀఆ೥આ • কདྷ΁ͷෆ҆ 

  20. ϓϩάϥϛϯά࢝Ί͔ͯΒ3೥͘Β͍Ͱɺ
 WebΞϓϦ / iOSΞϓϦ͸࡞ΕΔΑ͏ʹͳΓ·ͨ͠ʂ 

  21. Denkinovel։ൃͰ਎ʹ͚ͭͨ ͜ͱ • RailsͰͷWebΞϓϦ։ൃ • SNS, S3ͳͲAWSͷ࢖͍ํ • iOSΞϓϦ։ൃ 

  22. ͓࢓ࣄͰ਎ʹ͚ͭͨ͜ͱ • PerlͰWebΞϓϦέʔγϣ ϯ։ൃɻDBઃܭɺWeb αʔόͱͯ͠ͷLinuxͷ࢖༻ • اը͔ΒϦϦʔεΛܧଓ͠ ͯ܁Γฦ͢ϓϩδΣΫτϚ ωδϝϯτ •

    εΫϥϜ։ൃ 
  23. ਎ʹ͚ͭͨ͜ͱ͸ଟ͍͚Ͳɺ
 ͲΕ΋୭Ͱ΋Ͱ͖Δ͜ͱ 

  24. RailsͰͷWebΞϓϦ։ൃऀɹ݉ iOSΞϓϦ։ൃऀ ͸ͨ͘͞Μ͍Δ 3BJMTͱ J04ΞϓϦ։ൃ ΍ͬͯ·͢ 3BJMTͱ J04ΞϓϦ։ൃ ΍ͬͯ·͢ 3BJMTͱ

    J04ΞϓϦ։ൃ ΍ͬͯ·͢ 3BJMTͱ J04ΞϓϦ։ൃ ΍ͬͯ·͢ 
  25. ΞϓϦ։ൃͳΜͯ
 ୭Ͱ΋Ͱ͖Δ΋Μ 

  26. ͦ͜Ͱߟ͍͑ͯΔ͜ͱ • ࣗ෼͚ͩͷڧΈΛ࣋ͭͨΊʹɺίϯϐϡʔλ αΠΤϯεͷجૅΛֶͼ௚͍ͨ͠ • ΞϓϦέʔγϣϯ։ൃ͸ଓ͚͍ͨ  2ͭΛཱ͍྆ͤͨ͞

  27. ΍Γ͍ͨ͜ͱ͸ଟ͘ɺ࣌ؒ͸ͦΕ΄Ͳͳ͍ Denkinovelʹؔ܎ͷ͋Δ͜ͱ͔Β࢝ΊΑ͏ 

  28. Denkinovelʹؔ܎ͷ͋Δ෼໺ • খઆຊจ͔ΒJSON ΁ͷม׵Ͱͷߏจղ ੳ • όάͷͳ͍ϓϩάϥ ϜͷͨΊͷܕݕࠪ • ϨίϝϯυͷͨΊͷ

    ػցֶश  Denkinovelʹ
 ؔΘΓ͏Δ ίϯϐϡʔλαΠΤϯε͸
 Ҋ֎ଟ͍
  29. ֶͼ͍ͨ͜ͱͱ࡞Γ͍ͨ΋ͷͷཱ྆ • ຊจ => JSONͷύʔαΛPEG.jsͰߦ͏ • JSͰͷύʔαΛར༻ͯ͠ɺDenkinovelͷԋग़ ΤσΟλΛElectronͰ։ൃ • ࡞඼Ϩίϝϯυ

    
  30. ԿΛֶͿ͔ܾΊΔͨΊʹɺ
 ΞϓϦέʔγϣϯΛ։ൃ͢Δ 

  31. ·ͱΊ • DenkinovelΛ3೥ؒ࡞Γଓ͚͖ͯͨ • ࢓ࣄɾझຯͰΞϓϦέʔγϣϯ։ൃΛ͖ͯ͠ ͕ͨɺઐ໳ੑ͕ཉ͘͠ͳͬͨɻ͔ͭΞϓϦέʔ γϣϯ։ൃ΋ଓ͚͍͖͍ͯͨ • Denkinovel͸ɺ͜Ε͔ΒֶͿ΋ͷΛऔࣺબ୒ ͢ΔͨΊͷࢦඪ