$30 off During Our Annual Pro Sale. View Details »

How to write Great Proposal

d_date
June 18, 2020

How to write Great Proposal

d_date

June 18, 2020
Tweet

More Decks by d_date

Other Decks in Programming

Transcript

  1. How to write Great proposal
    Daiki Matsudate
    @d_date
    iOS Developer

    View Slide

  2. Understand the Call for proposal

    View Slide

  3. Understand the Call for proposal
    ओ࠵͕ͲΜͳτʔΫΛ΋ͱΊ͍ͯΔ͔Λཧղ͢Δ
    ϓϩϙʔβϧΛॻ͍ͯग़͚ͩ͢ͳΒ؆୯͕ͩɺ

    ਓؒ*͕৹ࠪͯ͠ɺ࠾୒͢΂͖͔൑அ͢ΔҎ্ɺͦ͜ʹ͸ج४͕͋Δ

    େྔͷϓϩϙʔβϧΛࡹ͍͍ͯΔͱ͍͏͜ͱΛ૝૾ͯ͠ΈΔ
    *2020೥ݱࡏɺ͢΂ͯͷΧϯϑΝϨϯεͷProposal͸ਓ͕ؒݟ͍ͯΔʢ͸ͣʣ

    View Slide

  4. https://fortee.jp/iosdc-japan-2020/speaker/proposal/cfp

    View Slide

  5. https://www.papercall.io/tryswifttokyo2020

    View Slide

  6. Think topics you want to talk

    View Slide

  7. Think topics you want to talk
    Ԡื͍ͨ͠τϐοΫΛߟ͑Δ
    ྫʣ

    ϓϩμΫτͷۤ࿑࿩

    ϓϩμΫτͰ͏·͍ͬͨ͘͜ͱ

    Swiftͷݴޠػೳ

    etc…

    View Slide

  8. Think topics you want to talk
    Ԡื͍ͨ͠τϐοΫΛߟ͑Δ
    • νϡʔτϦΞϧͰ׬݁͠ͳ͍

    • ex.) CombineΛ࢖ͬͯΈͨɺΑΓ͸ɺCombineͷ͸·ΓͲ͜Ζ΍ϕετϓϥ
    ΫςΟεΛฉ͖͍ͨ

    • τʔΫͰฉ͖͍͔ͨͲ͏͔

    • هࣄͰ͸ͳ͘ɺτʔΫͰฉ͘ϝϦοτΛߟ͑ͯΈΔ

    • ࣋ͪ࣌ؒͰऩ·Δ͔Ͳ͏͔

    View Slide

  9. Topic Examples

    View Slide

  10. Topic Examples
    ͜͜Ͱ঺հ͢ΔτϐοΫΛऔΓѻ͔ͬͨΒͱݴͬͯ࠾୒͞ΕΔΘ͚Ͱ
    ͸͋Γ·ͤΜ

    ݸਓͷ޷ΈͳͷͰɺࢀߟ·Ͱʹɻ

    View Slide

  11. Topic Examples
    Auto Layout
    • ͲΜͳʹ੩తʹؤுͬͯ΋ϨΠΞ΢τ͸յΕΔ

    • Ͳ͏΍ͬͯޮ཰తʹ૊ΜͰ͍͔͘ʁ

    • Compositional Layout

    • յΕͨ΋ͷΛͲ͏΍ͬͯݕ஌͢Δ͔ʁ

    • ଟछଟ༷ͳσόΠεͰͲ͏΍ͬͯςετ͢Δ͔ʁ

    • etc…

    View Slide

  12. Topic Examples
    Cross Platform
    • FlutterͰXXͨ͠ -> ͪΐͬͱതଧ͔΋

    • ωΠςΟϒͱΫϩεϓϥοτϑΥʔϜΛൺֱͨ͠

    • ͜ͷล͸ӡӦͷ޷Έ΋͋Δ

    • etc…

    View Slide

  13. Topic Examples
    SwiftUI
    • WWDC 19Ͱൃද͞Ε͕ͨɺϓϩμΫτ΁ͷಋೖࣄྫ͸·ͩ·ͩগͳ͍

    • ৽ن։ൃͰ͢΂ͯSwiftUIͰ࡞ͬͨ࿩

    • طଘΞϓϦΛSwiftUIʹϦϓϨΠε͍ͯ͘͠ͱ͖ͷ࿩

    • ಛఆͷModifierʹؔ͢ΔίΞͳ࿩͸͓ͦΒ͘·ͩ΢έ͕ѱͦ͏

    • WWDC 20Ͱͷൃද࣍ୈͳͱ͜Ζ΋͋Δ

    View Slide

  14. Topic Examples
    Combine
    • WWDC 19Ͱൃද͞Ε͕ͨɺϓϩμΫτ΁ͷಋೖࣄྫ͸·ͩ·ͩগͳ͍

    • CombineͱRxSwift, ReactiveSwiftͱͷൺֱ

    • CombineΛ෦෼ಋೖͨ͠

    • ಋೖͨ݁͠ՌͲ͏ͳ͔ͬͨ

    View Slide

  15. Topic Examples
    Combine - ྫɿCombineΛ෦෼తʹϓϩμΫτʹಋೖ͢Δ
    WWDC 19Ͱൃද͞ΕͨCombine͸Apple͕ൃදͨ͠1st partyͷϦΞΫςΟϒϓϩάϥϛϯάͷϑϨʔϜ
    ϫʔΫͰ͢ɻCombine͸ϦΞΫςΟϒϓϩάϥϛϯάΛimport CombineͷҰߦͰϓϩμΫτʹಋೖΛՄೳ
    ʹ͠·͢ɻ

    RxSwift΍ReactiveSwiftͳͲଞͷ3rd partyͷϦΞΫςΟϒϓϩάϥϛϯάͷϑϨʔϜϫʔΫΛ࢖͍ͬͯͯ
    ΋ɺCombineΛϓϩμΫτʹ෦෼తʹಋೖ͢Δ͜ͱͰɺͦͷԸܙ͸ଘ෼ʹड͚ΒΕ·͢ɻ

    ͔͠͠ɺUIKitͰ࢖͏ʹ͸ɺCombineͷPublisher΍SubscriptionɺDemandͱ͍ͬͨ֓೦Λཧղ্ͨ͠Ͱ֦
    ு͢Δඞཁ͕͋ͬͨΓɺ࣮ࡍʹOperatorΛ࢖͓͏ͱ͢Δͱιʔείʔυ͕ެ։͞Ε͍ͯͳ͍ͨΊɺυΩϡ
    ϝϯτͰ͔͠ڍಈΛ௥͏͜ͱ͕Ͱ͖ͣɺ؆୯ʹར༻Ͱ͖ͳ͍Օॴ͕͋Δͷ͕࣮ଶͰ͢ɻ

    ͜ͷτʔΫͰ͸ɺCombineͱRxSwift, ReactiveSwiftͱͷࠩ෼Λ؆୯ʹ঺հ͠ɺUIKitͱCombineΛ૊Έ߹Θ
    ͤɺطଘͷϓϩμΫτͰಋೖ͢ΔͨΊͷํ๏ͱɺ࣮ࡍʹಋೖͨ͜͠ͱʹΑΔޮՌʹ͍ͭͯ঺հ͠·͢ɻ

    View Slide

  16. Proposal Tips

    View Slide

  17. Proposal Tips
    λΠτϧͷ໋໊
    • 3rd partyͷαʔϏε໊Λ࢖ͬͨλΠτϧΛආ͚ͯΈΔ

    • ʙͷ࿩ɺ͸͍͋·͍ʹڹ͘

    • ແཧʹλΠτϧ೧Βͳ͍ʢେتརͰ͸ͳ͍ʣ

    • ԿͷτʔΫͳͷ͔͕Θ͔ΔΑ͏ʹ͢Δ

    • etc…

    View Slide

  18. Proposal Tips
    λΠτϧͷ໋໊ - 3rd partyͷαʔϏε໊Λ࢖ͬͨλΠτϧΛආ͚ͯΈΔ
    ❌ FirebaseΛ࢖ͬͯɺXXΛYY͢Δ

    ⭕ XXΛޮ཰తʹYY͢Δ

    View Slide

  19. Proposal Tips
    λΠτϧͷ໋໊ - 3rd partyͷαʔϏε໊Λ࢖ͬͨλΠτϧΛආ͚ͯΈΔ
    ❌ FirebaseΛ࢖ͬͯɺXXΛYY͢Δ

    ⭕ XXΛޮ཰తʹYY͢Δ

    3rd partyͷαʔϏε໊ΛλΠτϧʹೖΕΔͱɺͦΕʹڵຯ͕͋Δɺ࢖͍ͬͯΔਓ͔͠ର৅ʹ
    ͳΒͣɺͦͷΧϯϑΝϨϯεͰฉ͖͍ͨτʔΫͱัΒ͑ΒΕΔ͔͸ඍົʢݸਓͷײ૝ʣɻ

    ͋Δఔ౓λʔήοτ͸޿͘ͱΔํ͕ྑ͍͔΋ɻ

    ໰୊ղܾͷखஈͱͯ͠ɺ3rd partyͷαʔϏε͕࢖͑Δ͜ͱ͸ຊจͰه͢ͷ͕޷Έ

    View Slide

  20. Proposal Tips
    ࿦ཧతʹॻ͘ʢ͓͢͢Ίߏ੒ʣ
    • Ұൠ࿦ɾ֓ཁ

    • ໰୊ఏى

    • ղܾํ๏

    • ఏҊʢPropose)

    ͜ͷϑΥʔϚοτʹଇΔͱɺ٬؍తʹ͔͚Δ͜ͱ͕ଟ͍ɻ

    View Slide

  21. Proposal Tips
    ࿦ཧతʹॻ͘ʢ͓͢͢Ίߏ੒ʣ- ͬ͘͞ͱॻ͍ͯΈͨྫ
    WWDC 19Ͱൃද͞ΕͨSwiftUI͸ɺObjective-Cͷ࣌୅͔Βड͚ܧ͕ΕͨAPI΍ɺAuto LayoutͳͲUIKitͷҨ࢈͔Β
    ։ൃऀΛղ์ͯ͘͠Ε·͢ɻ֤ը໘͝ͱʹStateΛઃܭ͢ΔΑ͏ͳߏ੒͸ɺMVVMͳͲผͷઃܭύλʔϯΛར༻Λ
    ࣔࠦ͠·͢ɻ

    ͔͠͠ɺUIKitʹ࠷దԽ͞ΕͨઃܭύλʔϯΛ౰ͯ͸ΊΑ͏ͱͯ͠΋ɺViewͷϥΠϑαΠΫϧͷҧ͍͔Βɺͦͷ·
    ·దԠͤ͞Δͷ͸೉͍͠Ͱ͠ΐ͏ɻ

    ͜ͷ໰୊Λղܾ͢ΔҰॿͱͯ͠ɺBrandon WilliamsͱStephen Ceils͕ఏএͨ͠Composable ArchitectureΛ঺հ͠
    ·͢ɻComposable Architecture͸ɺFunctional Programingͷӳ஌Λू݁͠ɺRedux΍ElmΛϕʔεʹ͠ͳ͕Βɺ
    ֤ը໘ͷStateΛΞϓϦશମͷStateʹঢ՚ͤ͞Δ͜ͱ͕Ͱ͖·͢ɻ

    ͜ͷτʔΫͰ͸ɺComposable ArchitectureΛࣗࣾΞϓϦʹಋೖͯ͠10ϲ݄ӡ༻ͨ͠ܦݧΛ΋ͱʹɺΞʔΩςΫ
    νϟͷ֓ཁͱ͸·ΓͲ͜ΖɺಋೖʹΑΓಘΒΕͨ΋ͷΛ঺հ͠·͢ɻτʔΫΛฉ͘ʹ͋ͨΓɺFunctional
    Programmingͷ஌ࣝ͸ͳͯ͘΋ཧղ͢Δ͜ͱ͕Ͱ͖·͢ɻ

    View Slide

  22. Proposal Tips
    ࿦ཧతʹॻ͘ʢ͓͢͢Ίߏ੒ʣ- ͬ͘͞ͱॻ͍ͯΈͨྫ
    WWDC 19Ͱൃද͞ΕͨSwiftUI͸ɺObjective-Cͷ࣌୅͔Βड͚ܧ͕ΕͨAPI΍ɺAuto LayoutͳͲUIKitͷҨ࢈͔Β
    ։ൃऀΛղ์ͯ͘͠Ε·͢ɻ֤ը໘͝ͱʹStateΛઃܭ͢ΔΑ͏ͳߏ੒͸ɺMVVMͳͲผͷઃܭύλʔϯΛར༻Λ
    ࣔࠦ͠·͢ɻ

    ͔͠͠ɺUIKitʹ࠷దԽ͞ΕͨઃܭύλʔϯΛ౰ͯ͸ΊΑ͏ͱͯ͠΋ɺViewͷϥΠϑαΠΫϧͷҧ͍͔Βɺͦͷ·
    ·దԠͤ͞Δͷ͸೉͍͠Ͱ͠ΐ͏ɻ

    ͜ͷ໰୊Λղܾ͢ΔҰॿͱͯ͠ɺBrandon WilliamsͱStephen Ceils͕ఏএͨ͠Composable ArchitectureΛ঺հ͠
    ·͢ɻComposable Architecture͸ɺFunctional Programingͷӳ஌Λू݁͠ɺRedux΍ElmΛϕʔεʹ͠ͳ͕Βɺ
    ֤ը໘ͷStateΛΞϓϦશମͷStateʹঢ՚ͤ͞Δ͜ͱ͕Ͱ͖·͢ɻ

    ͜ͷτʔΫͰ͸ɺComposable ArchitectureΛࣗࣾΞϓϦʹಋೖͯ͠10ϲ݄ӡ༻ͨ͠ܦݧΛ΋ͱʹɺΞʔΩςΫ
    νϟͷ֓ཁͱ͸·ΓͲ͜ΖɺಋೖʹΑΓಘΒΕͨ΋ͷΛ঺հ͠·͢ɻτʔΫΛฉ͘ʹ͋ͨΓɺFunctional
    Programmingͷ஌ࣝ͸ͳͯ͘΋ཧղ͢Δ͜ͱ͕Ͱ͖·͢ɻ
    Ұൠ࿦ɾ֓ཁ
    ໰୊ఏىʢ΋͏ͪΐͬͱॻ͍ͨํ͕͍͍͔΋ʣ
    ղܾํ๏
    ఏҊ

    View Slide

  23. Proposal Tips
    ৭ʑݴ͚ͬͨͲ…
    • ࿩͍ͨ͜͠ͱΛ࿩͢ͷ͕Ұ൪

    • τʔΫʹधཁ͕͋Δ͔͸ӡӦ͕൑அ͢ΔͷͰɺԲͤͣग़͢

    • ࿩͍ͨ͜͠ͱ͕ᐆດͳΒɺϓϩϙʔβϧʹམͱͤͳ͍͸ͣ

    • ඞཁे෼ͳ৘ใ͕ॻ͍ͯ͋Ε͹େৎ෉ʢϙΤϜॻ͔ͳ͍ʣ

    • ෆ҆ͳΒपΓͷਓʹݟͯ΋Β͏

    • աڈʹ࠾୒͞Εͨ΋ͷΛಡΉ

    View Slide