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

モバイルアプリ設計入門

 モバイルアプリ設計入門

iOSを中心にモバイルアプリにおける設計の基本原則などをまとめて資料にしました

Avatar for 野瀬田 裕樹

野瀬田 裕樹

June 16, 2025
Tweet

More Decks by 野瀬田 裕樹

Other Decks in Technology

Transcript

  1. ໨࣍ w ιϑτ΢ΣΞΞʔΩςΫνϟʔͱ͸ w ϞόΠϧΞϓϦͰಛʹॏཁͳ඼࣭ಛੑ w ϞόΠϧΞϓϦͰಛ௃తͳ੍໿ w ϞόΠϧΞϓϦͷ։ൃͰҙࣝ͢΂͖͜ͱ w

    ϞόΠϧΞϓϦͱόοΫΤϯυͷҧ͍ w ϞόΠϧΞϓϦͷઃܭݪଇ w όοΫΤϯυͱ΋ڞ௨ͷઃܭࢦ਑ w 4XJGUಛ༗ͷ࿩
  2. ඼࣭ಛੑ  ػೳద߹ੑ ੑೳޮ཰ੑ ޓ׵ੑ ࢖༻ੑ ৴པੑ ηΩϡϦςΟ อकੑ Ҡ২ੑ

    IUUQTLJLBLVSVJDPNY9IUNM w ιϑτ΢ΣΞ੡඼඼࣭ʢ+*49ࢀরʣ
  3. Ϋϥεʢࢀরܕʣத৺ͷݴޠ w Ϋϥεʢࢀরܕʣத৺ͷݴޠͰ͸ɺDMBTTΛ࢖ͬͯঢ়ଶΛ؅ཧ ୅ೖʹΑͬͯՄมͳঢ়ଶ͕؆୯ʹڞ༗Ͱ͖ͯ͠·͏໰୊͕͋Δ class A { var x: Int

    = 0 } var a1 = A() var a2 = a1 a1.x = 1 print(a2.x) // ग़ྗɿ1ʢa1ͱa2ͰՄมͳঢ়ଶ͕ڞ༗͞ΕΔɻ๷͙ͨΊʹ๷ޚతίϐʔ౳͕ඞཁʣ 
  4. 4XJGU஋ܕத৺ͷݴޠ w 4XJGUͰ͸௨ৗTUSVDUʢ஋ܕʣΛ࢖ͬͯঢ়ଶΛ؅ཧ ୅ೖͯ͠΋Մมͳঢ়ଶ͕ڞ༗͞Εͳ͍ struct A { var x: Int

    = 0 } var a1 = A() var a2 = a1 a1.x = 1 print(a2.x) // ग़ྗɿ0ʢa1ͱa2ͰՄมͳঢ়ଶ͕ڞ༗͞Εͳ͍ɻ๷ޚతίϐʔͳͲ΋ෆཁʣ 
  5. 1SPUPDPMPSJFOUFE1SPHSBNNJOH w ஋ܕʢTUSVDUʣͰ͸ܧঝΛ࢖͑ͳ͍ͨΊɺ୅ΘΓʹQSPUPDPMΛ࢖༻ protocol Animal { func foo() -> Int

    } struct Cat: Animal { var value: UInt8 = 2 func foo() -> Int { Int(value) } } func useAnimal(_ animal: some Animal) { print(animal.foo()) // ۩ମతͳܕΛ࢖Θͣهड़Ͱ͖ΔɻSwiftUI.ViewͷbodyͰ΋ར༻͞Ε͍ͯΔ } useAnimal(Cat()) 
  6. ·ͱΊ w ΞϓϦͰ͸αʔόʔͱ͸ҟͳΔ඼࣭ಛੑ͕ٻΊΒΕΔͨΊɺΞʔΩςΫ νϟʔͷબఆ܏޲΋ҟͳΔ w όοΫΤϯυͱ͸ҧ͏ΞϓϦͷઃܭࢦ਑Λ֮͑Α͏ w ίϯϙʔωϯτࢦ޲ͱ$PNQPTBCMFͳ6*ઃܭ w ୯ํ޲σʔλϑϩʔ

    w 4405ʢ4JOHMF4PVSDFPG5SVUIɺ৴པͰ͖Δ།Ұͷ৘ใݯʣ w ಛʹJ04Ͱ͸ਖ਼ղ΍͓खຊͱͳΔΞʔΩςΫνϟʔ͸ͳ͍ͨΊɺΞϓϦͷ࢓ ༷ɾಛੑʹ߹Θͤͯઃܭ͠Α͏ 
  7. ࣮ફฤ΁ͷ଍͕͔Γ w 'FBUVSF fi STU-BZFS fi STUɺϚϧνϞδϡʔϧ୯ҰϞδϡʔϧ ϞόΠϧͰ͸'FBUVSF fi STUͰ੾Δ͜ͱ͕ଟ͍

    ػೳ͝ͱʹ4XJGU1BDLBHFʹ੾Γग़ͨ͠ϚϧνϞδϡʔϧԽͳͲ ΋ߦΘΕΔ͜ͱ͕͋Δ 4XJGU6*ʹґଘ͢ΔϞδϡʔϧͱͦΕҎ֎Ͱ෼͚ΔͳͲͷߏ੒΋ ͋Δ