イベントページ
PlaygroundでカスタムUIのプロトタイピング
発表者
milkit/ミルキット
iOS枠
eureka/couples iOS
@Milk_t
発表内容
AppStoreのバナーと同様な挙動をするカスタムUI
フルビルドで3-5分、インクリメンタルで1分
空プロジェクト作って実験してた
-> Playgroundつかったら楽なんじゃね?
PlaygroundはSwiftのコーディング環境
XCode 7.3からタッチイベントも処理してくれるようになった
Q。アニメーションも見れる?
OK
Q. AutoLayoutも効く?
OK、たまに動かない
Q.ViewControllerの繊維もOK?
OK
まとめ
Xcode7.3から実用的になってきたので使ってみるのもアリ
eurekaでSwiftのスタイルガイド出してる
API仕様書をいい感じに管理する
発表者
yuyakaido/ゆーやかいどー
Android枠
@yuyakaido
Androidチームリーダー
テストおじさん
発表内容
よくある例
- Github wiki
- Google Spreadsheet <- カップルズはこっち
仕様書のあるある問題を抱えてた
よくあるサービス
- Apiary
- Swagger
Apiary
- Markdownっぽい感じで書ける
- API Blueprint
- モックサーバの作成可能
Swagger
- Yamlっぽい感じで書ける
- OpenAPI
- モックサーバの作成可能
Swaggerのほうが少し高機能
クライアントコードの生成が可能、GoogleやMSがSwaggerベースでいろいろやってる
クライアントコードはレスポンスの入れ物クラスを自動的に作ってくれる
まとめ
- wikiとかSpreadsheet管理はつらみ
- ApiaryやSwagger使うと少し幸せになるかも
- Swaggerが今後のスタンダードになりそう?
Debug Remote / Local Notification on watchOS
発表者
shingt/しんじーてぃー
iOS枠
@shingt
発表資料
発表内容
けっこうコンポーネントが多いのでRemote or Localを解説
デバッグで困った
リモート、ローカルで実機、シミュレータ上でどうするかのお話
Remote
シミュレータ上は簡単
Xcodeに予め用意されてるから困らない
Local
簡単にテストする仕組みが無い
デバッグ時にRemote、プロダクション時にLocalにしようとしたら引数の違いがあり簡単にテストできなかった
間にラッパーオブジェクトを用意した
実機上でのテスト
Remoteと違って送りにくい
iOSとおんなじような感じで
Sleep状態にしないと通知が来ない
まとめ
Remote:簡単
Local:工夫が少し必要そう
Chrome Custom Tabs を導入した話
発表者
shihochan/しほちゃん
Android枠
@shihochandesu
サイバーエージェント
Spotlight
キュレーションメディア
発表内容
導入までの経緯
記事をネイティブで作りなおしてほしいと上司からのお願い
引用記事で外部リンクが多い
→WebViewつらい。Chromeにすると別アプリ立ち上がってる感があるまくり
内部コンテンツのようにWebページをChromeで開くことができる
v23.1.0~
min: 15
chrome: v45~
条件を満たさないと標準ブラウザで開く
Chrome Custom Tabs早い
CustomTabsIntent.Builderを作る
メソッドでいろいろと設定できる
pre-fetch
chromeリポジトリのhelperが便利
Tabbyがわかりやすい
SecondaryToolbar
v23.2.0~
下に最大5つまでアクションボタンをおける
chrome:v49
条件を満たさないと何も表示しない
→なので追加しておいて損は無い
あとからADDしたものが右に来る
スクロールと連携して自動に隠れない
RxSwiftのDriver
発表者
Motoki Narita
iOS枠
@mo_to_44
発表内容
Driverを知る
Units
日本語訳を書いてる人がいる
RxExampleのソースを読む
GitHub Signup
DriverとObservablesの2パターンのサンプルがある
コード見ながらDriverじゃないパターンとDriverのパターンを比較
8/20 iOSに開発者向けイベントがある
広告SDKのお話
発表者
Shigeki Yamato
シゲキヤマト
Android枠
@heki1224
発表内容
vvakameさんのSDKディスのツイート
みんな自前アプリに広告SDK入れてるし、入れてアプリが不安定になってる
SSP
Ad Network
DSP
純広告
みんなSDKがおんなじに見える理由
広告商品が標準化されてる
ネイティブ広告
- アプリの一部のような広告
動画リワード広告
- 動画を実際に流して広告する
Swiftにわか勢な自分がMacアプリを作ってRxSwiftを使えるようになった話
発表者
y.imajo/イマジョウ
iOS枠
@yimajo
stargzr
発表内容
ハッシュタグをおって画面上にツイートを流してくれるアプリをRxSwiftで書いた
http://github.com/yimajo/MeetupTweet
発表時にマルチディスプレイ対応してないとメインで出ても意味ない
クラッシュ時にもわかるように60秒に1回赤文字を出してる
RxSwiftの解説
merge
レイヤード風アーキテクチャ
AndroidScreenMonitorのアンチパターン
発表者
tarotaro
Android枠
@tarotaro4
発表内容
Windows編
jarをexe化する
Launch4j
jreのインストールは必要
Vysor(Bata)が最近のはやり
休憩
必死に前半の内容をまとめる
お腹減る
Repository pattern in Swift
発表者
naoty/なおてぃー
iOS枠
発表内容
リポジトリパターン
- リポジトリとは、データの取得、保存、削除のためのインターフェース
- リポジトリを使ってデータにアクセスする
- どこにデータを保存しているかは知らなくて良い
問題点
- データへのアクセスが非同期
- クエリやソートはどうやって指定するのか
- バックエンドに若干依存する?
- リポジトリが増えたらコピペが増えそう
Promise
モデルじゃなくてタスクを返すようにする
naoty/AnyQuery
中間オブジェクト
汎用的なリポジトリ型を定義する
- 型消去
応用例:キャッシュ
CQRSの考え方をモバイルに適用してみる
発表者
kgmyshin/(自分でもなんて呼んで良いかわからない)
Android
発表内容
CQRSとは?
コマンドクエリ責務分離
コマンドクエリ分離
「GETメソッドの中でUPDATEをするなみないな話」
EventSourcingありきで語られる
コマンド側とクエリ側を初めから分けて考える
Write系とRead系を分ける
設計がすっきりする
クイズとかゲーム系のReadしたものを加工する系は不向き
tvOS tips
発表者
koutalou/コウタロウ
iOS枠
iOS Clean Architecture
発表内容
MFのApple TV版
Traditional Apps
- ネイティブ、iOSのコードを流用できる
- MFはこっち
Client-Server Apps
- TVML、JSを使ったWebアプリケーション
- コンテンツを動的に変更できる
Parallax Effext
画面構成
- TabBaerControllerは上部に配置
- 戻るボタンはナビゲーションバーに置けなくてタイトルだけ
フォーカス
- Siri Remoteのタッチ部分をスワイプで選択を帰る
- スワイプの延長線上に移動するから配置に注意が必要
ストレージの制限
- アプリは200MB以下
- 重要なデータは保持しない
WebView非サポート
CocoaPods
文字入力
- とにかく難しい
- 以下に文字入力させないかがポイント
基本的なレイアウト
- 画面両端は指定のスペースが必要
- など
3種類の画像が申請時に必要
CI
非対応
- fastlane
- deploygate
対応 - crashlytics
- testflight
Building apps using CustomViews
発表者
KeithYokoma/キースヨコマ
Android枠
発表内容
Fragment
- ライフサイクルが多い
- デバッグ辛い
- Fragmentが非同期で動く
- Viewのロジックとかビジネスロジックがゴリゴリ入ってくるからテストしずらい
Square
Presenterがビジネスロジック
Mortar and Flow
Scoop
...
Flow
アクティビティ1個
バックスタック
Mortar
Activity
PathContainer
Path
CustomView
○アクティビティがServiceにも置き換えれる
△非同期処理が未だある
☓マテリアルデザインのサポートが不十分
国際カンファレンスに登壇する - 応募編
発表者
shu223/シューツツミ
iOS枠
@shu223
発表資料
発表内容
UIKonf
iOSCon
で発表する
招待枠じゃなくて、応募して審査して遠た
なぜ応募したか?
メリット
ログに残る
英語でググッて来て見つかる入り口になる
著名な常連スピーカーの方々に自分の話が届く
海外から仕事くるかも
別のカンファレンスでも呼ばれるかも
海外に行けることが嬉しい・楽しい
航空券代が出る
英語を必死で練習する機会になる
経歴にも書ける
CFPをどう見つけたか?
ググる
Lanyrd:まとめサイト
カンファレンス常連者のサイトを見る
talks/speakingみたいなページを見る。登壇予定があることもある
CFPは見つけづらい、CfPなしも多い
カンファレンス常連者をリストにいれてウォッチ
Proposalをどうやって書いたか
話したいネタを棚卸し
過去のカンファレンスの登壇内容を見てみた
歓迎されるっぽいTALK
スピーカーがその分野で十分な経験がある
その人ならではのバックグラウンドが生きる話
体系立てて話せる
AppLaunchChecker
発表者
magiepooh/まぎーぷー
Android枠
発表資料
発表内容
v23.3.0で追加された
ホーム画面から起動されたかをチェックできるAPI
SharedPreferenecesにインテントのアクションとかカテゴリを見てるだけ
一度書き込まれてTrueになると消せない
過去に1度でもランチャーから起動したことがあるかをチェックするAPI
どこでつかうのかわからんAPI という結論
iOS Universal Linkについて
発表者
TachibanaKaoru/たちばなかおる
iOS枠
ボルダリング4級
発表内容
自分のアプリや他のアプリを起動するスキーム
ドメイン名でスキーム管理するからかぶらない
意識高いアプリはダメ
アプリも開けるけどもSafariでも開けるリンクがある
懇親会
こにふぁーさんの顔とアイコンが一致した