try! Swiftに行ってきたよ
3月2日〜3月4日までtry! Swiftというカンファレンスに参加してきたのでそのレポートです。
いたるところに資料が上がっているので、個人的に気になったところや後で調べようと思ったところだけ箇条書き程度にまとめておきます。
Qiitaにありがたいまとめ記事が早速あがっていました。見返さなければ! qiita.com
参加の目的
iOS開発は去年ぐらいから始めて勉強真っ最中で、より良くアプリが作れるようになるために以下のことを聞ければと思っていました。
- 先端の人たちの開発スタイルやツールを学ぶ
- より深くSwiftを知るために次に何を学ぶべきか
- エンジニア - デザイナー間のやり取りについて
- その他偶然の出会い
1.ツールや開発スタイル
最近の案件ではXcodeのストーリボードをガシガシいじりつつ開発していたのですが最近では以下のようなツールがあるようです。
さくっと試す系
IBMがREPLを用意してくれているようです。
Swiftの文法を勉強した時に、わざわざコンパイルしていたので、今から文法を学ぶにこれさえあれば十分ですね。
swiftlang.ng.bluemix.net
アニメーションや簡単なUIはXcode付属のPlaygroundsでインタラクティブにコーディングしてアプリのコードにコピペするのが良さそう。
UIの高速プロトタイピング向け。
developer.apple.com
パッケージマネージャー
Swift Package Manaer
swift.org
CocoaPodsやCarthageを使っているけど、将来的にはSwift Packager Managerが標準となりそう。
アニメーション / UI
GPUのレイヤー構造を一覧できる revealapp.com
CoreAnimationを作る際に使える www.coreanimator.com
「UIKitで良いFPS出なかったらCALayerで頑張ってみよう」とのこと。
ドキュメントジェネレーター
2.次に何を学ぶべきか
Swiftの型の話
型消去以前にGenericsあたりから怪しい。 qiita.com
とりわけGenericsに関しては1日目のセッション「SwiftらしいTable View Controllerの使い方」のライブコーディングがめちゃくちゃ勉強になりました。
ほんとこれだけでも来た価値があったのではないかと思うくらい。動画あがらないかな〜
サンプルコード
trySwift · GitHub
POP(Protocol-Oriented Programing)
昨年末に仕事でSwiftアプリの大きな改修をしたのですが、今回のカンファレンスと順序が逆でPOP周りの勉強ができていたらもう少しエレガントな設計ができたのではないかと思いました。やはりProtocol Extensionの存在は強力でぐっと表現力があがりそうです。
あと、結構FP(Functional Programing)っぽくデモコードを書くセクションが多かったですね。JSでもそうだけどそろそろ勉強しないとまずそう・・・
3.エンジニア - デザイナー間のやり取りについて
毎回アプリを作る際に、デザイナーのすべての要望を表現しきれずにリリースしてしまうのでどうにかならんものかとい頭を悩ませてるやつです。(アプリに限らず)
Sketch使おう
覚える覚える詐欺してます。すいません。。
Sketch - Professional Digital Design for Mac
3日目の「デザイナーをSwiftのコードベースに巻き込む10の方法」というセッションの後にスピーカーの@helenvholmesさんと少し話したのですが、各々の企業のスタイルとはまちまちとはいえ、アメリカではデザイナーもコードを掛けるように、ないしStoryboardを触れるようになるといいねというトレンドらしいです。
ちなみに僕の妻が今カナダでデザイナーとして働いているのですが、デザイナーたちのミートアップにでると「なんの言語かけるの??」って聞かれることがしばしばあるそうです。
@helenvholmesさんからはこの本めっちゃ勧められました。 designcode.io
4. その他偶然の出会い
やけにポケモンの話題が多いと思ったら、ポケモンの技「スピードスター」の英名が「Swift」だったらしいですね。いつか、僕もポケモンネタでLTしてみたいところです。 togetter.com
まとめ
先にも書きましたがライブコーディング付きのセッションが多くて勉強になりました。上手い人がコードを書いているところを見るのって自分のレベルを引き上げてくれる最良の教科書のように思えます。
主催者の皆さん、実りある勉強会を本当にありがとうございました!!
よ〜し、勉強したいことも増えたし作りたいアプリもあるのでSwift書きまくるぞ〜!(๑˃̵ᴗ˂̵)و オラッオラッ