師走の忙しさで遅くなってしまいましたが、先日参加した、一休社の Ikyu Frontend Meetup についてのレポートです。

  • レストランの方を刷新中で、AWS や Fastly などの最新技術を積極的に取り入れてる
  • サーバサイドは ASP WebForms から ASP MVC に置き換え
  • サーバサイドでは以前から SQL のチューニング等はしていたが、配信箇所含めフロントエンドが遅延の原因になっていた
    • レンダリングブロックなど
  • バックエンドはパフォーマンス計測できていたが、フロントエンドは計測できていなかったので、計測するところから開始
    • 目標指標のないパフォチュはつらい
      • ダイエットと同じ
    • お昼時に回線が詰まる MVNO でも見れるように、というのを目標に
  • SinglePageApplication にするより MultiPageApplication (いわゆる普通のサーバサイド MVC) にして CDN で配信した方が早いこともある
    • SPA の文脈においても Dynamic Rendering として言及されているので、理屈としてはほぼ同じ
  • 具体的なチューニングは JS の最適化
    • SPA ではないのでページごとに必要なコードだけになるように webpack で split してビルド
    • PC とモバイルで bundle を分ける
    • polyfill.io を使って polyfill を最適化
    • Service Worker もやりたいけどできていない
      • ここはどの会社も敷居が高いんだなあ……
      • 一休社では workbox を検討中とのこと
  • SPA には vue を採用した
    • デザイナーが css いじりながらマークアップできる、という要件のもと
  • 2017 年当時は SEO 対策するなら SSR とされていたので採用した
    • 現状ならば Dynamic Rendering でも十分という話もあるので、採用しないかもしれない
  • Q. BFF とか SSR とか経験があったり得意な JS エンジニアの採用難しいと思いますがそのへんどうしてますか
    • A. JS エンジニアじゃない人でもフロントやりたい人ががんばっている。難しいところはペアプロして知見を共有している
  • storybook つらい