Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RoomClip の Nuxt.js 移行の話

k-okada
December 06, 2018
2.8k

RoomClip の Nuxt.js 移行の話

RoomClip の Nuxt.js 移行の話

k-okada

December 06, 2018
Tweet

Transcript

  1. 自己紹介 岡田 佳祐 2018.6~ ルームクリップ株式会社 WEBエンジニア 居住地:広島 -> 神奈川 ->

    東京 バックエンド:PHP -> Laravel -> symfony -> codeIgniter -> Rails フロントエンド:jQuery -> Angular.js -> Knockout.js -> Vue.js
  2. フロントエンド周りの理想 • コンポーネント指向で開発したい。 ◦ デザイナーさんが作ったものを使い回ししていきたい。 ◦ モダンなフロントエンドに触れたい! ◦ Vue、React、Angular のどれかが良さそう。

    • SSRにしたい。 ◦ SSRはしなくても、Googleのクローラーは、認識してくれる。 ◦ ただ、インデックス速度が遅くなる可能性があるらしい。 ◦ SEOが、非常に大事なので、今回はリスクをとらずSSRしたい。 • できるだけ簡単に実装したい。 ◦ フロントエンド専門の人間がおらず、webpackの知識ほぼ0。 ◦ サーバ側のリニューアルも含めて、基本一人で行うので、工数はできるだけ減らしたい。
  3. 進捗 Nuxt.js を知った日:9/26 (ちなみに、Nuxt 2.0 のリリース日:9/21) 静的テストページリリース:10/16 ( https://roomclip.jp/doc/privacy )

    動的テストページリリース:10/30 ( https://roomclip.jp/myfollow/5 ) 検索ページリリース:11/22( https://roomclip.jp/tag/search?keyword=一人暮らし ) 今のところ、SEOによる流入や、Adsense広告の金額に影響はなさそうです。
  4. リニューアル後 広告なし(モバイル) • 全体的に速度が向上! ◦ 主な要因は、画像最適化、サーバからのレスポンスタイム改善 ◦ ただ、Nuxtデフォルトの状態で、ほとんどのチェック項目をクリア! ◦ SEOに関して、Nuxtデフォルトのままで高得点!(Lighthouse)

    • ただ、インタラクティブになるまでの時間が遅い... ◦ LazyLoadを入れたい...けどSEO的に大丈夫? ◦ 2018/11/5 にGoogle公式で、実装方法が公開 ▪ Make sure Google can see lazy-loaded content
  5. リニューアル後 広告なし(モバイル) • 少し改善! • JavaScriptの実行時間が一番の原因 ◦ Vue 3系から、ファイルサイズ半分になるということでそれに期待! ◦

    Nuxtのファイルサイズ削減されるらしい! ▪ feat: improve SSR bundle ◦ Vue.js 続・大規模アプリ開発 • この調子で改善して行こう!と思ってました... • しかし!社外からアクセスすると...
  6. Nuxt.js(Vue.js)使ってよかったこと • モダンなフロントエンド開発を学べた! ◦ lint, prettier, webpack, storybookなどなど • インフラについて詳しくなった(SSR時は、Nodeサーバ必要のため)

    ◦ 会社にNodeサーバの実例がなかった。 ◦ そのため、環境構築の調査から必要で、すごく勉強になった。 • 少し複雑なUIを簡単に実装できるようになった。 ◦ 次スライド • その他いろいろ!