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

Vue.jsでのSPA開発の実際

 Vue.jsでのSPA開発の実際

アシアル技術セミナー Vo.2
Webフロントエンド開発最前線
~SPAおよびPWA開発プロジェクトの現場から~
「Vue.jsでのSPA開発の実際」

アシアル株式会社

April 04, 2019
Tweet

More Decks by アシアル株式会社

Other Decks in Technology

Transcript

  1. 斉藤 勝也 Saitou Katsuya
 アシアル株式会社 Web開発チーム
 好きなエディタは Sublime Text (素早く起動するため)
 2010


    2012
 2019
 PHPエンジニア
 SE兼PL
 
 2017
 JSエンジニア,
 ネイティブエンジニア 
 2
  2. SPA(Single Page Application)とは 1/2
 Vue.jsでのSPA開発 概要
 7 • 初回のリクエストで、ページ構成に必要なファイルを取得
 •

    その後、必要な情報を都度リクエスト
 ◦ JSON形式でレスポンスを受け取ることが多い • ページの遷移時に、サーバーサイドでのページローディングを挟まない

  3. 都度リクエスト /api/getXxx, /api/setXxx, ... 初回リクエスト index.html, all.js, all.css, .... SPA(Single

    Page Application)とは 2/2
 Vue.jsでのSPA開発 概要
 8 APIサーバー
  4. 参考:Vue.js周りの利用実績
 PHP MySQL Vuex webpack Monaca Cordova iOS Android Laravel

    axios vue-cli nginx サーバー環境 モバイル環境 フロントエンド環境 AWS EC2 Vue.js vue- devtools Vue.jsでのSPA開発 概要 > SPA開発の流れ
 15
  5. 課題 ◦ lintルールと書きたい方向性が合わない
 lintルールと戦う 1/2
 課題 > ローカルPC環境開発
 18 //

    no-unused-varsルール toSettings() { let a = "text data" } // yodaルール if (4 < input.length) { ... }
  6. ユニットテストを実行し終わるまでが長い 1/2
 課題 > ローカルPC環境開発
 21 課題
 ◦ コード修正
 ◦

    書いたコードをプリコンパイル(webpackビルド)
 ◦ ユニットテスト実行
 ◦ ここまで、体感約30秒 - 60秒かかる

  7. 課題
 ◦ APIの仕様変更が予告なくあった
 ◦ 例: 型が変わった
 ▪ { isDone :

    true } -> { isDone : “true” } APIの仕様変更 1/3
 課題 > API接続確認
 32
  8. サーバー上に展開 2/2
 課題 > スマホやサーバー上で展開
 54 対応
 ◦ t2.mediumなど、メモリを4GBぐらいは確保する
 ◦

    npm install以外にも、PHPでのcomposer installでも
 起きることがあり、1GBではメモリが少ない認識
 を持っておいたほうがいい

  9. 引き継ぎ時の説明 3/5
 課題 > 納品
 63 対応
 ◦ ソースコードと画面の対応図を作成
 ◦

    vue-devtoolsを利用して、確認してもらう
 
 ※命名次第でソースのどの部分が、画面のどこに対応するかが、
  分かりにくくなることがある。

  10. 70