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

AndroidエンジニアがRailsにチャレンジしてる理由

 AndroidエンジニアがRailsにチャレンジしてる理由

きりみん

June 26, 2020
Tweet

More Decks by きりみん

Other Decks in Programming

Transcript

  1. AndroidΤϯδχΞ͕
    RailsʹνϟϨϯδͯ͠Δཧ༝
    ઓ͍͸͜Ε͔Βͩฤ
    @kirimin 2020/06/26

    View full-size slide

  2. ࣗݾ঺հ
    • ͖ΓΈΜ͞Μͱݺ͹Ε͍ͯΔਓͰ͢ɻ
    • ϑϦʔϥϯεͰ4݄͔Βۀ຿ҕୗͰೖΓ·ͨ͠
    • ৽ଔҎདྷ8೥͘Β͍ͣͬͱ΄΅Android΍͖ͬͯ·ͨ͠
    • αʔόʔαΠυ͸΄΅ૉਓͰ͕͢AndroidλεΫ͜ͳ͠ͳ͕Βαʔ
    όʔαΠυ΋৮Βͤͯ΋Β͏ͱ͍͏ਆܖ໿Λ͍͖ͯͨͩ͠·ͨ͠

    View full-size slide

  3. εΩϧηοτ
    • Android։ൃ͸େখ༷ʑͳ૊৫Ͱ͍Ζ͍Ζ΍͖ͬͯ·ͨ͠
    • ٕज़ΤϯτϦॻ͍ͨΓLTͨ͠Γొஃͨ͠Γͯ͠AndroidίϛϡχςΟ಺Ͱ͸ΘΓͱϫΠϫΠ
    ΍ͬͯ·ͨ͠
    • େଔ͡Όͳ͍͚ͲҰԠجຊతͳCSͷ஌ࣝ͸͋Δ
    • ίʔυઃܭͱ͔νʔϜ։ൃؔ࿈ͳͲͷ༗໊ͳٕज़ॻ͸Ұ௨ΓಡΜͰΔ
    • ϞμϯϑϩϯτΤϯυ͸ͪΐͬͱͰ͖Δ
    • ΠϯϑϥɺωοτϫʔΫɺDB·ΘΓ͸ऑ͍
    • ࠷ۙڝϓϩ͕झຯͰଟগΞϧΰϦζϜ΍ܭࢉྔʹ͸ৄ͘͠ͳͬͨ

    View full-size slide

  4. ͳͥόοΫΤϯυΛ΍Γ͍ͨͷ͔

    View full-size slide

  5. AndroidΤϯδχΞத೥ͷةػ
    • 20୅લ൒
    • ࢓ࣄ࢝Ίͨ࣌ظͱεϚϗ։ൃ͕ීٴͨ࣌͠ظ͕߹͍ͬͯͨͷͰए͍
    ࠒ͸৽͘͠ग़ͯ͘Δ΋ͷΛΩϟονΞοϓ͢Ε͹ධՁ͞Εͨ
    • ϞόΠϧ։ൃʹߜͬͯ΋ษڧ͢Δ͜ͱ͕ͨ͘͞Μ͋ͬͨ
    • ϞόΠϧ։ൃʹٕज़తͳ՝୊ײ͕ͨ͘͞Μ͋ͬͨ
    • ·ͩ·ͩए͍͠ಘҙͳ͜ͱΛ΍ͬͯධՁ͞Ε͔ͨͬͨ

    View full-size slide

  6. AndroidΤϯδχΞத೥ͷةػ
    • 20୅ޙ൒(͜ͷ਺೥)
    • ϞόΠϧͷ։ൃ؀ڥ͕ރΕ͖ͯͯେ͖ͳٕज़తτϐοΫ͕গͳ͘ͳͬͨ
    • ΞϓϦ։ൃʹٕज़తͳ՝୊Λ͋·Γײ͡ͳ͘ͳͬͨ(ΦʔόʔΤϯδχΞϦϯά΁ͷؔ৺ͷ௿Լɺ͍ͩ
    ͍ͨͷ՝୊͸࣮૷Ҏ֎)
    • ϞόΠϧ։ൃ͚ͩͰ਎ʹٕͭ͘ज़ͷ෯ʹݶք͕͋Δ
    • Πϯϑϥ΍ωοτϫʔΫͳͲ͸͋·Γ৮Βͳ͍
    • ෳࡶͳϩδοΫ΍େ͖ͳσʔλΛॲཧ͢ΔΑ͏ͳίʔυ͸͋·Γॻ͔ͳ͍
    • ϞόΠϧͰ௚઀DBΛૢ࡞͢Δ͜ͱ͸͋·Γͳ͍
    • ͜ͷ਺೥ٕज़తʹ੒௕͍ͯ͠ͳ͍ؾ͕͖ͯͨ͠

    View full-size slide

  7. ͜ͷ··ͣͬͱ
    ϞόΠϧ։ൃ͚ͩ΍͍ͬͯ͘ͷ͔ʁ

    View full-size slide

  8. Ұ౓ͷਓੜ΋ͬͱ͍Ζ͍Ζͳ͜ͱΛ஌Γ͍ͨ
    • ஌Γ߹͍ʹ૬ஊ͢ΔͱʮࠓͷڧΈΛ׆͔ͨ͠ํ͕ಘͰ͸ʯͱ͍͏ҙݟ
    ͕ଟ͔ͬͨ
    • ͔ͨ͠ʹAndroidʹ΋ͬͱಛԽ͍ͯ͘͠ಓ΍ϞόΠϧʹৄ͍͠EM΍ٕ
    ज़ސ໰Έ͍ͨͳΩϟϦΞ΋͋Δ
    • ͔͠͠΋ͬͱٕज़ྖҬʹͱΒΘΕͣ໘നͦ͏ͳ৬छ΍ϓϩμΫτʹ௅
    ઓͰ͖ΔΑ͏ʹͳΓ͍ͨ
    • ·ͩ·ͩࢥ͍ඳ͘ཧ૝ͷΤϯδχΞ૾ʹରͯࣗ͠෼ʹຬ଍͍ͯ͠ͳ͍

    View full-size slide

  9. ࢹ໺Λ޿͛ΔͨΊʹ
    ·ͣ͸όοΫΤϯυͷ
    ܦݧΛੵΈ͍ͨʂ

    View full-size slide

  10. ΍ͬͯ͜ͳ͔ͬͨޙչ
    • ۀ຿΄΅ະܦݧͰ࢓ࣄͤͯ͘͞ΕΔҊ݅ͳΜͯ΄ͱΜͲͳ͍
    • ಛʹϑϦʔϥϯε͸ଈઓྗ͕ٻΊΒΕΔ͠ҭͯͯ΋Β͏΋ͷͰ΋ͳ͍
    • ࠓ·Ͱʹ΋ͬͱΞϐʔϧ͢Ε͹AndroidҎ֎΋΍ΕΔػձ͕͋ͬͨͷ
    ʹ΍Βͳ͔ͬͨ͜ͱ΁ͷޙչ
    • ؾ͍͕ͮͨ࣌Ұ൪ૣ͍࣌
    • ͱ͍͏Θ͚Ͱ༗Γ೉͍͜ͱʹRailsΛ৮Βͤͯ΋Β͍ͬͯ·͢

    View full-size slide

  11. ࣄલʹ΍ͬͨ͜ͱ
    • N༧උߍͱ͍͏αʔϏεͷWebΞϓϦίʔεΛधཁ
    • ϓϩάϥϛϯάೖ໳ऀ޲͚͚ͩͲ͔ͳΓ࣮ફతͰηΩϡϦςΟͷղઆͳͲ΋͔ͬ͠Γͨ͠಺༰
    • ࠷ऴతʹnode.jsΛ࢖ͬͯௐ੔͞ΜΈ͍ͨͳΞϓϦΛ࡞Δ
    • ࣗྗͰWebΞϓϦΛ࡞ͬͯΈΔ
    • KotlinͷܰྔϑϨʔϜϫʔΫKtorΛ࢖ͬͯϩάΠϯػೳ͖ͭܝࣔ൘Λ࣮૷
    • ϑϩϯτ͸ReactͰόοΫΤϯυ͸APIαʔόʔͱͯ͠։ൃ
    • Ruby on Rails5଎श࣮ફΨΠυಡྃ

    View full-size slide

  12. ࣮ફͰײͨ͜͡ͱ
    • όοΫΤϯυ͸ݸਓن໛ͱେ͖ͳαʔϏεͰඞཁͳ஌͕ࣝશવҧ͏
    • ϞόΠϧͷ৔߹͸େن໛αʔϏεͰ΋ݸਓ։ൃͰ΋ٕज़ελοΫࣗମ͸มΘΒͳ͍
    • AWSɺDockerɺΫϥ΢υΠϯϑϥपΓͷ஌͕ࣝશવ଍Γͳ͍ʂ
    • ϩʔΧϧͰͷ؀ڥߏங͢Βෆ׳Εɺࣄલʹগ͠ݸਓͰ΍ͬͯͨͷ͕ٹ͍ͩͬͨ
    • Rails΋ڭຊͱݱ৔ϨϕϧͰ͸ઃܭ΍ॻ͖ํ͕શવҧ͏
    • ಈతܕ෇͚ݴޠͷίʔυಡΈղ͘ͷΉ͔͍ͣ͠ʂʂʂʂʂ
    • ੲษڧͨ͠SQLͷ஌ࣝ΄ͱΜͲԱ͑ͯͳ͍…

    View full-size slide

  13. ϝϯλʔͷ͋Γ͕ͨ͞
    • ͻͨ͢ΒίʔυΛ௥ͬͨΓάάͬͨΓͯ͠೰ΜͰ͍Δ͜ͱ͕ϖΞϓϩ
    ͳͲͰࢦೆͯ͠΋Β͑ΔͱҰؾʹղܾ͢Δ
    • ಠֶ͢Δʹ΋ਖ਼ղΛڭ͑ͯ΋Β͑Δͱ଍͕͔Γ͕͔ͭΈ΍͍͢
    • ͱʹ͔࣮͘ફ౤ೖ͞ΕΔ͜ͱͰಠֶͰ͸ಘΒΕͳ͍࣮຿ͷײ֮΍ࣗ৴
    ͕ಘΒΕΔ

    View full-size slide

  14. ࠓޙ
    • ͍͏ͯ΋·ͩҰͭ΋Ҋ݅΍Γ੾ͬͯͳ͍
    • ͸΍͘ઓྗʹͳΓ͍ͨ
    • ࠓޙͱ΋ΑΖ͓͘͠Ͷ͕͍͠·͢

    View full-size slide