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

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

katryo
October 18, 2015

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

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

katryo

October 18, 2015
Tweet

More Decks by katryo

Other Decks in Technology

Transcript

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

    View Slide

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

    View Slide

  3. iPhoneΛ͍࣋ͬͯΔਓ͸

    ࠓ͙͢μ΢ϯϩʔ

    υ

    ͯ͘͠ΕΔͱخ͍͠Ͱ͢

    View Slide

  4. Denkinovel͕ղܾ͢Δ໰୊
    • ಉਓখઆ͸஍ຯɻίϛέͳͲΠ
    ϕϯτͰ΋खʹͱΒΕΔ͜ͱ͸
    ΄ͱΜͲͳ͍ɻWebͰެ։ͯ͠
    ΋໨ཱͨͳ͍
    • ΩϟϥΫλʔΠϥετͰ΋ͳ͍
    ͱ໨ཱͨͳ͍
    • ࣗ෼ͷখઆΛଟ͘ͷਓʹಡΜͰ
    ΋Β͍͍͕ͨɺֆ͕༻ҙͰ͖ͳ
    ͍ਓͷͨΊʹDenkinovel͸͋Δ

    ڵຯͳ͍

    View Slide

  5. Denkinovelͷٕज़తઆ໌

    αʔόαΠυฤ
    • Rails 4.1
    • ͘͞ΒVPS 2GB
    • PostgreSQL 9.1
    • ࣮͸DBαʔό == WebαʔόɻͦΜͳʹΞΫ
    ηεͳ͍ͷͰ໰୊͸ى͖͍ͯͳ͍

    View Slide

  6. Denkinovelͷٕज़తมભ

    iOSΞϓϦฤ
    • Swift 2.0, Cocoa TouchϑϨʔϜϫʔΫ
    • WebViewͰ͸ͳ͍ɻԻָͷϩʔσΟϯάɺഎ
    ܠ੾Γସ͑ͷࡍͷύϑΥʔϚϯεͷͨΊ
    • Push௨஌ͱϢʔβΞΧ΢ϯτ؅ཧʹAWS
    Cognito, SNS, SQSΛ࢖༻

    View Slide

  7. ਖ਼௚ʹݴ͏ͱɺ

    Denkinovel։ൃʹ

    ͕࣌ؒٵΘΕΔͷ͸

    ͪΐͬͱͭΒ͍

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    ໨త͕ͳ͍ͱબ΂ͳ͍

    View Slide

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

    Backbone.jsΛֶ΅͏ʂ

    View Slide

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

    ֶ͹ͳ͍

    View Slide

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

    View Slide

  17. DenkinovelͰͷχʔζ͕͋Ε
    ͹ɺ޷͖ͳٕज़ΛֶΜͰ͍͍
    ෳ਺࡞඼Λ·ͱΊΔγϦʔ
    ζػೳΛ࡞Γ͍ͨ

    VueΛֶ΅͏ʂ
    ͓͢͢Ί࡞඼ͷॱ൪Λ੔ཧ
    ͢Δ؅ཧऀ޲͚ϖʔδ͕΄
    ͍͠
    ReactΛֶ΅͏ʂ

    View Slide

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

    View Slide

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

    View Slide

  20. ϓϩάϥϛϯά࢝Ί͔ͯΒ3೥͘Β͍Ͱɺ

    WebΞϓϦ / iOSΞϓϦ͸࡞ΕΔΑ͏ʹͳΓ·ͨ͠ʂ

    View Slide

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

    View Slide

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

    View Slide

  23. ਎ʹ͚ͭͨ͜ͱ͸ଟ͍͚Ͳɺ

    ͲΕ΋୭Ͱ΋Ͱ͖Δ͜ͱ

    View Slide

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

    View Slide

  25. ΞϓϦ։ൃͳΜͯ

    ୭Ͱ΋Ͱ͖Δ΋Μ

    View Slide

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

    2ͭΛཱ͍྆ͤͨ͞

    View Slide

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

    View Slide

  28. Denkinovelʹؔ܎ͷ͋Δ෼໺
    • খઆຊจ͔ΒJSON
    ΁ͷม׵Ͱͷߏจղ

    • όάͷͳ͍ϓϩάϥ
    ϜͷͨΊͷܕݕࠪ
    • ϨίϝϯυͷͨΊͷ
    ػցֶश

    Denkinovelʹ

    ؔΘΓ͏Δ
    ίϯϐϡʔλαΠΤϯε͸

    Ҋ֎ଟ͍

    View Slide

  29. ֶͼ͍ͨ͜ͱͱ࡞Γ͍ͨ΋ͷͷཱ྆
    • ຊจ => JSONͷύʔαΛPEG.jsͰߦ͏
    • JSͰͷύʔαΛར༻ͯ͠ɺDenkinovelͷԋग़
    ΤσΟλΛElectronͰ։ൃ
    • ࡞඼Ϩίϝϯυ

    View Slide

  30. ԿΛֶͿ͔ܾΊΔͨΊʹɺ

    ΞϓϦέʔγϣϯΛ։ൃ͢Δ

    View Slide

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

    View Slide