iOSDC 2016にて発表してきまして、そのフォローアップ記事です( ´・‿・`)
発表直後に、こちらのMedium記事も書きました。
iOSDCで発表してきました「Swiftのこれまでの動向のまとめと 今後のさらなる発展の期待」 - Medium
(公式ロゴをごにょごにょして作った改変ロゴ(問題あれば消します))
発表内容
タイトル通り、Swiftのこれまでと今後について、15分で俯瞰出来る内容だったと思います。
こちらがスライドです:
発表動画は https://youtu.be/hkaX4274N9w?t=4h57m44s で見られます。
自作のLINEクリエイターズスタンプを駆使しています( ´・‿・`)
スライドの犬(ラヴさん)は、LINEクリエイターズスタンプになっているので、ポチっていただけるととても喜びます🙇 がんばって40種類描きました( ´・‿・`) #iosdchttps://t.co/w01zrdYSfF https://t.co/LEkKs6JJ1I
— M Ono (@_mono) August 20, 2016
また、今回の発表の、特にSwift 3以降に関連する情報が膨大でけっこう大変でした。
こういう主要なメーリス投稿・Proposal・https://t.co/s1m8t8j3kkなどを読み込みましたʕ•͡ω•ʔ#iosdc
— M Ono (@_mono) August 20, 2016
Swift 3の開発の振り返りとSwift 4の計画が記されたメールの紹介 https://t.co/27vMVk4oAL
スライドもプレゼンも、15分という時間制限が悩ましくてけっこう端折ってしまっていますが、今後別途記事などでフォローしていくつもりです。
Swiftコラム連載
発表のラストで紹介しましたが、Build InsiderでSwiftコラムを書いています。
詳しくはこちら:
Build InsiderでSwiftコラムの連載を始めました🎉 — Medium
今後の記事はあくまで予定ですが、こういうフィードバックいただけたりして、ありがたやです😋
第3、6、7回が特に良さそう。#iosdc #b pic.twitter.com/9KS8XzB5yx
— Kohei Tabata (@nerd0geek1) August 20, 2016
Qiitaとうまく使い分けつつ連載がんばります。
質疑応答
質疑応答は、 https://youtu.be/hkaX4274N9w?t=5h13m30s からのところです。
以下のページなど参照し、
- スピーカーのみなさまへ、お知らせとお願い | iOSDC Japan 2016
- 登壇初心者のみなさんへ · YAP(achimon)C::Asia Hachioji 2016 mid in Shinagawa
トーク終了後のQ&Aタイムでは質問者にもマイクを渡して質問してもらいますが、録画や配信には質問者のマイクの音声は乗らないことがあります。必ず質問を復唱してからの回答をお願いします。例: 「○○というご質問ですね。それは〜」
こちらは気を付けようと思っていたものの、実際けっこう難しくて出来てなかった部分もちょっとありました。(ご質問もやや難しめだった気が)
質疑応答のフォローアップ
当日うまく答えられなかった部分もあったり、分かりにくいところがあったりしたと思うので、フォローしておきます。
既存のSwift 2のコードをSwift 3にアップデートするのはいつ頃を目処にすれば良い?
Swift Programming Language Evolution: Proposal Statusで、Swift 3に入れたい内容はほとんど入っていて(入りきらないものはリリースから漏れるかも)、また今Xcode 8 beta 6で、あと1-2回でGM版(ほぼ正式版)がリリースされるはずなので、今対応してもこれからの追加対応の手間も少なくて良さそうです。
ただ、今Xcode 8対応したところでベータということでまだリリース出来ない問題もあります。
個人的にはXcode 7・Swift 2.2のプロジェクトから、1-2日程度あれば充分一気に対応出来ると思っているので、GM版リリース後に対応するのが効率良さそうです。
(Swift 3の理解度・プロジェクト規模にもよりますが)
新しくアプリを作る際は、Swift 3でOK?
今からであれば、そのアプリのリリースはXcode 8正式版リリース以降になると思うので、それが良いと思います。(今のbeta 6はなぜか不安定ですが🤔)
逆に3で不満な変更点は?
どうしてこの変更をしたのだろう?と思った時は、swift-evolutionリポジトリのProposalを見ると丁寧に、判断理由・他に検討した案など書かれていて、いつも納得させられているので、不満な変更点は無いです。逆に感心させられています。
メーリングリストを見ると、実際の議論を見ることも可能です。
賛否両論な提案については、見送られたり持ち越されたりしている感じです。
過去にリジェクトされた提案例も見ると、開発コミュニティのSwiftに対しての考え方がさらに分かると思います。
一番素晴らしい変更は?
特にSwift 3リリースに向けて「仮に今、一からSwift言語を作るとしたら、どういう仕様が望ましいか?」という視点で再考されていて、以下の仕様そぎ落としは素晴らしいと思いました。
- swift-evolution/0004-remove-pre-post-inc-decrement.md at master · apple/swift-evolution
- swift-evolution/0007-remove-c-style-for-loops.md at master · apple/swift-evolution
と質疑応答では言いましたが、他にも色々素晴らしいと感じる変更は多く、「一番」というのは難しいですね。
ちょっと違う観点だと、「2年間という短期間で(後方互換性を犠牲にしつつ)、高速に進化してきた」ということをすごく評価しています。後方互換性を犠牲にしてきたことで、開発者に負担強いることにはなっていますが、それも3-4で落ち着きますし、トータルで考えるとすごく効率良い進化を遂げてきているなと思っています。
Swift3の正しい書き方とか、ガイドになるようないいものありますか?
Swift.org - API Design Guidelinesが最重要です。Swift API Design Guidelinesの紹介(Swift 3版) - Qiitaも書きましたのでご覧ください。
サンプルコードは難しいですが、Appleのサンプルコードの比較的新しいものは良い気がします。
特にProtocol and Value Oriented Programming in UIKit Apps - WWDC 2016 - Videos - Apple Developerで紹介されていたLucidDreams: Protocol and Value Oriented Programming Sample Codeはお勧めです。(是非セッションを観ながら)
セッションだけでなく、Swift - Resources - Apple Developerの「Sample Code」で取り上げられているなど、Appleとしてもかなり推しています。
ただ、SpriteKitのSKNodeとUIViewを同じように扱える抽象化がされていて、UIViewのレイアウトをAutoLayout使わずにframe操作しています。そのため、実用的なサンプルか?というと微妙に思っていますが、それ踏まえて参考にするのは良いと思います👌
Apple謹製のProtocol・Value Orientedなサンプルコードヽ(・ω・`)
— M Ono (@_mono) July 14, 2016
LucidDreams: Protocol and Value Oriented Programming Sample Code https://t.co/pDIrlXNHpP
この質疑応答フォローアップ書くにあたり、iOSDC Japan 2016 参加メモ: B-9 Swiftのこれまでの動向のまとめと今後のさらなる発展の期待 - 絶品ゆどうふのタレにまとめていただいた内容がとても役立ちました、ありがとうございます🙇
iOSDCについて
けっこう情報が分散している感じがあったので、まとめておきました:
iOSDC 2016情報まとめ — Medium
個別の発表内容自体は、このあたりに網羅されていますヽ(・ω・`)
iOSDCの感想
とても良いイベントでした、ありがとうございました🙇
- 発表内容: 面白い
- お酒・ご飯: たくさん・おいしい😋
- 進行: とてもスムーズ
- 会場施設: WiFiも席も良い感じ( ´・‿・`)
- おみやげ: Tシャツとパーカーありがとうございました、愛用します🙇
この時間にして、初めてスピーカー優先席に座ったʕ•͡ω•ʔ快適過ぎるʕ•͡ω•ʔ #iosdc https://t.co/iPp1eB2OUb pic.twitter.com/01NZxadW38
— M Ono (@_mono) August 20, 2016
食事が豪華ʕ•͡ω•ʔ#iosdc https://t.co/oQ4XTuu2B8 pic.twitter.com/hMV6at3BlJ
— M Ono (@_mono) August 20, 2016
良いパジャマげっちゅʕ•͡ω•ʔ #iosdc https://t.co/giaAWF7iwF pic.twitter.com/N4pALceUhP
— M Ono (@_mono) August 20, 2016
パジャマ利用NGとのことで外出ʕ•͡ω•ʔ #iosdc https://t.co/DWz9qyudTa pic.twitter.com/QghILE5eKl
— M Ono (@_mono) August 20, 2016