try! Swift初日に参加しました
2016年3月2日〜4日に渋谷マークシティで開催されているtry! Swiftという、世界中から著名なSwiftエンジニアが集まる500人規模のカンファレンスの初日に参加しました。
ちょうどSwift Tシャツ持っていたのでこんな格好で参戦しました( ´・‿・`)
Player!を作っているookamiがシルバースポンサーでチケットいただきました!
ハッシュタグはこちらです:
アプリも用意されていて便利です:
https://itunes.apple.com/jp/app/try!/id1083944488
オープニング
8時半開場で、8時45分くらいに行ったらまあまあ並んでいて、9時くらいにやっと入れました。
スタバのクッキーとコーヒーいただきました😋
10時まで説明アナウンス聞きながらまったり過ごしました(´-ω-`)
Tシャツもらえるの知らずちょっと焦りましたが、
次の休憩で無事ゲット( ´・‿・`)
Dive into Swift Ecosystem
トップバッターはCarthageコミッターのIkedaさんでした。
Swiftはこの2年のうちに非常に人気のある言語になり、いまやオープンソース化されました。エコシステムは日々拡大しており、Swiftをサポートするサービスが出てきたり、多くの開発者向けツールがSwiftで書かれています。講演ではそういったツールやサービスを紹介し、それらを使ったり、貢献することをお勧めします。大きなチャンスです
タイトル通りSwiftでの開発にまつわる各種ツールをなぞるような内容でした。
Carthageの読み方、日本語だとカルタゴで、英語だとカーシージみたいな発音でこういう国際的なイベントだとどっちで発音するか迷うなと思いました( ´・‿・`)
→と思っていたら質問タイムでその話題になって、どっちで呼ぶ派か質問があって大体半分に割れつつカルタゴ派がやや優勢、みたいな感じでした。
Practical Cross-Platform Swift
お次は、Realm開発者の https://twitter.com/simjp さんでした。
SwiftはApple以外のプラットフォームでも利用できるようになりました。iOSアプリ以外でも好きなようにSwiftを書けます。この講演では、CocoaやObjective-Cの機能を犠牲にせずに、クロスプラットフォームでSwiftを用いるときの実践的な書き方、テスト・デバッグ手法、について解説します。
DockerでSwiftビルドする話などありました:
Swift Package Manager(SPM)使いましょう( ´・‿・`)
クロスプラットフォームのビルドは、TravisCIが設定簡単で良いみたいです。
Learning to Read Again
新しいコードを読み解くことを、私たちはしばしば行いますが、それはエネルギーと時間を消費します。そこで、スラスラと新しい言語を読めるようにする方法と、進化に付いていく方法をお話しします。
英語の発音がキレイでした( ´・‿・`)
この単語の意味知らなかったです( ´・‿・`)
📺
新しいApple_TV向けの設計、開発方法の概要、tvOSのUIコンポーネント、フレームワーク、iOSとの違い、既存のアプリケーションを移植する方法を説明します。
iOSのNibファイルをtvOSのものに変換するgemが紹介されていました。
Keep Calm and Type Erase On
型を明確にすることがSwiftらしいやり方であると気づいた時、同時に時には型を消す必要があると分かります。この講演では、型とは何か、型を消すことが何を意味するか、なぜそうしたいかについて解説します。
この単語知らなかった( ´・‿・`)
ポケモンとジェネリクスなどのお話( ´・‿・`)
ランチ
Three Stories about Error Handling in Swift
今夜ご飯の約束している@koherさんの発表。
エラー処理は安全なコードを書く上で重要です。私のプレゼンテーションでは、主に私の経験と考えに基いて、また_`Error_Handling_Rationale_and_Proposal`_と_swift-evolution_のメーリングリストでの議論にも触れながら、_Swift_におけるエラー処理の論点を整理します。
英語での発表でした👏(日本語OKなのを初め知らなかった模様)
今日一番本格的な内容だった気がします( ´・‿・`)
量が多くてその場でのキャッチアップが難しいところありましたが、こちらにコードなどまとまっています:
今夜ご飯の約束
こちらのサービスの話など色々楽しくさせていただきました。(お手伝いするかも)
Protocol and the Promised Land
Swiftの設計はジェネリクスや第一級プロトコルなど言語の機能がアプリケーション開発のカギとなることを推進しています。しかし、Objective-Cから導入されたものを含む論理的パターンの多くは期待した通りには動作しません。多くの場合、Swiftの型システムは、プロパティをクラスとプロトコルの両方に拘束したりする素直なパターンとうまく動きません。この講演ではいくつかの課題に着目し、内部に潜む原因を議論し、対応策について考えます。
プロトコルと継承はミックスしないほうがいい
こちらの意見が同感でしたʕ ·ᴥ·ʔ
所用で以下の発表観られずだったので、ご紹介だけ:
Blending Cultures
Swiftでアプリケーションを書くということはObjective-Cで書かれたアプリケーションをただSwiftに書き換えるだけでなく、Swiftの特徴や哲学を受け入れる必要があります。この講演では、標準的なMVCで構成されたテーブルビューを使用したアプリケーションをSwiftに書き換えるところから始まり、よりSwiftらしいコードにするために、関数型プログラミング、オブジェクト指向プログラミング、デザインパターン、プロトコル指向プログラミングの考え方を適用していきます。
Advanced Graphics with Core Animation
iOSならアニメーションがUXに対してとても大事なことです。それでUIKitのAPIのおかげで実装するのが既にとても簡単です。しかし、UIKitの下のレベル、Core_Animationも利用したら、自分のアプリにもっとかっこよくて、もっときれいなアニメーションも可能性になります。このプレゼンテーションはiOSでCore_Animationの実装方法やエフェクトのデモンストレーションを説明します。
Code for the Smart Home
私たちはスマートテクノロジーの時代に生きており、スマートテクノロジーは家庭にも入り始めています。この講演では、Appleが提供しているスマートアクセサリのためのフレームワークであるHomeKitと連携する方法について解説します。この講演を聞いた後、家に帰ってすぐにスマートアクセサリを触りたくなるかもしれませんよ?
How To Be Invisible
特にモバイルにおいては、ほとんどの製品は2つの陣営に分類されます。時間かお金か、です。時間は”digital_crack”と捉えることもできます。それは予測不能な報酬による中毒性とも言えます。お金は、ユーザーがより効果的に、ときには最高のユーザー体験がまったくなされてないことがあります。私たちは目に見えないものを学ばなければなりません。
2・3日目は不参加ですが、発表資料観たりキャッチアップしていこうと思います(`・ω・´)