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

iOSアプリの技術選択2022

 iOSアプリの技術選択2022

0620564f0125b8b3b7f4fe40c10b8b4e?s=128

Tatsuya Tanaka

May 14, 2022
Tweet

More Decks by Tatsuya Tanaka

Other Decks in Programming

Transcript

  1. 5BUTVZB5BOBLBͨͳͨͭ 
  J04ΞϓϦͷٕज़બ୒

  2. ͨͳͨͭ / Tatsuya Tanaka • Ϡϑʔגࣜձࣾ / iOSΞϓϦࠇଳ • TechFeed

    Expert @tattn @tanakasan2525 @tattn
  3. VTuberελΠϧͰWebձٞʹࢀՃͰ͖ΔΞϓϦެ։த

  4. ࠓɺiOSΞϓϦΛ࡞ΔͳΒ 
 Ͳ͏͢Δʁ ※ ωΠςΟϒͰ࡞੒͢Δ৔߹

  5. τϐοΫε ɾUIϑϨʔϜϫʔΫͷબఆ 
 ɾϥΠϒϥϦ؅ཧ ɾΞϓϦͷߏ੒ ɾCI ɾςετ഑෍

  6. UIϑϨʔϜϫʔΫͷબఆ

  7. UIKit ͱ SwiftUI ͦΕͧΕͷϝϦοτ SwiftUI UIKit ɾUIͷ։ൃίετΛԼ͛ΒΕΔ 
 ɾӡ༻ίετΛԼ͛ΒΕΔ 


    ɹɾίϯϙʔωϯτԽ͠΍͍͢ ɹɾUIͷมߋ͕༰қ 
 ɹɾίʔυࠩ෼͕෼͔Γ΍͍͢ ɾ͞·͟·ͳUIΛ࣮ݱͰ͖Δ 
 ɾಈ࡞͕҆ఆ͍ͯ͠Δ
  8. UIKit ͱ SwiftUI ͦΕͧΕͷϝϦοτ SwiftUI UIKit ɾUIͷ։ൃίετΛԼ͛ΒΕΔ 
 ɾӡ༻ίετΛԼ͛ΒΕΔ 


    ɹɾίϯϙʔωϯτԽ͠΍͍͢ ɹɾUIͷมߋ͕༰қ 
 ɹɾίʔυࠩ෼͕෼͔Γ΍͍͢ ɾ͞·͟·ͳUIΛ࣮ݱͰ͖Δ 
 ɾಈ࡞͕҆ఆ͍ͯ͠Δ
  9. UIKit or SwiftUI iOS 13Ҏ߱ͷαϙʔτʁ UIσβΠϯΛॊೈʹௐ੔Մೳʁ YES YES SwiftUI UIKit

    NO NO ɾiOS 13Ҏ߱ (Ͱ͖Ε͹࠷৽APIΛ࢖͍͍ͨ) 
 ɾiOSඪ४ͷσβΠϯ͔Βҳ୤͢Δͱ 
 ɹ։ൃ޻਺͕େ͖͘૿Ճ͢Δ ɾݹ͍APIͰ΋࣮૷͸Մೳ ɾUIϨΠΞ΢τͷॊೈੑ͕ߴ͍
  10. ϥΠϒϥϦ؅ཧ

  11. iOSͷϥΠϒϥϦ؅ཧπʔϧ SwiftPM Carthage CocoaPods ͦͷଞ

  12. Swift Package Manager (SwiftPM) Λ࢖͓͏ ඪ४ͷSwiftPM͕͓͢͢Ί ͦΕҎ֎ͷख๏͸কདྷతʹϝϯςφϯε͞Εͳ͘ͳΔՄೳੑ͕ߴ͍ 
 
 SwiftPMʹରԠ͍ͯ͠ͳ͍৔߹ʹہॴతʹଞΛ࢖͏

    SwiftPM Carthage CocoaPods ͦͷଞ
  13. ΞϓϦͷߏ੒

  14. SwiftPMͰΞϓϦΛϞδϡʔϧԽ͢Δߏ੒͕͓͢͢Ί ɾΞϓϦͷϏϧυ୯ҐΛมߋͯ͠Ϗϧυ࣌ؒΛݮΒ͢ 
 ɾΞϓϦͷઃܭΛϞδϡʔϧʹམͱ͠ࠐΉ

  15. ΞϓϦͷઃܭ SwiftUIͰ͸ The Composable Architecture (TCA) 
 UIKitͰ͸ VIPER૬౰ͷઃܭ ͕Α͘࿩୊ʹ

  16. ΞϓϦͷઃܭ SwiftUIͰ͸ The Composable Architecture (TCA) 
 UIKitͰ͸ VIPER૬౰ͷઃܭ ͕Α͘࿩୊ʹ

    ͜ΕΒΛਪਐͰ͖Δϝϯόʔ͕͍Δ৔߹͸͓͢͢Ί 
 ͍ͳ͍৔߹͸·ͣ͸γϯϓϧʹ࣮૷͠ɺ 
 ςελϏϦςΟͷ୲อ΍νʔϜ಺ͷҙࢥૄ௨ͳͲͷ 
 ՝୊͕໌ΔΈʹͳ͔ͬͯΒݕ౼ͯ͠΋஗͘ͳ͍
  17. CI (ܧଓతΠϯςάϨʔγϣϯ)

  18. CI Apple͕ఏڙ͢Δ Xcode Cloud ͸·ͩβ൛ ଞʹBitriseɺGitHub ActionsɺCodemagicͳͲ༷ʑͳબ୒ࢶ͕͋Δ

  19. CI Apple͕ఏڙ͢Δ Xcode Cloud ͸·ͩβ൛ ଞʹBitriseɺGitHub ActionsɺCodemagicͳͲ༷ʑͳબ୒ࢶ͕͋Δ ͜ΕҰ୒ͱ͍͏બ୒ࢶ͕ͳ͍ͨΊɺ ඞཁͳػೳ΍ࢧ෷͑ΔίετʹԠͯ͡౎౓બ୒͕ඞཁ… Ϗϧυؔ܎ΛࣗಈԽ͢ΔͳΒfastlane͕ศར

    
 ϓϩδΣΫτઃఆ౳͸࢓༷มߋ͕ଟ͍ͨΊɺඪ४ͷ࢓૊ΈͰͷઃఆ͕͓͢͢Ί
  20. ςετ഑෍

  21. ςετ഑෍ AppleͷTestFlight͕ͱͯ΋ศརʂ େاۀͰ͸ Apple Developer Enterprise Program Ͱͷ 
 ഑෍΋૊Έ߹Θͤͯ࢖ΘΕ͍ͯΔ

    ։ൃνʔϜ޲͚ͷ഑෍͸100ਓ 
 Ұൠ޲͚ͷςετ഑෍͸1ສਓ ෳ਺όʔδϣϯͷ഑෍΋OK TestFlight
  22. ·ͱΊ

  23. ·ͱΊ ɾUIϑϨʔϜϫʔΫ͸SwiftUIΛબ୒Ͱ͖Δঢ়گΛ࡞Ζ͏ 
 ɾϥΠϒϥϦ؅ཧ͸SwiftPM ɾΞϓϦͷߏ੒͸SwiftPMͰͷϞδϡʔϧԽ & νʔϜʹ͋ͬͨઃܭ ɾCI͸ඞཁͳػೳʹԠͯ͡બ୒͕ඞཁɺBitrise͸؆୯ ɾςετ഑෍͸TestFlight

  24. ࢀߟࢿྉ ɾThe Composable Architecture 
 ɹɾhttps://github.com/pointfreeco/swift-composable-architecture 
 ɾA Tour of

    isowords: Part 1 ɹɾhttps://www.pointfree.co/episodes/ep142-a-tour-of-isowords-part-1 
 ɾSwift Packageத৺ͷϓϩδΣΫτߏ੒ͱͦͷ࣮ફ 
 ɹɾhttps://fortee.jp/iosdc-japan-2021/proposal/1338c9cc-363a-44a6-bbac-452b67b472fb 
 ɾTestFlight ɹɾhttps://developer.apple.com/jp/test fl ight/ 
 ɾXcode Cloud ɹɾhttps://developer.apple.com/jp/xcode-cloud/