iOSDC 2017 day 1 午前 参加メモ
iOSDC 2017 1日目午前の参加メモです。
Auto Layoutのアルゴリズム
内容が難しすぎたので間違っている可能性があります。
- Auto Layout制約はレイアウト属性と関係性を定義する
- Auto Layoutは宣言的に記述でき、ビュー階層に依存しないなどの特徴がある
- Auto Layoutは等式だけでなく、不等式も扱えるため、連立方程式ではなく最適解を求める必要がある
- 線形計画問題。実行可能領域を定義しそれに別の式を与えて解を求めていく。例としては、生産計画問題など。
- 解法はシンプレックス法と内点法がある。
- シンプレックス法は差分更新ができるので便利
- ここでcassowary。いくつかの言語でサポートされている
- 数式の説明
- Zを小さくしていく
- x1はマイナスなので大きくするとZが小さくなる
- x2はマイナスなので大きくするとzが小さくなる
- シンプレックス法は外側の線に沿って最適解を求める
- シンプレックス法で最適解が求められない場合がある
- 2段階シンプレックス法を使う
- さらに効率的な方法として双対シンプレックス法がある
- cassowary+シンプレックス法
- レイアウトはマイナスの変数がある
- シンプレックス法を適用するためにマイナスを含む制約と含まない制約に分ける
- autolayoutは2つの属性の関係性のみ制約をつけるが、cassowaryは2つの属性のみではない
- cassowaryのライブラリを公開しているが業務では使わないほうがいい
両OSやるマンという選択
- レアジョブで両OSやってる方
- アップデートはAndroidのほうが頻繁に行っている
売れ方について
- 日本でもAndroidのシェアが増え半々くらいなってきている
- 中国はPlay Storeがないがシェアが高い
- Androidはストアの内容をほぼ全てABテストできる
- ランキングにソーシャルの影響が出る
作り方について
- デザインガイドラインが異なる
- Androidのマテリアルデザインガイドラインに「マテリアルはメタファーである」とあるがよくわからない
- クロスプラットフォームはキャリアとして怖いのでネイティブでやっている
- Androidの方は開発環境と言語の依存が少ない
- CI/CDはiOS/AndroidともにBitriseを使っている
- 簡単に使えるのでおすすめ
- AndroidはPlay Storeに上げるために一手間必要
作るものについて
- SwiftとKotlinの違いをさくっと
質疑
アプリエンジニアはどのように事業に貢献すべきか
- Fablicのチームリーダの方。アプリエンジニア6年目
- アプリチームは3人チーム
- どうやってユーザを喜ばせるか、ビジネスを成功させるか、これらを両立させるかについて考えている
- 自分が考える理想のサービス:ユーザと自分たちでポジティブなサイクルを回せるサービス
- ユーザが価値を感じ、その価値に対して対価を払ってもらえること
- 対価をもって、よりよいサービスを提供していけること
- FRILの価値
- ものの売り買いを安心してできることがもともとの価値
- 遠く離れた知らない人でも安心して売り買いができること
- フリマアプリはUIや機能性による価値は弱まっているのが現実
- このような環境でもアプリエンジニアとしてどうやって貢献していけばよいか
- ポジティブなサイクルがあるならユーザに喜んでもらうことが一番
- アプリの重要度はさがっているかもしれないが、サービス本来の価値をもとにアプリを改善していく
- サービスの価値をアプリにどう落とし込むかがミッション
- ユーザからみたFRILの価値
- アプリは手段でしかない
- アプリの機能だけではなく取引体験を良くしていく必要がある
- 自分たちで課題を発見して改善していく仕組みを頑張って整備している
- アクセスログやBigQueryにExportしたFirebaseAnalyticsの生ログをRedashからアクセスできるようにしている
- アプリの変更点をサポートチームに共有しサポートしやすいように