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

ANDPAD iOS開発における「マルチモジュール」化の課題と今後

8847086af047cbf895ab3277b59529fe?s=47 ANDPAD inc
January 12, 2022

ANDPAD iOS開発における「マルチモジュール」化の課題と今後

iOS/Androidアプリ開発のマルチモジュール化
https://sansan.connpass.com/event/232503/
イベント登壇時の資料

8847086af047cbf895ab3277b59529fe?s=128

ANDPAD inc

January 12, 2022
Tweet

More Decks by ANDPAD inc

Other Decks in Technology

Transcript

  1. "/%1"%J04։ൃͰ࠷ۙऔΓ૊Έ࢝Ίͨ ʮෳ਺ΞϓϦͰར༻͢ΔͨΊͷػೳϞδϡʔϧ։ൃʯ ʹ͍ͭͯ !J04"OESPJEΞϓϦ։ൃͷϚϧνϞδϡʔϧԽΞϯυύουʛΫοΫύουʛ4BOTBO

  2. w ໊લࠤ౻ढ़ี w 5XJUUFS!VTIJTBOUPBTPCV w ձࣾגࣜձࣾΞϯυύουʢೖࣾʣ w ୲౰J04"OESPJE w झຯίʔώʔɺαοΧʔʢϑοταϧʣ

    ࣗݾ঺հ
  3. w "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥͱ՝୊ w ݱࡏऔΓ૊ΜͰ͍Δʮෳ਺ΞϓϦͰར༻͢ΔͨΊͷػೳϞδϡʔϧ։ൃʯ ΞδΣϯμ

  4. "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥͱ՝୊

  5. ʮݐங%9ʯͱ͍͏ෳࡶɾ޿ൣғʹ౉Δ՝୊

  6. ʮݐங%9ʯͱ͍͏ෳࡶɾ޿ൣғʹ౉Δ՝୊ ϞόΠϧΞϓϦͷઓུ

  7. ʮݐங%9ʯͱ͍͏ෳࡶɾ޿ൣғʹ౉Δ՝୊ ϞόΠϧΞϓϦͷઓུ εʔύʔΞϓϦઓུ

  8. ʮݐங%9ʯͱ͍͏ෳࡶɾ޿ൣғʹ౉Δ՝୊ ϞόΠϧΞϓϦͷઓུ εʔύʔΞϓϦઓུ ϚϧνΞϓϦઓུ

  9. ʮݐங%9ʯͱ͍͏ෳࡶɾ޿ൣғʹ౉Δ՝୊ ϞόΠϧΞϓϦͷઓུ εʔύʔΞϓϦઓུ ϚϧνΞϓϦઓུ

  10. ʮݐங%9ʯͱ͍͏ෳࡶɾ޿ൣғʹ౉Δ՝୊ ϚϧνΞϓϦઓུͷϝϦοτ

  11. ʮݐங%9ʯͱ͍͏ෳࡶɾ޿ൣғʹ౉Δ՝୊ ϚϧνΞϓϦઓུͷϝϦοτ w ʢ಺෦඼࣭ʣΞϓϦ͝ͱʹٕज़తͳ௅ઓ͕Ͱ͖Δɻ'MVUUFSͳͲ w ʢ֎෦඼࣭ʣෆཁͳػೳΛؾʹ͢Δ͜ͱͳ͘ར༻Ͱ͖Δ ͳͲͳͲ

  12. ʮݐங%9ʯͱ͍͏ෳࡶɾ޿ൣғʹ౉Δ՝୊ ϚϧνΞϓϦઓུͷϝϦοτ ৄ͘͠͸IUUQTTQFBLFSEFDLDPNBOEQBEGVTIVGBMTFBQVSJXPUPOHTIJOJSJSJTVTJOBHBSBTBCJTVHVSPTVTBTFSVGBOHGB

  13. ʮݐங%9ʯͱ͍͏ෳࡶɾ޿ൣғʹ౉Δ՝୊ ϚϧνΞϓϦઓུͷσϝϦοτ

  14. ʮݐங%9ʯͱ͍͏ෳࡶɾ޿ൣғʹ౉Δ՝୊ ϚϧνΞϓϦઓུͷσϝϦοτ w ෳ਺ΞϓϦͰڞ௨Ͱར༻͍ͨ͠΋ͷ͕͋Δͱ͖ʹͲ͏͠Α͏🤔

  15. "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ

  16. ΞϓϦ "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ

  17. ΞϓϦ ࣾ಺ϥΠϒϥϦ "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ

  18. ΞϓϦ ʢ֤ΞϓϦ͕ඞཁͳϥΠϒϥϦΛ$PDPBQPETͰ؅ཧ͍ͯ͠Δʣ "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ ࣾ಺ϥΠϒϥϦ

  19. w ݁ߏෳࡶͳੜଶܥΛ͍ͯ͠Δ w ಛʹӡ༻໘ʢ୭͕໘౗ΈΔͷʁߋ৽ͨ͠ͱ͖ͷଞ5΁ͷڞ༗ํ๏͸ʁʣ w ৭ʑ՝୊͸͋Δ͕ɺ·͋ͳΜͱ͔΍ͬͯ͜Ε͍ͯΔ "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ

  20. ΞϓϦ ϥΠϒϥϦ ৽͍͠՝୊🔥 "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ

  21. ΞϓϦ ϥΠϒϥϦ ৽͍͠՝୊🔥 "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ

  22. ΞϓϦ ϥΠϒϥϦ ৽͍͠՝୊🔥 "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ w ͭͷΞϓϦͰಉ͡ػೳ͕ଘࡏ͢Δ͜ͱ ͕ݟ͔ͭͬͨ w ͜ͷػೳΛվम͢Δͷʹɺશ͘ಉ͡मਖ਼ ΛͭͷΞϓϦʹద༻͢Δͱ͍͏ࣄଶ͕

    গ͠લʹൃੜͨ͠ w ͍ͦͯۙ͠কདྷɺ΋ͬͱେ͖ͳػೳվળ ͕͜ͷػೳʹ༧ఆ͞Ε͍ͯΔͱͷ͜ͱ Ͱɺɺɺ͜͜΋ڞ௨Խ͍ͨ͠
  23. "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ ৽͍͠՝୊🔥 w ͨͩ͠ࠓճڞ௨Խ͍ͨ͠΋ͷ͸ɺ͜Ε·Ͱͷࣾ಺ϥΠϒϥϦʮπʔϧతʯ ͳ΋ͷɺͱ͍͏ΑΓ͔͸ʮػೳతʯͳ΋ͷͰ͋Δ w ػೳత"1*ϦΫΤετ͕͋Δଞͷػೳͷը໘ʹ్தͰભҠ͢Δ w কདྷతʹ͸͜ͷΑ͏ͳʮػೳతʯͳ΋ͷΛෳ਺ΞϓϦͰڞ༗͢Δػձ͕૿ ͍͖͑ͯͦ͏ͩͱ͍͏ٞ࿦͕͋ͬͨ

  24. ݱࡏऔΓ૊ΜͰ͍Δ ʮෳ਺ΞϓϦͰར༻͢ΔͨΊͷػೳϞδϡʔϧ։ൃʯ

  25. ݱࡏऔΓ૊ΜͰ͍Δʮෳ਺ΞϓϦͰར༻͢ΔͨΊͷػೳϞδϡʔϧ։ൃʯ w શମͷߏ੒ʹ͍ͭͯ w ґଘੑͷѻ͍ʹ͍ͭͯ w ϞδϡʔϧͷϛχΞϓϧʹ͍ͭͯ w Ϟδϡʔϧͷ؅ཧʹ͍ͭͯ

  26. શମͷߏ੒ʹ͍ͭͯ

  27. શମͷߏ੒ʹ͍ͭͯ

  28. "OEQBE4PNF'FBUVSF શମͷߏ੒ʹ͍ͭͯ "OEQBE4PNF'FBUVSF

  29. "OEQBE4PNF'FBUVSF શମͷߏ੒ʹ͍ͭͯ "OEQBE4PNF'FBUVSF ͜ͷػೳΛϞδϡʔϧͱͯ͠੾ Γग़͍ͨ͠

  30. "OEQBE4PNF'FBUVSF શମͷߏ੒ʹ͍ͭͯ

  31. "OEQBE4PNF'FBUVSF શମͷߏ੒ʹ͍ͭͯ Ϟδϡʔϧͱͯ͠੾Γग़͢

  32. 'FBUVSF" શମͷߏ੒ʹ͍ͭͯ কདྷతʹ͸ෳ਺ͷػೳϞδϡʔ ϧΛ࡞͍ͬͯ͘͜ͱΛ૝ఆͯ͠ ͍ΔͷͰ 'FBUVSF# 'FBUVSF$ 'FBUVSF%

  33. "OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF ڞ௨ϞδϡʔϧʢPSج൫Ϟδϡ ʔϧʣ΋༻ҙ શମͷߏ੒ʹ͍ͭͯ

  34. "OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF શମͷߏ੒ʹ͍ͭͯ

  35. "OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF શମͷߏ੒ʹ͍ͭͯ ʢҰ୴Θ͔Γ΍͍͢Α͏ʹɺยํͷΞϓϦ͸লུʣ

  36. ґଘؔ܎ "OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF શମͷߏ੒ʹ͍ͭͯ

  37. "OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF w ΤϯςΟςΟ w &OWJSPONFOUʢґଘੑΛఆ ٛɻৄ͘͠͸ޙड़ʣ w &YUFOTJPO

    શମͷߏ੒ʹ͍ͭͯ
  38. "OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF w 6*$PNQPOFOUΛू໿ w ίʔυͷΈͰ6*Λߏங w 9DPEF1SFWJFXTΛར༻ w

    େ͖ΊͷίϯϙʔωϯτͷΈ ఆٛʢ.PMFDVMFT ʣ શମͷߏ੒ʹ͍ͭͯ
  39. "OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF w .77.ߏ੒ w 7JFX$POUSPMMFSͱ7JFX.PEFM ͷΈͷബ͍ϨΠϠߏ੒ʢඞཁ ʹԠͯ͡վળͯ͘͠ʣ શମͷߏ੒ʹ͍ͭͯ

  40. "OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF $PDPBQPETͰ؅ཧ શମͷߏ੒ʹ͍ͭͯ

  41. "OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF શମͷߏ੒ʹ͍ͭͯ w ֤छϞδϡʔϧͷJNQPSU w $PSFͷґଘੑͷ࣮ମΛఆٛ ʢৄ͘͠͸ޙड़ʣ

  42. ґଘੑͷѻ͍ʹ͍ͭͯ

  43. "OEQBE$PSF ґଘੑͷѻ͍ʹ͍ͭͯ

  44. Ϟδϡʔϧͷґଘੑʹ͍ͭͯ͸ &OWJSPONFOUʹू໿͢Δ "OEQBE$PSF ґଘੑͷѻ͍ʹ͍ͭͯ

  45. "1*$MJFOU͸ந৅ʹґଘ͢ΔΑ͏ ʹ࡞͍ͬͯΔʢৄ͘͠͸ޙड़ʣ "OEQBE$PSF ґଘੑͷѻ͍ʹ͍ͭͯ

  46. "OEQBE$PSF ґଘੑͷѻ͍ʹ͍ͭͯ Ϟδϡʔϧ֎΁ͷը໘ભҠͷॲ ཧ͸3PVUFSͱ͍͏؆қͳ΋ͷͰ

  47. "OEQBE4PNF'FBUVSF ґଘੑͷѻ͍ʹ͍ͭͯ

  48. "OEQBE4PNF'FBUVSF ґଘੑͷѻ͍ʹ͍ͭͯ ػೳϞδϡʔϧ͸$PSFͰఆٛ͠ ͨ&OWJSPONFOUʹґଘ࣮ͯ͠૷ ͍ͯ͘͠

  49. ΞϓϦʢ"QQMJDBUJPO5BSHFUʣ ґଘੑͷѻ͍ʹ͍ͭͯ

  50. ΞϓϦʢ"QQMJDBUJPO5BSHFUʣ ґଘੑͷѻ͍ʹ͍ͭͯ &OWJSPONFOUͷ֤छ࣮ମΛ࣮૷ ͢Δ

  51. ΞϓϦʢ"QQMJDBUJPO5BSHFUʣ ґଘੑͷѻ͍ʹ͍ͭͯ "1*$MJFOUͷ࣮ମͷ࣮૷

  52. ΞϓϦʢ"QQMJDBUJPO5BSHFUʣ ґଘੑͷѻ͍ʹ͍ͭͯ طଘͷ"1*.BOBHFSΛݺͼग़ ͢ɻͦͷϨεϙϯεΛϞδϡʔϧ ͷΤϯςΟςΟʢ$PSFʹఆٛʣ ʹม׵͢Δ

  53. ΞϓϦʢ"QQMJDBUJPO5BSHFUʣ ґଘੑͷѻ͍ʹ͍ͭͯ

  54. ΞϓϦʢ"QQMJDBUJPO5BSHFUʣ ґଘੑͷѻ͍ʹ͍ͭͯ ػೳϞδϡʔϧʹ&OWJSPONFOU ΛΠϯδΣΫτ͢Δ

  55. ʮෳ਺ΞϓϦͰར༻͢Δ໨తͷϞδϡʔϧͰ"1*$MJFOUͳͲΛந৅Խ͢Δඞཁ͋Δͷʁʁʯ🤔 ґଘੑͷѻ͍ʹ͍ͭͯ

  56. ґଘੑͷѻ͍ʹ͍ͭͯ "OEQBE4PNF'FBUVSF "OEQBE4PNF'FBUVSF

  57. ʢΤϯυϙΠϯτ͸͋͘·ͰΠϝʔδʣ https://chat.andpad.jp/chat/{chat_id}/somes ґଘੑͷѻ͍ʹ͍ͭͯ "OEQBE4PNF'FBUVSF "OEQBE4PNF'FBUVSF https://sekokanri.andpad.jp/anken/{anken_id}/somes ΞϓϦຖʹΤϯυϙΠϯτ͕ҟ ͳΔ

  58. "OEQBE4PNF'FBUVSF 🙅 ґଘੑͷѻ͍ʹ͍ͭͯ https://chat.andpad.jp/chat/{chat_id}/somes https://sekokanri.andpad.jp/anken/{anken_id}/somes ػೳϞδϡʔϧଆ͕ͦΕͧΕͷ ΞϓϦͷΤϯυϙΠϯτͳͲΛ ஌Γͨ͘ͳ͍ͱࢥͬͨ

  59. "OEQBE$PSF "OEQBE4PNF'FBUVSF ʮ4PNFͷҰཡΛGFUDI͢ΔΑʯ ͱ͍͏݁ߏந৅౓ͷߴ͍΋ͷʹ ػೳϞδϡʔϧ͸ґଘ͍ͯ͠Δ ґଘੑͷѻ͍ʹ͍ͭͯ

  60. ͜͜Β΁Μ͸·ͩ·ͩࢼߦࡨޡதʢࣾ಺Ͱ΋ٞ࿦ͷ༨஍͋Γʣ😢 ґଘੑͷѻ͍ʹ͍ͭͯ

  61. ґଘੑͷѻ͍ʹ͍ͭͯ

  62. ґଘੑͷѻ͍ʹ͍ͭͯ &OWJSPONFOUʹ͸࣮ࡍʹ͸ͦΕ ͧΕͷΞϓϦͰඞཁͳ৘ใ͕౉ ͞Ε͍ͯΔ

  63. ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ

  64. ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ϛχΞϓϦͷ࡞Γํ

  65. ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ϛχΞϓϦͷ࡞Γํ

  66. ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ $PDPBQPETͰϞδϡʔϧΛ৽ن ࡞੒͍ͯ͠ΔͨΊɺϛχΞϓϦ ͸؆୯ʹͰ͖Δ ϛχΞϓϦͷ࡞Γํ

  67. "OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ϛχΞϓϦ

  68. ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃ

  69. ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃ ϛχΞϓϦ༻ͷ&OWJSPONFOUΛ ࣮૷͢Δ

  70. ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃ "1*$MJFOU͸ελϒΛฦ͢Α͏ʹ ΰϦΰϦॻ͘

  71. ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰ޻෉Ͱ͖͍ͯΔ͜ͱ

  72. ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰ޻෉Ͱ͖͍ͯΔ͜ͱ ྫ ϖʔδϯά͋ΓͷҰཡը໘ʹ ͯɺ֤छελϒΛFOVNͰఆٛ͢ Δ

  73. ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛมߋ͢Δ͜ͱͰɺ৭ʑͳڍಈΛ֬ ೝ͢Δ͜ͱ͕Ͱ͖Δɻ 
 ελϒมߋ͸࠶Ϗϧυ͕ඞཁ͕ͩϛχΞϓ ϦܰྔͳͷͰؾʹ͠ͳ͍͍ͯ͘ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰ޻෉Ͱ͖͍ͯΔ͜ͱ

  74. ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ଞɺ"1*ॲཧʹ͕͔͔͍࣌ؒͬͯ ΔΑ͏ʹγϛϡϨʔτͤͨ͞Γ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰ޻෉Ͱ͖͍ͯΔ͜ͱ

  75. ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃ ͜͜Βล·Ͱ͸ؾ࣋ͪΑ͘ελϒͰϛχΞϓϦ։ൃͰ͖͍ͯΔͱࢥ͍͕ͬͯͨɺɺɺ

  76. ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰ͏·͍͍ͬͯ͘ͳ͍͜ͱ

  77. ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰ͏·͍͍ͬͯ͘ͳ͍͜ͱ w ը໘Λ·͍ͨͩͱ͖ʹσʔλͷ੔߹ੑΛͲ͜·ͰͱΔʁ

  78. ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰ͏·͍͍ͬͯ͘ͳ͍͜ͱ w ը໘Λ·͍ͨͩͱ͖ʹσʔλͷ੔߹ੑΛͲ͜·ͰͱΔʁ w όοΫΤϯυͷ౎߹ʢʮ͜͏͍ͬͨ৚݅ͷͱ͖ʹ͸͜͏͍ͬͨϨεϙϯ ε͕ฦͬͯ͘ΔʯͳͲʣΛελϒͰ୲อ͢Δ͜ͱ͸Ͱ͖ͳ͍

  79. ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰ͏·͍͍ͬͯ͘ͳ͍͜ͱ w ը໘Λ·͍ͨͩͱ͖ʹσʔλͷ੔߹ੑΛͲ͜·ͰͱΔʁ w όοΫΤϯυͷ౎߹ʢʮ͜͏͍ͬͨ৚݅ͷͱ͖ʹ͸͜͏͍ͬͨϨεϙϯ ε͕ฦͬͯ͘ΔʯͳͲʣΛελϒͰ୲อ͢Δ͜ͱ͸Ͱ͖ͳ͍ w ϞοΫͮ͠Β͍΋ͷΛͲ͏͢Δ͔ʢ1)"TTFUͳͲʣ

  80. Ϟδϡʔϧ؅ཧʹ͍ͭͯ

  81. Ϟδϡʔϧ؅ཧʹ͍ͭͯ w $PDPBQPETͰ؅ཧ͍ͯ͠Δ͚ͩ w ʢҰൠతʹݴΘΕΔϚϧνϞδϡʔϧ։ൃͰ͸9DPEFHFO΍41.Λ༻͍ Δ͜ͱ͕ଟ͍ೝࣝʣ

  82. Ϟδϡʔϧ؅ཧʹ͍ͭͯ ʮ$PDPBQPETͰ؅ཧ͍ͯ͠Δ͚ͩʯͱݴͬͯ΋ w ʮผϨϙδτϦʯʮUBHӡ༻ʯ͸݁ߏίετ͕͔͔Δ w ʢݱଘͷࣾ಺ϥΠϒϥϦͷӡ༻ͰೝࣝࡁΈʣ

  83. ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠🙇