try! Swift 2日目個人まとめ

初めにまとめサイト紹介

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

全日程の資料まとめ

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

個人まとめ

"実践的 “Boundaries”" : "Boundaries in Practice"

レポート

まとめ

  • Functional ProgramingでiOSアプリを作る方法としてCoodinatorsが紹介されていました。

"プロトタイピングの魔法" : "Prototyping Magic"

レポート

  • iOS7からアニメーションがなくなり、魔法がなくなってしまったように感じる。残念な変化。
  • SkeuomorphismとInteractionは異なる。
  • プロトタイピングにPlaygroundは最適。

まとめ

  • 意図を持った魔法のようなanimationは必要で、そのプロトタイピングにPlaygroundは最適だと紹介されていました。

"プロトコルエクステンション: 歴史について" : "Protocol Extensions: A History"

レポート

  • こんな感じの流れでした。
    • コードを共通化する方法としてClass継承が発明された。
    • 単一継承では共通化出来ない部分があり、複数継承すべきだと考えた。
    • ただし、複数継承では名前の重複があった場合に問題になる。
    • ダイナミックディスパッチで解決しようとしたがだめだった。(ここよくわかっていない)
    • 実装を持たないprotocol/interfaceが発明された。
    • protocol/intefaceは実装を持たないので複数継承して名前が重複しても問題ない。
    • Swiftではprotocol extensionでprotocolに実装を持つことができる。
    • protocol extensionは強力だが名前が重複すると同じ問題が発生するので注意が必要。

まとめ

  • プログラミングの歴史を振り返って、protocol extension はどのような問題を解決しようとしていて、まだどのような点に気をつければならないか紹介されていました。

"Building Women Who Code in Tokyo"

レポート

  • 初心者へのアドバイス。
  • ゴールを設定する。
  • とりあえず行動する。
  • 初心者を排除するコミュニティは発展しない。

まとめ

- エンジニアではなかった発表者が Women Who Code in Tokyo を運営してきた話をされていました。

"Swift版「誰のためのデザイン?」" : "The Design of Everyday Swift"

レポート

デザインの7つの原則

  • Discovarability
    • 見つけやすくする。
    • アクセス修飾子を適切に。
    • Futureをわかりやすく。テストコードを書くのも良い。
  • Feedback
    • Compileエラー、テストコードの失敗などでFeedbackする。
    • ランタイムエラーは処理が実行されないとわからないから良くない。
  • Conceptual Model
    • 概念モデルをわかり易い言葉で伝えられるようにする。
  • Affordances
  • Signifiers
    • 実現可能な方法を感覚で表現する。
    • Swiftのアクセス修飾子やclass/struct/enumなどで表現する。
  • Mapping
    • Xcodeのフォルダ構成で伝えることが出来る。
  • Constraints
    • Swiftの型システム。

まとめ

  • 将来の自分、他のデベロッパーをユーザとして、ユーザのためデザインの原則をSwiftコードにも適用した場合、どのような点に気をつけてコードを書くべきか紹介されていました。

"モダンCore Data" : "Modern Core Data"

まとめ

  • CoreDataに限らず、既存の古いAPISwiftらしく使いやすくする具体的なコードが色々紹介されていました。
  • 詳細はスライドで確認して下さい。

"SwiftコンパイラとLLDBの連携" : "Swift compiler integration in LLDB"

レポート

  • LLDBの中にSwift Cpmpilerがある。
  • breakpoint に詳細な設定が出来る。

まとめ

"ライブラリの開発" : "Creating a Library"

まとめ

  • マルチプラットフォームに対応したライブラリのbuildの設定やテストコードの書き方など、コード周りの設定、書き方について紹介されていました。

"Protocol-Oriented Programming in Networking"

レポート

発表で使っていたコード

まとめ

  • 次の3Topicについて紹介されていました。
    • protocolを使って処理を抽象化。
    • ptorocolに制約を与えてDefault実装を与える。
    • Rxを使って、イベントも抽象化。

"ライブデザイニング:?? " : "Live Design:?? "

まとめ

  • Sketchを使ってアプリのアイコンをライブデザイニングしていました。

"SwiftらしいTable View Controllerの使い方" : "Table View Controllers in Swift"

レポート

  • initにconfingを渡して、振る舞いを制御するcofigurationパターン。

まとめ

  • generic, didset, struct などSwiftの特徴的な機能を使用して、TableViewControllerを使ったコードの機能追加、リファクタリングをライブコーディングしていました。

以上です。