[速報レポート] try! Swift TOKYO 2017 1日目 午前II #tryswiftconf

はじめに

try! Swift TOKYO 2017の午前最後のセッションが始まりました。
tryswift-am2

「SwiftのPointy Bits」 Nate Cookさん

概要

 Swiftは、強い型付け、値セマンティクス、および自動メモリ管理により、安全性を提供しながらも優れたパフォーマンスを提供しています。これらの境界の外に出なければいけない場合でも、Swiftはメモリを直接割り当てて操作するツールも提供しています。 このトークでは、Swiftのポインタについてのすべて(型付けされたポインタと生のポインタとバッファ、暗黙的なブリッジングとキャスト、および安全でないAPIを使用しても安全を保つための秘訣)を説明します。

スライド

スライドは後ほど添付いたします。

説明

  • ポインタについて注意すべき点を話します
    • 安全なやり方で型を使う
  • Swiftを安全にしているのはなにか
    • Crashする言語は安全か?
    • 何からの安全を守るのか
    • Crashしないと、何か問題があっても不具合を検出できない。
    • Swiftは予期せぬ振る舞いから守る
  • UnsafeAPIを利用すると、言語仕様を超えて、ポインタを自分で使用する
  • プログラムで作成するものは任意のメモリに格納される
    • UnsafePointerを使えば、ポインターへのアクセスを可能とする
  • Unsageな4つの異なるタイプ(UnsagePonterTypes)について
  • Rawポインタ
    • Intのポインタであれば、Intのポインタを返す
    • 型付のポインタはロケーションタイプを把握している
  • MutablePointer
  • BufferPointer
    • Collectionのような振る舞いを行う
    • 標準的なコレクションとして作用する
  • Importaed C APIで利用する
    • SKSearchFindMatchers などのCの関数で引数から値を受け取る際などに利用する
  • 最適化は可能
    • スピードと安全性のトレードオフがある

「アプリを新次元に導く3D Touch」 Meghan Kaneさん

概要

 この講演では3DタッチAPIで何ができるか?そして3DタッチAPIを使うベストプラクティスを学びます。元々どのような機能があり、iOS10でどのようなカスタマイズが加えられたかを見ていきます。クールな事例を通してあなたのアプリを3Dタッチに対応させる方法を探っていきましょう。

スライド

スライドは後ほど添付いたします。

サンプルコードも後ほど添付いたします。

説明

  • 3D Touchについて
    • iOS 9以降、iPhone 6s以降
    • Apple は開発に5年の歳月を費やしている
    • なぜ使うのか?→ユーザーがアプリの中にたどり着きたい機能に早く着く
    • AppStoreでの可視性も向上する
  • Caribu Appというアプリを作成して実際にデモを開始
    • Home Screen Quick Action
  • Static Quick Action
    • dynamic Quick Action
    • static Quick Action
  • Widget
    • iOS 10以降
  • Peak & Pop
    • 先ほど見た内容をプレビューする
  • Fouce touchに似た機能を提供すべきか?(下位互換)
    • 以前からあるLongPress機構を利用する
  • Custom UIPreviewInteraction
    • 押された時間を0.0 - 1.0の値で取得
  • iOS 10 Notificationsはパワフルなのと、コストも低いので利用したほうが良い
    • ユーザーにタイムリーな情報を通知で提供できる
    • 実現にはUNNotificationContentExtensionの1メソッドを実装する必要がある
  • 様々な方法で3D Touchを実現する方法を伝えました

「Pixcels、プロセスと情熱」 Rikke Møller Koblauchさん

概要

この講演では、プロダクトを作るようになる際に中間の要素について説明します。 結果ではなくプロセス、そして情熱と人を駆動力にすることに焦点を当てます。私は最新の個人的なプロジェクトと、どのように解決策ではなく問題に恋するようになったかをお話しします。

スライド

スライドは後ほど添付いたします。

説明

  • 目に見えるものは(色など)UIと言われる
  • 数ヶ月の冒険からの学びを共有します
  • 数名のチームから全く何もないところからプロダクトを作成した
    • 暴露療法というのを手助けするアプリ
  • 技術を使って人を何か変えられるのか、モチベーションがあった
    • 研究として自分自身の発見をブログにしたりなどして発信した
    • 技術というのが実際の世界でどう役立っていくのか
  • メンタルヘルス、テクノロジーに興味のあるデベロッパーと出会うことができた。
    • STEPSというアプリの開発を開始した。
  • 専門家(メンタルヘルス)の力もこれから是非借りたい
  • 解ではなくで課題に忠直する
    • とにかく解決策を探す
  • テクノロジーではなく人が難しい
    • 自分自身や相手のモチベーションを保たせるのが大変
  • 自分のコネを生かす
    • 他の人の協力を仰ぐ
  • ハッカソンなどのイベントで出会った人との出会いを大事にする