try! Swift 1日目個人まとめ

初めにまとめサイト紹介

スライドの写真もある速記まとめ

全日程の資料まとめ

クラスメソッドさんのまとめ

個人まとめ

"Swiftのエコシステムに飛び込む" : "Dive into Swift Ecosystem"

レポート

  • エコシステムに貢献する段階
    • 使う。
    • Git HubならStarを付ける。
    • 同僚への紹介やSNSで共有する。
    • ISSUEを立てたり、質問する。
    • 質問に答える。
    • pull requestを出す。

まとめ

  • 次の話をされていました。
    • Swiftオープンソース化された話
    • 開発、デプロイ、CIなどのオンラインサービスの話
    • 開発者ツールの話
    • エコシステムに貢献する話

"実践的クロスプラットフォームSwift" : "Practical Cross-Platform Swift"

レポート

  • 開発環境の3パターン
  • Cross-Platformを前提に開発するならXcodeに依存していない Swift Package Manager がお勧め。
  • 見えないところでのobjcランタイムへの依存などがあり、Linux環境では注意が必要。

まとめ

  • Cross-Platform上でSwiftを使う話をされていました。
  • Linux環境ではまだまだ罠があるので辛そうでした。

"コードリーディングについて" : "Learning to Read Again"

まとめ

  • 知らないコードを人はどのように読むのか話されていました。
  • 知らない人がコードを読み理解できなかった時に、どのような情報が欠けているかヒアリングして情報を洗練させていくと良いそうです。

"📺(AppleTV)"

レポート

  • iOSとTVOSは似ている。diffもAppleが出している。
  • TVOSに足りないもの。
    • WebKit: OAuthができない。
    • LocalStorege: 500KBのUserDefaultsのみ。
  • TVOSにはforcusという概念がある。

まとめ

  • TVOSの紹介でした。iOSアプリをTVOSに移植した話もありました。

"平常心で型を消し去る" : "Keep Calm and Type Erase On"

レポート

  • Swiftには共変性がない。

まとめ

  • 型とはそもそも何かという話をした後で、型が消え去ってしまうケースを紹介されていました。
  • 実装で遭遇するケースは少ない気がしますが、具体的なコードについてはまとめページにあるスライドを見るかこちらの解説記事を見てください。

"Swiftのエラー処理についての三つの話" : "Three Stories about Error Handling in Swift"

まとめ

  • 他の言語(C,Javaなど)との比較を交えながら、Swiftのエラー処理パターンがそれらの特徴とともに紹介されていました。
  • 発表で使われていたコードは↓にあります。 http://koherent.org/tryswift/codes.html

"プロトコルと約束の地" : "Protocols and the Promised Land"

まとめ

  • Swift-objc間での制約、SwiftGenericsの制約について紹介されていました。

"文化を調和させる" : "Blending Cultures"

まとめ

  • OOP.FP,POPの文化を調和させたコードを紹介されていました。
  • 既存のコードをリファクタリングしていく形での発表だったので非常に分かりやすかったです。
  • 既存のコードではCellのMove処理が複雑だったのですが、immutableなオブジェクトにし、(関数型プログラミングっぽく)実装しなおしたことで非常にコードの見通しが良くなったところが印象的でした。

"Core Animationで作る高度なグラフィックス" : "Advanced Graphics with Core Animation"

まとめ

  • Core Animationについて紹介されていました。
  • Animationを作る際に便利なツールも紹介されていました。ツールの中には標準アプリをハックするツールも紹介されていました。

"スマートホームのためのコード" : "Code for the Smart Home"

まとめ

  • HomeKitについて紹介されていました。

"目に見えないものを学ぶ" : "How To Be Invisible"

まとめ

  • 非常に難しい内容でした。
  • おそらく、ユーザの目に見えていない潜在的な課題を学び、解決するアプリを作っていこう、またそのアプリは中毒性があるもの(Digital Crack)であってはならない。という内容だったと思います。

以上です。