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

【Qiita Night】新卒エンジニアによるSwift6与太予想

【Qiita Night】新卒エンジニアによるSwift6与太予想

3fc2c76b81e2acd1a263f30db01a248a?s=128

Cychow

May 18, 2022
Tweet

Other Decks in Programming

Transcript

  1. ৽ଔΤϯδχΞʹΑΔSwift 6༩ଠ༧૝ σΟοϓגࣜձࣾ iOSΤϯδχΞ ന਺ ӥ࢘

  2. ࣗݾ঺հ 🏢ɿσΟοϓגࣜձࣾ 22೥౓৽ଔΤϯδχΞ ♨ɿԹઘɾα΢φ͕େ޷͖Ͱ͢ʂ 📱ɿQiita -> @Cychow, Twitter -> @cychow_app

  3. ࿩͍ͨ͜͠ͱ ɾ(ݱ࣮తͳͱ͜Ζͩͱ) ඇಉظॲཧͱδΣωϦΫε͸େ͖͘ Ξοϓσʔτ͕ೖΓͦ͏ɻ ɾϝλόʔε΋࿩୊ͩ͠ɺARKit΋ؤுͬͯ͘Εͦ͏ʂ ɾαʔόαΠυSwiftຊ֨తʹ͘Δͧʂ

  4. Swift6ͷํ਑

  5. On the road to Swift6 ˌ1ɿ Swiftιϑτ΢ΣΞΤίγεςϜͷ੒௕ΛՃ଎͢Δ ˌ2ɿૉ੖Β͍͠։ൃମݧΛ࡞੒͢Δ ˌ3ɿϢʔβʔʹྗΛ༩͑Δݴޠͷํ޲ੑʹ౤ࢿ͢Δ https://forums.swift.org/t/on-the-road-to-swift-6/32862

  6. ˌ1ɿ Swiftιϑτ΢ΣΞΤίγεςϜͷ੒௕ΛՃ଎͢Δ ɾSwiftͷՄ༻ੑΛ֦େ͠ɺͨ͘͞ΜͷਓʹӨڹΛ༩͍͑ͨɻ ɾϓϥοτϑΥʔϜ૿΍͢ / Πϯετʔϧͱల։ͷํ๏ͷվળ / ΫϩεϓϥοτϑΥʔϜͷαϙʔτ/etc…

  7. ˌ2ɿૉ੖Β͍͠։ൃମݧΛ࡞੒͢Δ ɾΑΓߴ଎ͳϏϧυ ɾΑΓ༗ӹͰਖ਼֬ͳ਍அ ɾϨεϙϯγϒͳίʔυิ׬ ɾetc…

  8. ˌ3ɿϢʔβʔʹྗΛ༩͑Δݴޠͷํ޲ੑʹ౤ࢿ͢Δ ɾSwiftΛΑΓڧྗͳϓϩάϥϛϯάݴޠʹ͢Δɻ ɾՄมࢠҾ਺δΣωϦοΫ / APIߏஙαϙʔτ / DSLػೳ / ಉ࣮࣌ߦੑͷڧԽ /

    etc…
  9. ͦͷଞॾʑ

  10. Swift6ͷ༩ଠ༧૝

  11. ଘࡏܕ SE-0341: Opaque Parameter Declarations ɾSwift5.7Ͱ͸δΣωϦΫεΛҾ਺ʹ༻͍ͨؔ਺Λ؆ܿʹॻ͚ΔΑ͏ʹͳͬͨɻ

  12. ϦόʔεδΣωϦΫε ɾ໭Γ஋ʹδΣωϦΫεͷ֓೦ΛऔΓೖΕ͍ͨɻ ɾ໭Γ஋͕۩ମత͗ͯ͢ಉ͡Α͏ͳ࣮૷͕૿͑Δɻ SE-0244: Opaque Result Type

  13. ϦόʔεδΣωϦΫε SE-0244: Opaque Result Type ɾOpaque Result TypeͷsomeͰ۩ମతͳܕΛӅṭͰ͖Δɻ Ұ෦ͷProtocolʹ͸ద༻͞Ε͍ͯͳ͍…ɻ

  14. ϦόʔεδΣωϦΫε ɾOpaque Result TypeͷsomeͰ۩ମతͳܕΛӅṭͰ͖Δɻ Ұ෦ͷProtocolʹ͸ద༻͞Ε͍ͯͳ͍…ɻ ↓ ͢΂ͯͷϓϩτίϧ͕ϦόʔεδΣωϦΫεʹద༻Ͱ͖ΔΑ͏ݕ౼தʂ (Swift6Ͱ෦෼తʹ؇࿨͞ΕΔ͔΋ʁ) SE-0244: Opaque

    Result Type
  15. async / await ɾSwift5.5͔ΒConcurrencyͷػೳͱͯ͠ొ৔ͨ͠ɻ ɾඇಉظॲཧ / ฒߦॲཧͷίʔυΛ؆ܿʹهड़Ͱ͖ΔΑ͏ʹͳͬͨɻ

  16. async / await ɾcompletionͰ͸ͳ͘໭Γ஋Ͱ݁ՌΛ౉ͤΔɻ

  17. async / await ɾΤϥʔΛthrow͢Δ͜ͱͰɺΤϥʔϋϯυϦϯάΛڧ੍Ͱ͖Δɻ

  18. async / await ɾSwift6Ͱ͸@asyncHandlerͱ͍͏Ξϊςʔγϣϯ͕௥Ճ͞ΕΔɻ ɾIBActionͱ͔ʹ͚ͭΕ͹Taskͱ͔Ͱғ·ͳͯ͘ྑͦ͞͏ɻ

  19. async / await ɾXcodeͷRefactorͰ؆୯ʹม׵Ͱ͖Δɻ( গ͠ո͍͚͠Ͳ) ↓ Swift6͕ఏڙ͞ΕΔࠒʹ͸΋͏গ্͠ख͘΍ͬͯ͘Εͦ͏ʂ

  20. ARKit ɾGoogleͷARCore͸ۭؒεΩϟϯͳ͠ͰΞϯΧϦϯάͰ͖ΔΞοϓσʔτ ɾΦϒδΣΫτΛ഑ஔ͢Δָ͘͢͝ʹͳΓͦ͏…🤔

  21. ARKit ɾARKit͸࠷ۙ੩͔… ɾMapKitͱ࿈ಈͤ͞Δ͘Β͍ͷ͜ͱ͸΍Γ͔Ͷͳ͍…ʂʁ

  22. (୤ઢ) Xcode Cloud ɾΫϥ΢υͷXcodeͰϏϧυ΍ςετΛࣗಈ࣮ߦͰ͖Δɻ ɾTestFlightͱͷ࿈ܞͳͲ΋΍ͬͯ͘ΕΔɻ

  23. (୤ઢ) Xcode Cloud ɾ(͔֬)ൃද࣌ʹ1೥Ҏ಺ʹຊ֨తͳެ։Λ༧ఆ͍ͯ͠Δͱड़΂͍ͯͨɻ ɾϦϦʔε΍ςετ഑෍͕؆୯ʹͳͬͨΓͦ͠͏ɻ

  24. (୤ઢ) Xcodeͷόʔδϣϯ؅ཧ ɾxcodesͱ͍͏πʔϧͰXcodeͷ؅ཧ͕Ͱ͖Δ͚Ͳɺ ެࣜͰग़དྷΔΑ͏ʹͳͬͯ͘ΕΔͱخ͍͠ʂʂʂ

  25. (୤ઢ) αʔόαΠυSwiftຊ֨࢝ಈʂʁʁ ɾLinuxʹରԠ͢Δͬͯݴͬͯͨؾ͕͢Δɻ ɾαʔόαΠυSwiftຊ֨తʹ࢝ಈ͢ΔͷͰ͸ʁ എܠͱಉԽͪ͠Όͬͨ…

  26. ·ͱΊ ɾ(ݱ࣮తͳͱ͜Ζͩͱ) ඇಉظॲཧͱδΣωϦΫε͸େ͖͘ Ξοϓσʔτ͕ೖΓͦ͏ɻ ɾϝλόʔε΋࿩୊ͳͷͰɺARKit΋ؤுͬͯ΄͍͠ʂ ɾαʔόαΠυSwiftຊ֨తʹ͘Δͧʂ

  27. iOSΤϯδχΞઈࢍืूதʂʂʂ