Inside Frontend
大手町日経カンファレンスルームで開催されたINSIDE FRONTENDというカンファレンスに参加してきました。
2回めの開催ということですが、僕は今回が初めての参加でした。
AMAルームでinsideFrontend開幕です♪( ´▽`)🎉#insideFE pic.twitter.com/iOPMlM7sMY
— Inside Frontend (@insidefrontend) 2018年2月11日
どういうカンファレンスだったか
「Web フロントエンドの現場とこれからをつなぐカンファレンス」ということで、主なスポンサーのCyber Agentさん、日本経済新聞社さん、YAHOO!さんを中心に各現場でのノウハウがたくさん聞けました。
このカンファレンスでは、一般的な講演形式の「セミナー」と、質疑応答形式の「AMA(Ask Me Anything)」が並行しており、AMAではみなさんが普段どのような悩みを持っておられるのか、どのへんに引っかかりポイントがあるのかが、よりわかって良かったです。
やり取りのログは、運営の方がいかにまとめてくださっています!すごいです。
GitHub - insidefrontend/issue2-ama: AMA ブースで聞いてみたい質問をこの Repo の Issue として Submit ください(どなたでも!)
また、当日のセッションのビデオもFRESH!さんにアーカイブされています。(生放送もされていました。)
このエントリでは、僕が参加したセッションをベースに感想を書いていきます。
カンファレンス中に書いたメモもこちらに残しますが、あくまでメモなので、上記のビデオや、公開されている資料、AMAは上記のgithubにまとまっているので時間がある方はそちらを参照される方が良いと思います。
実際に参加して現場感を感じたり、知り合いと会ったり、質問したりというのが良いですが、すべてログに残っているのは素晴らしいです!
セッションの感想
以下感想です。
freeeのアクセシビリティ、いまとこれから - @magi1125 (AMA含む)
docs.google.com Issues · insidefrontend/issue2-ama · GitHub
freeeにおけるアクセシビリティの意識を上げていくときの取り組みの紹介と現状、これからの方向性についての紹介でした。
アクセシビリティチェックリストの紹介や実際にどのようにコードに落としていくかなど技術的な話もありましたが、僕はかなりエモい話だったなと感じました。
正直、アクセシビリティを意識してのプロダクト開発というのをそこまで意識していなかったので、新鮮に聞くことができました。
アクセシビリティというものを、デザインの問題、凝ったアニメーション、などそういったもので 間違って認識していたので改めました。(じゃあアクセシビリティが何なのか、というのは僕の言葉ではうまく説明できる気がしないので、資料を参照ください。)
作るサービスによってアクセシビリティが重要視されるかどうか、必要性が議論されるべきというのは、僕も感じることがありました。
例えば担当している法人向けの管理画面などは、定常運用をいかに効率化するか、間違いがなく運用できるようにするか、などが重要視される、といったような違いがあげられるかと思います。
現場の ES201x とアーキテクチャの変遷と未来 - @mizchi (AMA含む)
speakerdeck.com Issues · insidefrontend/issue2-ama · GitHub
題名通り、フロントエンドのこれまでのアーキテクチャ変遷から、未来を予測すると言った話でmizchiさん節がすごかったです。
僕は現在プロダクションコードとして存在するレベルのjQueryしか知りませんが、ざっくりとこれまでのことを理解できましたし、現状のフロントエンドのライブラリ、フレームワークを大枠で捉えたときにEventとStateとViewを完全に分離するというのは、そうですよねと思って聞けました。
WebComponentsの話や、今のWeb標準とPWAの関係*1などについてもお話されていました。
とはいえ、一番面白かったのはじゃあどうやって現状のものをきれいにするのか、というところでした。
まずやるべきこととしてprettierを入れたり、lintを入れたり、型をつける作業をしたりとかなり泥臭いところからやっていくということで、フリーランスでいろいろな現場を見られているかたがそのように段取りを提示してくださるのは良いなと思いました。
コンポーネントTDDの実践から見えたもの - @pirosikick
www.slideshare.net
ReactとVueにおいてコンポーネントを作成するときにTDDを導入する話。
TDDとは関係のないコンポーネントのテストを書くときのハマりどころから、TDDを導入する際の注意点と、今後の改善点を説明してくださっていました。
TDDについてはTDD本を読んでいたので、目的や良さなど理解できていたように感じました。
コンポーネントのテストということで、デザイン変更のたびに頻繁に変わりうるUIのテストをどこまで書くのかという議論があるのではないかと思っていたのですが、セッションを聞いていてTDDでやるとコンポーネントのテストを見た目とふるまいを分離して書けるのかもしれないなと思いました。
セッション中に紹介されていた以下の資料も参考になりそうでした。
動的デザインガイドのつくり方 - @narirou
モノリシックなフロントエンドのアプリケーションをデザインガイドラインを適用するための開発プロセスと、各ステークホルダーとの調整方法をまとめて話してくださっていました。
Design Systemという概念やそれが具体的にどういうものだったのかということはいまいち理解しきれなかったのが残念だったのでもう少し他の資料も当たってみたいと思います。
Micro-benchmarking is Hard - @saneyuki
開発中にベンチマークを取る際ときに、しっかりと意味のあるベンチマークを取らないと根拠のない数字から可読性の低いコードを生産してしまう可能性があるよ、という話でした 。
具体的には、
大きな(マクロな)機能のベンチマークを取る場合はその機能の使われ方内部の実装をしっかりと理解しなければならないために難しく、
じゃあちいさな(マイクロな)機能のベンチマークはどうなのかというと、利用しているJavaScriptエンジン(今回はフロントエンドの話なので)の最適化の実装によって期待しているような結果が得られない可能性があるので難しいということでした。
結局、エンジンの内部実装を理解して最適化されにくいようにベンチマーキングするのか、ベンチマークする単位をある程度複雑にして最適化されにくくするのかというような結論だったのではないかと思います。
ふわっと思います、と書いたのは、このセッションが僕にはかなり難しかったからです。
もう少しJavaScriptに詳しくなってから、資料を読み返したいと思います。
まとめ
かなり遅くなりましたが、Inside Frontend #2の感想記事を書きました。
現在、業務にてStorybookの導入を勧めているため、今回のInside Frontend#2ではUIコンポーネントのデザインや設計についてのセッションを多く聞きました。
アクセシビリティやベンチマークなどは初めての話が多く、興味を惹かれたので、優先度付けて深ぼれたらなと思いました。