マルチブラウザやりました (dmm.study night)

68
マルチブラウザ やりました sugie takafumi

Upload: takafumi-sugie

Post on 14-Apr-2017

2.215 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: マルチブラウザやりました (DMM.Study Night)

マルチブラウザ やりました

sugie takafumi

Page 2: マルチブラウザやりました (DMM.Study Night)

アジェンダ

・自己紹介

・話の概要

・なにをやったか

・振り返り

Page 3: マルチブラウザやりました (DMM.Study Night)

自己紹介

sugie takafumi (@sssgggiii)

frontend engineer

and server-side

- i.Color co.,Ltd

- playing guitar, drums

Page 4: マルチブラウザやりました (DMM.Study Night)

話の概要

Chromeだけでプレイできるゲームを、

他ブラウザでもプレイできるようにした話

その時の苦労とか、知見とか

Page 5: マルチブラウザやりました (DMM.Study Night)

ここから内容

Page 6: マルチブラウザやりました (DMM.Study Night)

プロジェクト立上げ

マルチブラウザ対応して!

3人で1.5ヶ月で!

Firefox, Edge, IE11

Page 7: マルチブラウザやりました (DMM.Study Night)

プロジェクト立上げ

マルチブラウザ対応して!

3人で1.5ヶ月で!

Firefox, Edge, IE11

Page 8: マルチブラウザやりました (DMM.Study Night)

メンバー

フロントエンドエンジニア3人

全員マルチブラウザ対応未経験

Page 9: マルチブラウザやりました (DMM.Study Night)

溢れ出る不安

Page 10: マルチブラウザやりました (DMM.Study Night)

溢れ出る不安 本当にこの工数でできるのか?

Page 11: マルチブラウザやりました (DMM.Study Night)

溢れ出る不安 本当にこの工数でできるのか IEとかEdgeとかFFとかIEとか、ちゃんと動くのか?

Page 12: マルチブラウザやりました (DMM.Study Night)

溢れ出る不安 本当にこの工数でできるのか IEとかEdgeとかFFとかIEとか、ちゃんと動くのか?不安不安不安不安不安不安不安不安不安不安不安不安不安不安不安不安不安不安不安不安不

安不安

Page 13: マルチブラウザやりました (DMM.Study Night)

とりあえず動かしてみよう @開発環境Edge:それなりに動く!

Page 14: マルチブラウザやりました (DMM.Study Night)

とりあえず動かしてみよう @開発環境Firefox:チュートリアルで止まる!!

Page 15: マルチブラウザやりました (DMM.Study Night)

とりあえず動かしてみよう @開発環境IE11:ログインできない!!!!!!!!!!

Page 16: マルチブラウザやりました (DMM.Study Night)

え・・このPJやばくね?

Page 17: マルチブラウザやりました (DMM.Study Night)

え・・このPJやばくね?

Page 18: マルチブラウザやりました (DMM.Study Night)

怖くなってきたので 予防線を張ろうOKとするライン=最低ラインを決める

→えらい人と

・動作止まらないこと

・ゲームの進行に支障をきたさないこと

Page 19: マルチブラウザやりました (DMM.Study Night)

そして 当面の目標をたてた全ブラウザでチュートリアル突破!

Page 20: マルチブラウザやりました (DMM.Study Night)

チュートリアル突破への道

まずは「動作しない」系のバグ対応

Page 21: マルチブラウザやりました (DMM.Study Night)

チュートリアル突破への道

IE11ログインできない問題

別ドメインからのCookie受け入れが拒否

コンパクトポリシーをHTTPヘッダに追加で解決! http://www.ark-web.jp/sandbox/wiki/240.html

Page 22: マルチブラウザやりました (DMM.Study Night)

チュートリアル突破への道

IE11ログインできない問題

別ドメインからのCookie受け入れが拒否

コンパクトポリシーをHTTPヘッダに追加で解決! http://www.ark-web.jp/sandbox/wiki/240.html

Page 23: マルチブラウザやりました (DMM.Study Night)

チュートリアル突破への道

Firefoxチュートリアルで止まる問題

指定のanimation-nameが無いと怒られている

クォーテーションで括られてると認識できない→クォート外して解決!

http://kuroanco.hateblo.jp/entry/20130929/1380407952

Page 24: マルチブラウザやりました (DMM.Study Night)

チュートリアル突破への道

Firefoxチュートリアルで止まる問題

指定のanimation-nameが無いと怒られている

クォーテーションで括られてると認識できない→クォート外して解決!

http://kuroanco.hateblo.jp/entry/20130929/1380407952

Page 25: マルチブラウザやりました (DMM.Study Night)

チュートリアル突破への道

音声でない

→boombox呼び出し時の書き方

Page 26: マルチブラウザやりました (DMM.Study Night)

チュートリアル突破への道

フルアニメーションがクリックできない

→座標の指定方法

Page 27: マルチブラウザやりました (DMM.Study Night)

etc ……

Page 28: マルチブラウザやりました (DMM.Study Night)

チュートリアル突破!!!

Page 29: マルチブラウザやりました (DMM.Study Night)

同時に、問題を洗い出せた →チケット約50件

Page 30: マルチブラウザやりました (DMM.Study Night)

同時に、問題を洗い出せた →チュートリアルの特性

Page 31: マルチブラウザやりました (DMM.Study Night)

チュートリアル機能の特性

一通りの機能をユーザーに見せる

→ 一通りの機能は確認できた!

Page 32: マルチブラウザやりました (DMM.Study Night)

このあたりから感じた

Page 33: マルチブラウザやりました (DMM.Study Night)

結構いけるかもしれない!

Page 34: マルチブラウザやりました (DMM.Study Night)

いけるかも、の理由

サーバサイドの問題がほぼ出てない

Page 35: マルチブラウザやりました (DMM.Study Night)

いけるかも、の理由

サーバサイドの問題がほぼ出てない

問題量:js < CSS

Page 36: マルチブラウザやりました (DMM.Study Night)

いけるかも、の理由

サーバサイドの問題がほぼ出てない

問題量:js < CSS

タスクランナー(gulp)導入済み

Page 37: マルチブラウザやりました (DMM.Study Night)

いけるかも、の理由

サーバサイドの問題がほぼ出てない

問題量:js < CSS

タスクランナー(gulp)導入済み

→autoprefixerで解決じゃね?

Page 38: マルチブラウザやりました (DMM.Study Night)

autoprefixer

is 何 css normal style

autoprefiexer

config

css normal style

+ vendor prefix style

Page 39: マルチブラウザやりました (DMM.Study Night)

autoprefixer

autoprefixerで解決!

Page 40: マルチブラウザやりました (DMM.Study Night)

autoprefixer

autoprefixerで解決!

だが問題が

Page 41: マルチブラウザやりました (DMM.Study Night)

autoprefixer

autoprefixerで解決!

だが問題が

元々Chromeでのみ動作する想定のゲーム・・・

Page 42: マルチブラウザやりました (DMM.Study Night)

autoprefixer

cssはこんな感じ

Page 43: マルチブラウザやりました (DMM.Study Night)

あっ・・・(察し)

Page 44: マルチブラウザやりました (DMM.Study Night)

通常のスタイルに戻す必要

Page 45: マルチブラウザやりました (DMM.Study Night)

autoprefixer

perl + 正規表現で自動化するぞ!

Page 46: マルチブラウザやりました (DMM.Study Night)

autoprefixer

perl + 正規表現で自動化するぞ!

→i am a programmer!

Page 47: マルチブラウザやりました (DMM.Study Night)

autoprefixer

perl + 正規表現で自動化するぞ!

→i am a programmer!

無理でした

Page 48: マルチブラウザやりました (DMM.Study Night)

autoprefixer

パターンありすぎ

Page 49: マルチブラウザやりました (DMM.Study Night)

autoprefixer

パターンありすぎ

元々のCSSの書き方のバラつき

例:-webkit-gradient

Page 50: マルチブラウザやりました (DMM.Study Night)

autoprefixer

パターンありすぎ

直し方のパターンも

Page 51: マルチブラウザやりました (DMM.Study Night)

手で直した(置換)

Page 52: マルチブラウザやりました (DMM.Study Night)

ノーマルスタイルへ

Can I Use?やpleeeaseで直し方確認

Page 53: マルチブラウザやりました (DMM.Study Night)

ノーマルスタイルへ

gradient

どうしても変換できないパターン(角度指定)

→グラデーション作り直し

Page 54: マルチブラウザやりました (DMM.Study Night)

cssの物量 20,000line * 1file 1,000line * 10file

2日かけて直した

Page 55: マルチブラウザやりました (DMM.Study Night)

autoprefixer実行! いい感じに直った

Page 56: マルチブラウザやりました (DMM.Study Night)

この後は細かいレイアウトのバグを残すのみ

Page 57: マルチブラウザやりました (DMM.Study Night)

順調に外部デバッグ、 ステージング確認完了

Page 58: マルチブラウザやりました (DMM.Study Night)

リリース!!!

Page 59: マルチブラウザやりました (DMM.Study Night)

DAUあげ!!! やった!!!!

Page 60: マルチブラウザやりました (DMM.Study Night)

DAUあげ!!! やった!!!!

Page 61: マルチブラウザやりました (DMM.Study Night)

振り返り1

問題の規模感が分かった時点で精神的に楽になった

→洗い出し作業重要

→チュートリアル特性活かせた

Page 62: マルチブラウザやりました (DMM.Study Night)

振り返り2

どこまでやるかを予めキッチリ決めておく

→「動く」という言葉の定義

Page 63: マルチブラウザやりました (DMM.Study Night)

振り返り3

CSSの書き方について、いろいろ分かった

boxスタイルの書き方の経緯

gradientスタイル カオス過ぎ

Page 64: マルチブラウザやりました (DMM.Study Night)

はじめからマルチブラウザ想定しておくのが吉

Page 65: マルチブラウザやりました (DMM.Study Night)

マルチブラウザやるなら

OKのラインは決めよう

調査・手戻りあるよ

→認識合わせないと不幸が起こる

タスクランナー必須

Page 66: マルチブラウザやりました (DMM.Study Night)

最後に

Page 67: マルチブラウザやりました (DMM.Study Night)

未知なるものに挑戦するのは楽しいよ!

Page 68: マルチブラウザやりました (DMM.Study Night)

以上