Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
【Qiita Night】新卒エンジニアによるSwift6与太予想
Search
Cychow
May 18, 2022
Programming
0
330
【Qiita Night】新卒エンジニアによるSwift6与太予想
Cychow
May 18, 2022
Tweet
Share
More Decks by Cychow
See All by Cychow
【Ebisu.mobile#3】バイトルアプリへのSwift Concurrency導入とその効果
eiji127
3
250
Other Decks in Programming
See All in Programming
障害対応を起点としたもっといい開発と運用のサイクル作りのためにできること / Hatena Enginner Seminar #29
polamjag
0
380
AppRouter Panel Talk
yosuke_furukawa
PRO
1
460
CREってこういうこと? 体験入社 - 提案資料 - / what-is-cre-trial-employment
shinden
1
510
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
140
検証も兼ねて個人開発でHonoとかと向き合った話
hanetsuki
1
1.3k
Sheets API使ってみた
toshi0383
2
160
Site Reliability Engineering for GMO
pyama86
8
1.1k
Tailwind CSSを本気でカスタマイズする方法
fsubal
14
5.5k
From Spring Boot 2 to Spring Boot 3 with Java 21 and Jakarta EE
ivargrimstad
0
520
Domain-Driven Transformation
hschwentner
2
1.5k
Try creating your own orderedmap
kazamori
1
190
Java 22 Overview
kishida
1
190
Featured
See All Featured
A better future with KSS
kneath
231
16k
Adopting Sorbet at Scale
ufuk
69
8.6k
Typedesign – Prime Four
hannesfritz
36
2.1k
Writing Fast Ruby
sferik
622
60k
Docker and Python
trallard
35
2.7k
Building Effective Engineering Teams - LeadDev
addyosmani
31
1.9k
Into the Great Unknown - MozCon
thekraken
14
1k
Navigating Team Friction
lara
179
13k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
14
1.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
275
13k
Building Better People: How to give real-time feedback that sticks.
wjessup
356
18k
GraphQLとの向き合い方2022年版
quramy
33
12k
Transcript
৽ଔΤϯδχΞʹΑΔSwift 6༩ଠ༧ σΟοϓגࣜձࣾ iOSΤϯδχΞ ന ӥ࢘
ࣗݾհ 🏢ɿσΟοϓגࣜձࣾ 22৽ଔΤϯδχΞ ♨ɿԹઘɾαφ͕େ͖Ͱ͢ʂ 📱ɿQiita -> @Cychow, Twitter -> @cychow_app
͍ͨ͜͠ͱ ɾ(ݱ࣮తͳͱ͜Ζͩͱ) ඇಉظॲཧͱδΣωϦΫεେ͖͘ Ξοϓσʔτ͕ೖΓͦ͏ɻ ɾϝλόʔεͩ͠ɺARKitؤுͬͯ͘Εͦ͏ʂ ɾαʔόαΠυSwiftຊ֨తʹ͘Δͧʂ
Swift6ͷํ
On the road to Swift6 ˌ1ɿ SwiftιϑτΣΞΤίγεςϜͷΛՃ͢Δ ˌ2ɿૉΒ͍͠։ൃମݧΛ࡞͢Δ ˌ3ɿϢʔβʔʹྗΛ༩͑Δݴޠͷํੑʹࢿ͢Δ https://forums.swift.org/t/on-the-road-to-swift-6/32862
ˌ1ɿ SwiftιϑτΣΞΤίγεςϜͷΛՃ͢Δ ɾSwiftͷՄ༻ੑΛ֦େ͠ɺͨ͘͞ΜͷਓʹӨڹΛ༩͍͑ͨɻ ɾϓϥοτϑΥʔϜ૿͢ / Πϯετʔϧͱల։ͷํ๏ͷվળ / ΫϩεϓϥοτϑΥʔϜͷαϙʔτ/etc…
ˌ2ɿૉΒ͍͠։ൃମݧΛ࡞͢Δ ɾΑΓߴͳϏϧυ ɾΑΓ༗ӹͰਖ਼֬ͳஅ ɾϨεϙϯγϒͳίʔυิ ɾetc…
ˌ3ɿϢʔβʔʹྗΛ༩͑Δݴޠͷํੑʹࢿ͢Δ ɾSwiftΛΑΓڧྗͳϓϩάϥϛϯάݴޠʹ͢Δɻ ɾՄมࢠҾδΣωϦοΫ / APIߏஙαϙʔτ / DSLػೳ / ಉ࣮࣌ߦੑͷڧԽ /
etc…
ͦͷଞॾʑ
Swift6ͷ༩ଠ༧
ଘࡏܕ SE-0341: Opaque Parameter Declarations ɾSwift5.7ͰδΣωϦΫεΛҾʹ༻͍ͨؔΛ؆ܿʹॻ͚ΔΑ͏ʹͳͬͨɻ
ϦόʔεδΣωϦΫε ɾΓʹδΣωϦΫεͷ֓೦ΛऔΓೖΕ͍ͨɻ ɾΓ͕۩ମత͗ͯ͢ಉ͡Α͏ͳ࣮͕૿͑Δɻ SE-0244: Opaque Result Type
ϦόʔεδΣωϦΫε SE-0244: Opaque Result Type ɾOpaque Result TypeͷsomeͰ۩ମతͳܕΛӅṭͰ͖Δɻ Ұ෦ͷProtocolʹద༻͞Ε͍ͯͳ͍…ɻ
ϦόʔεδΣωϦΫε ɾOpaque Result TypeͷsomeͰ۩ମతͳܕΛӅṭͰ͖Δɻ Ұ෦ͷProtocolʹద༻͞Ε͍ͯͳ͍…ɻ ↓ ͯ͢ͷϓϩτίϧ͕ϦόʔεδΣωϦΫεʹద༻Ͱ͖ΔΑ͏ݕ౼தʂ (Swift6Ͱ෦తʹ؇͞ΕΔ͔ʁ) SE-0244: Opaque
Result Type
async / await ɾSwift5.5͔ΒConcurrencyͷػೳͱͯ͠ొͨ͠ɻ ɾඇಉظॲཧ / ฒߦॲཧͷίʔυΛ؆ܿʹهड़Ͱ͖ΔΑ͏ʹͳͬͨɻ
async / await ɾcompletionͰͳ͘ΓͰ݁ՌΛͤΔɻ
async / await ɾΤϥʔΛthrow͢Δ͜ͱͰɺΤϥʔϋϯυϦϯάΛڧ੍Ͱ͖Δɻ
async / await ɾSwift6Ͱ@asyncHandlerͱ͍͏Ξϊςʔγϣϯ͕Ճ͞ΕΔɻ ɾIBActionͱ͔ʹ͚ͭΕTaskͱ͔Ͱғ·ͳͯ͘ྑͦ͞͏ɻ
async / await ɾXcodeͷRefactorͰ؆୯ʹมͰ͖Δɻ( গ͠ո͍͚͠Ͳ) ↓ Swift6͕ఏڙ͞ΕΔࠒʹ͏গ্͠खͬͯ͘͘Εͦ͏ʂ
ARKit ɾGoogleͷARCoreۭؒεΩϟϯͳ͠ͰΞϯΧϦϯάͰ͖ΔΞοϓσʔτ ɾΦϒδΣΫτΛஔ͢Δָ͘͢͝ʹͳΓͦ͏…🤔
ARKit ɾARKit࠷ۙ੩͔… ɾMapKitͱ࿈ಈͤ͞Δ͘Β͍ͷ͜ͱΓ͔Ͷͳ͍…ʂʁ
(ઢ) Xcode Cloud ɾΫϥυͷXcodeͰϏϧυςετΛࣗಈ࣮ߦͰ͖Δɻ ɾTestFlightͱͷ࿈ܞͳͲͬͯ͘ΕΔɻ
(ઢ) Xcode Cloud ɾ(͔֬)ൃද࣌ʹ1Ҏʹຊ֨తͳެ։Λ༧ఆ͍ͯ͠Δͱड़͍ͯͨɻ ɾϦϦʔεςετ͕؆୯ʹͳͬͨΓͦ͠͏ɻ
(ઢ) Xcodeͷόʔδϣϯཧ ɾxcodesͱ͍͏πʔϧͰXcodeͷཧ͕Ͱ͖Δ͚Ͳɺ ެࣜͰग़དྷΔΑ͏ʹͳͬͯ͘ΕΔͱخ͍͠ʂʂʂ
(ઢ) αʔόαΠυSwiftຊ֨࢝ಈʂʁʁ ɾLinuxʹରԠ͢Δͬͯݴͬͯͨؾ͕͢Δɻ ɾαʔόαΠυSwiftຊ֨తʹ࢝ಈ͢ΔͷͰʁ എܠͱಉԽͪ͠Όͬͨ…
·ͱΊ ɾ(ݱ࣮తͳͱ͜Ζͩͱ) ඇಉظॲཧͱδΣωϦΫεେ͖͘ Ξοϓσʔτ͕ೖΓͦ͏ɻ ɾϝλόʔεͳͷͰɺARKitؤுͬͯ΄͍͠ʂ ɾαʔόαΠυSwiftຊ֨తʹ͘Δͧʂ
iOSΤϯδχΞઈࢍืूதʂʂʂ