try! Swift 2017 Tokyo 参加レポート

  • 9
    いいね
  • 0
    コメント

try! Swift 2017 Tokyo 参加レポート

感想

  • 新しいアプリだけでなく大きめの会社の規模の大きいアプリでもObjective-CからSwiftへの移行が進んでいるので、まだSwiftに移行していないアプリは移行し始めた方が良い。

  • テスト自動化については地道にユニットテスト書いて理想的なテストピラミッドの状態にプロダクトを持っていくことが望ましい。

  • Cross Platformは難しい。Swift, Kotlinで別々に書いた方がCross Platform で書くより結局のところ簡単そうな印象をうけました。Cross Plarformしたい場合はreact-nativeがアプリによっては良さそう。

  • ML 機械学習はアプリ開発者が利用してアプリ作りに活かしていく段階に入ってきたように感じました。MLを利用するのか、サーバから取得するのが最適な設計なのか考えながらアプリを作って行かないといけないのかなと思いました。

  • サーバサイドにSwiftを採用するというのは、挑戦してみても良いかなと思いました。

概要

  • try! swift 2017 Tokyo
  • スケジュール
  • SlackとTwitterでコミュニケーションをとる
  • https://www.eventbrite.com/ を使ってチケット認証する
  • https://twitter.com/hashtag/tryswiftconf
  • 朝食はクッキーと餡子のパイとバームクーヘン
  • コーヒー飲み放題
  • Tシャツとシールは色々もらえる
  • 日英同時通訳
  • 昼ごはんの弁当あり
  • カンファレンスの会場に個人PC用の電源はないので電池で頑張る
  • モバイル用のバッテリーは貸してくれる
  • 懇親会が豪華
  • ハッカソンは別会場

3/2

10:00 - Swift開発者が知りたかったけど聞きにくい機械学習のすべて

MLはアプリ開発者が利用できるまでになってきた。
MLを使うのは難しくない。
MLをうまく使って作れたなど評価するのは難しい、なぜならUI designを作るのに似ているから

10:20 - Swift on Android

iOS : NavigationController & ViewController
Android : Activity

Swift on Androidという名前に惹かれて、このセッションを楽しみにしていましたが、SwiftでAndroidアプリを作ろうなどと思わない方が良いということを思い知りました。

11:40 - SwiftのPointy Bits

Swiftのポインタについて
何が安全で、何が安全ではないか
0で割るとクラッシュする

12:05 - アプリを新次元に導く3D Touch

12:30 - Pixcels、プロセスと情熱

アプリを使って何かできないか?
テクノロジーが大変なんじゃなくて、人々が大変なことが多い。
ものづくりの一番大変なのは、自分自身のモチベーションを維持することです。
ネットワーキングしましょう。
人の力を借りましょう。
居心地の良い場所から出て刺激を受けましょう。

14:30 - 毎日リアクティブ

14:55 - ⚡️🎤 Unsafe Swiftの安全性

15:05 - クックパッドアプリのテストを味わう

テストエンジニア
理想のテストピラミッド

Test Pyramidで画像検索するとすごく良い

https://www.google.co.jp/search?q=Test+Pyramid&rlz=1C5CHFA_enJP729JP729&espv=2&biw=1403&bih=798&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjI5dz3o8TSAhVKf7wKHV4WDkIQ_AUIBigB&dpr=1#imgrc=_

https://www.sealights.io/wp-content/uploads/2017/01/automatedtestingpyramid.png

手動の目視テストが大半をしめてたりするのだけれど、理想に近くためには、1行ユニットテストを書き始めることが大切なんだと思いました。

15:25 - ⚡️🎤 データレイヤを分離する

15:35 - UIをSwiftyに書く

https://github.com/robb/Cartography

viewの記述が楽になりそう

16:30 - SwiftのWeb APIとアプリをともに構築する

16:50 - ⚡️🎤 楽しく便利なSwiftチャットボット

17:05 - Realmを使ってコラボレーションアプリを作る

17:30 - 独自のツールを構築する

Cross Platform

18:00 - ⚡️🎤 リアルタイム物体検出アプリでよりよいフィードバックを提供する

18:10 - ⚡️🎤 UXエンジニアという働き方

3/3

10:00 - テスト可能なコードを書くということの2つの側面

10:20 - 誰もが知りたいSequenceとCollectionのすべて

Sequence
IteratorProtcol
LinkedList
let = ["A", "B", "C"]

Each Pair

"A" "B" "C" "D"
("A", "B") ("C", "D")
シーケンスのコピーをして参照わたしをする
sequence.eachPair

Collection
Inherits from Sequence
Always infinite

protocol Collection {
  var startIndex: Index
  var endIndex: Index
  subscript(position: Index)
}

func forEach(_ block: (Element))

struct APiErrorCollection {
  fileprivate
}

11:30 - 様々な場面でSwiftを使う

11:50 - ⚡️🎤 VRの革新と新たなユーザー体験

12:05 - iOSにおけるDocument IndexingとApp Search

12:30 - スタートアップのSwift

14:30 - きちんと型付けされたメッセージ

14:50 - ⚡️🎤 忙しい人のためのApp Transport Security

15:05 - Swiftで堅牢なカラーシステムを構築する

15:25 - ⚡️🎤 サーバサイドSwiftの実例

15:35 - モックオブジェクトをより便利にする

16:30 - チームの生産性を改善するために決断疲れを最小化する

16:50 - ⚡️🎤 Client-Side Deep Learning

17:30 - オープンソースコミュニティをスケールさせる

17:05 - Swiftでのエラーハンドリングとエラー耐性についての教訓

18:00 - ⚡️🎤 👾 & ⌚️

https://speakerdeck.com/giginet/and

18:10 - ⚡️🎤 なぜ登るのか

速報レポート 1日目

http://dev.classmethod.jp/smartphone/try-swift-tokyo-2017-1st-day-am1/

http://dev.classmethod.jp/smartphone/try-swift-tokyo-2017-1st-day-am2/?utm_source=dlvr.it&utm_medium=twitter

http://dev.classmethod.jp/smartphone/try-swift-tokyo-2017-1st-day-pm1/?utm_source=dlvr.it&utm_medium=twitter

http://dev.classmethod.jp/smartphone/try-swift-tokyo-2017-1st-day-pm2/?utm_source=dlvr.it&utm_medium=twitter

速報レポート 2日目

http://dev.classmethod.jp/smartphone/try-swift-tokyo-2017-2nd-day-am1/?utm_source=dlvr.it&utm_medium=twitter

http://dev.classmethod.jp/smartphone/try-swift-tokyo-2017-2nd-day-pm2/?utm_source=dlvr.it&utm_medium=twitter

その他の参加者のレポート