CSSConf.Asia 2014
Published at 2014-11-19
最初のセッションは9:00開始、Registrationが8:00開始、ホテルは会場まで電車で1時間弱という状況だったので、7:00にホテルを出発。 ディズニーランドを彷彿とさせる電車に乗って、現地へ向かう。
現地へ着いたらパスポートを見せて、参加登録を済ませた。
面白かったセッションを幾つか紹介。
NO MORE TOOLS by @fox
- ツールっていっぱいあって、どれがベストなのかわからない…
- SIMPLICITY 目的がわかりやすく、複雑でないものを選ぼう
- “Complexity is a fact of the world, simplicity is in the mind.”
- AUTOMATION 自動化がキモ
- AutoprefixerやらCSSLintやらCode BloatやらStressCSSやらを駆使
- 共有にはnpmもとい
package.json
を利用するのが良いかな - ランナーにはGruntでもGulpでもMakeでも!
- COLLABORATION 皆が使うことを前提にする
- プロジェクトにジョインする人みながバイアスをもっている
- “Knowledge makes everything simpler”
“its easy to introduce that unnecessary complexity by adding tools that manage other tools”
本当にこれ。よく考えるべき。
この辺の話は最近タイムラインでも活発ですが、Gruntとかのタスクランナーは使わずにpackage.json
に集約しているらしい。
LevelDBのプロジェクトのpackage.json
等が例示されていた。
LevelDB package.json as task automation example https://t.co/5HpC1mNSJF #cssconfasia
— 1000ch (@1000ch) 2014, 11月 19
The SVG reality by @sebdeckers
SVGに関するとてもわかり易い話だった。
- SVGとCSSは、DOM APIとかスケーラブルである等、とても良く似ている。
- とても良いけど、膨大な色数を含んでいる場合はやっぱラスター画像じゃないとダメ
- 複数のSVGを1ファイルにまとめておく、SVG Flagmentなるものがある。CSSスプライトみたいな感じ。
- APIは豊富だけど同時に複雑でもあるので、SVGをWeb Componentsでラップするアイデアはなるほどと思った。
The SVG reality by @sebdeckers #cssconfasia pic.twitter.com/0dSYnX11Mh
— 1000ch (@1000ch) 2014, 11月 19
Performant UIs using CSS magic by @ryanseddon
The CSS Ninjaの中の人。
- CSSがUIのパフォーマンスに与える影響
- ペイントとリフロー
- ペイントは位置の更新を伴わない・リフローは位置の更新を伴う
- 何がそれらを引き起こすかはCSSTriggersを参考に
- モダンブラウザならどれでもいつ何が起こっているか、タイムラインでデバッグできる
- SafariならCompositing Borderを表示することが出来る
- order属性はパフォーマンスの良いプロパティとは言えないよう
- デバッグツールはどれもまだ過渡期だし、良いUIを作っていくのも難しい。 でも不可能じゃない。
“Performance is fragile”
しみじみそう思う。壊すのは簡単、直すのは難しい。
あと、order
プロパティしらなかったです…。
"order" property https://t.co/xh0x9YjtDz #cssconfasia
— 1000ch (@1000ch_en) 2014, 11月 19
CSS Triggersもあわせてどうぞ。
Build Scalable, Automated CSS Both You and Your ’Back-End’ Coders Can Love by @xmlilley
- なぜCSSはクソなのか
- 強力とも言えるが、それが悪いところでもある
- 上書き前提だし、セレクタは複雑になるし、レイアウトは難しいし
“an anti-language, full of dark magic”
- レイアウトをする上で何に気をつければいいか
- すべての鍵は「
float: left|right
を使うのをやめること」 inline-block
は、text-align
も使えるし、いいよ。vertical-align
はバグじゃない。ああいうもんだ!- whitespace問題は…プリプロセッサの mix-in つかうといいんじゃないかな
- すべての鍵は「
#CSS Selectors are evaluated right-to-left #cssconfasia
— 1000ch (@1000ch_en) 2014, 11月 19
Code Smellとか、BEMとか、おおよそパイセンとか谷さんが喋ってきたような話でしたとさ。
Bullet Lunch
ビュッフェ形式でランチを。美味しかった。
Inside the Airbnb brand evolution by @msfionatay
- 「サービスの急速な成長の中で、(CSSの)クオリティを維持するのはとても難しい」
- 「どのCSSも直にレガシーなコードとなってしまう」
デザインを変える時に、TwitterのBootstrapのようなコンポーネント群をまず作って、それをベースにデザインを組み立てるそう。 局所的に変えていくのは無理 ということだと思う。
Cascading Perspectives with THREE.CSS3DRenderer by @blurspline
CSS3の3Dレンダラーを使ったパースペクティブについての話。Three.jsのコミッターをしている人で、@yomotsuさんが大興奮していた。
Building a modern mobile web UI by @rstacruz
- 「これだけWebは進化してきたのに、未だに縦方向のセンタリングが出来ないのは何故だろうね」
vertical-align: middle;
とかline-height: 1;
とか、ケースに応じた手段しか存在しなかったdisplay: flex;
がレイアウトの解である
レイアウトのサンプルはrstacruz/newsreader-sample-layoutに。メディアクエリも駆使して、よく出来てる。
After Party
初日のアフターパーティは、近くのビーチにある離れ小島のようなところで行われた。
ギンペイさんが海賊にビールを突然奪われたりするハプニングに見舞われながらも、他の国の人ともそれなりに交流を深めた。 ネイティブスピーカーと話すのは、相手のストレスにもなっている気がして申し訳なかったが、英語が母国語じゃない人ならそれなりに会話出来るような気がした。