try! Swift 2日目個人まとめ
初めにまとめサイト紹介
スライドの写真もある速記まとめ
全日程の資料まとめ
クラスメソッドさんのまとめ
個人まとめ
"実践的 “Boundaries”" : "Boundaries in Practice"
レポート
- BoundariesはFunctional Programingでよく参照される内容。
- Boundaries:堅実と流動的の境界をバランスよく見極める。
- 例えば、UIKitやNetwork周りなど、全てをFunctionalにすることは出来ない。
- Coordinatorsを使った設計について紹介。
- 質疑にてCoordinatorsはViperアーキテクチャのワイヤーフレームに当たるという意見が出た。
- 今回の発表のCoordinatorsを使った設計ではStoryboardを使っていない。
- Coordinatorsを使いつつ、Storyboradを使うライブラリも紹介されていた。
まとめ
- 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
- ユーザとオブジェクトの関係
- アフォーダンス(wikipedia)
- Signifiers
- Mapping
- Xcodeのフォルダ構成で伝えることが出来る。
- Constraints
- Swiftの型システム。
まとめ
"モダンCore Data" : "Modern Core Data"
まとめ
"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を使ったコードの機能追加、リファクタリングをライブコーディングしていました。
以上です。