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
360
【Qiita Night】新卒エンジニアによるSwift6与太予想
Cychow
May 18, 2022
Tweet
Share
More Decks by Cychow
See All by Cychow
【Ebisu.mobile#3】バイトルアプリへのSwift Concurrency導入とその効果
eiji127
3
340
Other Decks in Programming
See All in Programming
Rubyでつくるパケットキャプチャツール
ydah
0
170
Fixstars高速化コンテスト2024準優勝解法
eijirou
0
190
AppRouterを用いた大規模サービス開発におけるディレクトリ構成の変遷と問題点
eiganken
1
450
歴史と現在から考えるスケーラブルなソフトウェア開発のプラクティス
i10416
0
300
Lookerは可視化だけじゃない。UIコンポーネントもあるんだ!
ymd65536
1
130
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
1k
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
7
1.4k
functionalなアプローチで動的要素を排除する
ryopeko
1
210
週次リリースを実現するための グローバルアプリ開発
tera_ny
1
1.2k
PSR-15 はあなたのための ものではない? - phpcon2024
myamagishi
0
410
令和7年版 あなたが使ってよいフロントエンド機能とは
mugi_uno
10
5.2k
AWS re:Invent 2024個人的まとめ
satoshi256kbyte
0
100
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
5
210
Building Adaptive Systems
keathley
38
2.4k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
Gamification - CAS2011
davidbonilla
80
5.1k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
How to train your dragon (web standard)
notwaldorf
89
5.8k
jQuery: Nuts, Bolts and Bling
dougneiner
62
7.6k
BBQ
matthewcrist
85
9.4k
The Power of CSS Pseudo Elements
geoffreycrofte
74
5.4k
Rails Girls Zürich Keynote
gr2m
94
13k
Building an army of robots
kneath
302
45k
Why Our Code Smells
bkeepers
PRO
335
57k
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ΤϯδχΞઈࢍืूதʂʂʂ