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

2021年度 ミクシィ新卒研修 -iOSアプリ開発- / 2021 iOS mixi training

2021年度 ミクシィ新卒研修 -iOSアプリ開発- / 2021 iOS mixi training

rockname

May 07, 2021
Tweet

More Decks by rockname

Other Decks in Programming

Transcript

  1. 2021೥౓ ϛΫγΟ৽ଔݚम
    -iOSΞϓϦ։ൃ-
    גࣜձࣾϛΫγΟ ΈͯͶࣄۀ෦
    ϩΫωϜ @_rockname

    View Slide

  2. mixi, Inc.
    ߨࢣ঺հ
    • ؠ໊༐ً - rocknam
    e

    • 2018೥৽ଔ ΈͯͶࣄۀ෦ॴଐ
    • iOSϝΠϯʹɺAndroid, Rails΋৮Δ
    • εϚϒϥΛਅ໘໨ʹ΍ΓࠐΜͰΔ

    View Slide

  3. mixi, Inc.
    νϡʔλʔ঺հ
    • ߾঑ଠ - tdrk1
    8

    • 2016೥৽ଔ minimoࣄۀ෦ॴଐ
    • iOS ΛϝΠϯʹ Android ΍ Perl Ͱͷ։ൃɺCSνʔ
    Ϝͷ͓ख఻͍ͳͲ
    • υϥΠϒɾπʔϦϯά͕޷͖

    View Slide

  4. mixi, Inc.
    ͓඼ॻ͖
    • 10:30~ iOSΞϓϦ։ൃͷྺ࢙
    • 10:50~ Swiftݴޠͷجຊ
    • 11:30~ ٳܜ
    • 11:40~ SwiftUIͷجຊ

    ɾ؆୯ͳϨΠΞ΢τΛ૊Ή

    ɾը૾Λදࣔ

    ɾϦετදࣔ
    • 13:00~ ϥϯν
    • 14:00~ SwiftUIͷجຊ ଓ͖

    ɾφϏήʔγϣϯ

    ɾϥΠϑαΠΫϧͱঢ়ଶ؅ཧ
    • 15:20~ ٳܜ
    • 15:30~ WebAPIͱͷ௨৴

    ɾCombineʹΑΔඇಉظॲཧ

    ɾURLSessionʹΑΔ௨৴

    ɾΤϥʔϋϯυϦϯά
    • 16:50~ ٳܜ
    • 17:00~ ઃܭͱςετ

    ɾMVVMΞʔΩςΫνϟ

    ɾXCTest

    ɾXcode Previewsͷ࠶׆༻
    • 18:20 ऴྃ

    View Slide

  5. mixi, Inc.
    ݚमͷΰʔϧ
    ʲiOSΞϓϦ։ൃʹܞΘΔਓʳ
    • SwiftUIʹΑΔ։ൃޮ཰ͷߴ͞Λཧղ͠ɺ഑ଐ෦ॺ΁ͷಋೖΛݕ౼Ͱ͖Δࢹ఺Λ࣋ͭ
    ʲiOSҎ֎ͷΫϥΠΞϯτ։ൃʹܞΘΔਓʳ
    • iOSΞϓϦͷఏڙ͢ΔϑϨʔϜϫʔΫͷ࢖͍ํΛཧղ͠ɺ

    ࣗ෼ͷ୲౰͢ΔϓϥοτϑΥʔϜͷ։ൃʹؐݩͰ͖Δ஌ࣝΛ֫ಘ͢Δ
    ʲΫϥΠΞϯτʹఏڙ͢ΔAPIΛ։ൃ͢Δਓʳ
    • iOSΞϓϦʹ͓͚ΔAPI௨৴पΓͷॲཧ΍ঢ়ଶ؅ཧʹ͍ͭͯཧղΛਂΊɺ

    ΫϥΠΞϯτʹͱͬͯѻ͍΍͍͢APIʹ͍ͭͯߟ͑ΒΕΔྗΛಘΔ

    View Slide

  6. iOSΞϓϦ։ൃͷྺ࢙ʹ͍ͭͯ

    View Slide

  7. mixi, Inc.
    iOSΞϓϦ։ൃͷྺ࢙
    • 1983೥ Objective-C ݴޠ͕஀ੜ
    • 1985೥ εςΟʔϒɾδϣϒζ͕Apple͔Βղޏɺಉ೥ʹNeXTࣾΛઃཱ

    ɾͦ͜ͰNeXTSTEPͱݺ͹ΕΔObjective-CΛج൫ͱͨ͠ΦϖϨʔςΟϯάγεςϜʹ࠾༻͞ΕΔ
    • 1996೥ Apple͕ࣾNeXTࣾΛങऩ
    • 2002೥ NeXTSTEPΛϕʔεͱͨ͠ΦϖϨʔςΟϯάγεςϜͱͯ͠Mac OS X͕ެ։͞ΕΔ
    • 2008೥ iPhoneൃදɺiOSΞϓϦ։ൃͷݴޠʹObjective-C͕࠾༻͞ΕΔ

    ɾUIϑϨʔϜϫʔΫͱͯ͠ UIKit ͕ఏڙ͞ΕΔ
    • 2014೥ ৽ݴޠ Swift Λൃද
    • 2019೥ ৽UIϑϨʔϜϫʔΫ SwiftUI Λൃද
    https://mynavi-agent.jp/it/geekroid/2014/10/swift1objective-cswift.html ΑΓ

    View Slide

  8. mixi, Inc.
    Objective-C
    • header
    fi
    leͱimplementation
    fi
    leʹ෼͔
    ΕΔ
    • ۙ೥ͷϞμϯͳݴޠͱൺֱ͢Δͱݫ͠
    ͍෦෼͕ଟʑ͋Δ

    View Slide

  9. mixi, Inc.
    Swift
    • ઌͱಉ͡ίʔυΛSwiftͰॻ͘ͱ͜͏
    ͳΔ
    • OSSͱͯ͠ࠓ΋׆ൃʹ։ൃ͕ਐΊΒ
    Ε͍ͯΔ

    https://github.com/apple/swift

    View Slide

  10. mixi, Inc.
    UIKit
    • खଓ͖తͳUIϑϨʔϜϫʔΫ
    • GUI্ͰϨΠΞ΢τ͕Մೳͳ
    Storyboard(XIB)ͱซ༻

    (࢖Θͳ͍͜ͱ΋Մೳ)

    View Slide

  11. mixi, Inc.
    SwiftUI
    • એݴతͳUIϑϨʔϜϫʔΫ
    • Xcode Previewsͱ͍͏ϗοτϦϩʔυ
    ՄೳͳPreviewͰද͕ࣔՄೳ
    • 2019೥ʹެ։͞ΕͨSwiftUI͕ͩɺ2020
    ೥Ͱ2.0͕ൃද͞ΕɺΑ͏΍͘beta͕֎
    ΕͨΑ͏ͳҹ৅͕͋Δ

    View Slide

  12. iOS SwiftUI Training

    View Slide

  13. mixi, Inc.
    https://github.com/mixigroup/ios-swiftui-training

    View Slide

  14. mixi, Inc.
    ਐΊํ
    • ઌͷrepositoryʹ͋ΔREADMEͷηογϣϯΛ্͔Β࣮૷͍͖ͯ͠·͢
    • ֤ηογϣϯͰ͸ߨٛύʔτͱͯ͠·ͣ͸ࣗ෼͕ը໘ڞ༗͠ͳ͕Βઆ໌͠·͢ɺͦΕΛฉ
    ͖ͳ͕ΒΈͳ͞Μ΋खݩͰखΛಈ͔͍ͯͬͯ͠΋Β͍·͢
    • ϋϯζΦϯύʔτͱ֤ͯ͠ηογϣϯʹνϟϨϯδͷ߲໨Λ༻ҙ͍ͯ͠·͢ɺͦ͜͸Έͳ
    ͞Μʹղ͍ͯ΋Β͍·͢

    View Slide

  15. mixi, Inc.
    ਐΊํ
    • νʔϜ alph
    a

    • @shoi.it
    o

    • @shugo.kat
    o

    • @ayana.kun
    o

    • @yuya.nozaki
    • νʔϜ bet
    a

    • @takuya.ebat
    a

    • @takao.kaburak
    i

    • @seiya.kobayash
    i

    • @yutaro.yoshikawa
    • ηογϣϯΛਐΊ্͍ͯ͘Ͱɺ2νʔϜʹ෼͔Εͯ΋Β͍·͢

    View Slide

  16. mixi, Inc.
    ਐΊํ
    • ֤νʔϜ༻ʹMeetͱSlackνϟϯωϧΛ༻ҙ͢ΔͷͰɺͦ͜Ͱࣗ༝ʹൃݴ΍νϟοτΛͯ͠
    ͍ͩ͘͞
    • શମ༻ͷMeet

    ɾߨٛύʔτͰԿ͔࣭໰͕͋Ε͹ԕྀͳ͘ൃݴ͍ͯͩ͘͠͞ (νϟοτͰ΋ok)

    ɾϋϯζΦϯύʔτͰ͸muteʹ͍ͯͩ͘͠͞
    • ֤νʔϜ༻ͷMeet

    ɾߨٛύʔτͰ͸muteʹ͍ͯͩ͘͠͞

    ɾϋϯζΦϯύʔτͰ͸muteΛղআͯࣗ͠༝ʹ૬ஊ͠ͳ͕Β࣮૷͍ͯͩ͘͠͞

    (୭͔͕ը໘ڞ༗ͯ͠ϞϒϓϩͬΆ͘΍ͬͯ΋ok)

    View Slide

  17. mixi, Inc.
    2021೥౓ϛΫγΟ৽ଔݚम-iOSΞϓϦ։ൃ-͸ɺಠཱͨ͠ݚमࢿྉͰ͋ΓɺApple Inc.͕ೝఆɺޙԉɺͦͷଞঝೝ͠
    ͨ΋ͷͰ͸͋Γ·ͤΜɻ

    AppleɺiPhoneɺMac OSɺObjective-CɺSwift͸ɺถࠃ͓ΑͼଞͷࠃʑͰొ࿥͞ΕͨApple Inc.ͷ঎ඪͰ͢ɻ
    iPhoneͷ঎ඪ͸ɺΞΠϗϯגࣜձࣾͷϥΠηϯεʹج͖ͮ࢖༻͞Ε͍ͯ·͢ɻIOS͸ɺCisco ͷถࠃ͓Αͼͦͷଞͷ
    ࠃʹ͓͚Δ঎ඪ·ͨ͸ొ࿥঎ඪͰ͋ΓɺϥΠηϯεʹج͖ͮ࢖༻͞Ε͍ͯ·͢ɻ

    View Slide