【参加レポート】 2019/9/4 Wordpress x nuxt.jsで実現するSPA/コーディングとマジックナンバー

LT1 Wordpress x nuxt.jsで実現するSPA

片岡 隆一様

読み込みが遅いサイト
HTMLベタ書きで運用しずらいサイト
ありませんか?

Gutenberg

WordPressの新しいエディタ
とても編集しやすい
・ブロック単位
・HTMLの属性を入れ込める
・2カラムやYouTubeの埋め込みが簡単
・HTMLベタ書きも可能

SPA

SinglePageApplication

メリット

1. 顧客体験の向上
インタラクティブなサイトが作りやすい(表現の自由度が向上
少ない通信でコンテンツを読み込む

2. 表示速度の高速化
キャッシュを最大限使用することができる
離脱率の低下を防ぐことができる(1秒遅れるとコンバージョンが7%下がる)

3. インフラ・エンジニアのコスト削減
従量課金系のクラウドサービスの費用を抑えることができる
Nuxt.jsを使用することでSPAの実装工数は比較的少なくできる
PWA化も視野に入る

なぜWordPress?

1. 全Webサイトの3分の1がWordPress
すなわち、コンテンツと言う資産がWordPressに蓄えられてる

2. コンテンツ運用者にWordPressでの運用ノウハウがある
Headless CMSで運用するには結構障壁がある

SPA化への道

1. WP REST APIを非同期で取得
記事データ等をNuxt.jsで描画する

2. アクションフックで静的にしてしまう
アクションフックでJSONにしてしまい、S3等に配置

技術と工数的にWP REST APIを紹介する

WP REST API

記事一覧をJSONにして返してくれる

主なパラメータ(記事一覧)

実際に作って見よう

nuxt.config.jsにaxiosを導入し、envにサイトのURLを追加

storeにindex.jsを追加

storeにstate.jsを追加
stateはページ間等で使える便利な変数

storeにmutations.jsを追加
主に同期処理を担当

storeにaction.jsを追加
主に非同期処理を担当
(ブレブレ…)

pages/index.vueで実際に使う

pages/index.vueに記事一覧を表示してみる

pages/_postSlug/index.vueで詳細ページを作る

LT2 コーディングとマジックナンバー 数字の魔法を解明する

揚原 博志様

以下の書籍を参考に

マジックナンバーとは

コードに直に記述された数値、意味や意図が書いた本人にしか分からない
・なぜこの数字にしたのか
・cssでcontainerのwidth:1000pxとか

印象
1:ユニーク
2:二面性、対比、対立、女性
3:調和(1と2の和なので、三位一体)
4:公正と秩序、季節、方位、男性
5:結婚
6:完全数(1+2+3、神は6日で世界を創った)
7:ラッキーセブン、19世紀くらい
10:万物の数(1+2+3+4)

性質
2:二進数
三角関数
30
45
60

時間に関する数字
7
24
30
365

人間の性質
4:人が瞬間的に記憶できる短期記憶、マジカルナンバー
10:指の数

忌み数
素数
高度合成数
無理数

比率・数列

画面比
pcは16:9、タブレットは3:4
・フィルム時代になんとなく3:4
・いろんな画面比が乱立、折衷案が16:9

白銀比
ドラえもん
1:√2
日本人は白銀比が好き

黄金比
自然界の至るところで発見される比率

実装

表示する数で印象を与える
うまく利用して印象を変える
例:1はユニーク、2は対極というイメージ

変更に強くする
高度公倍数にすれば、端数が出にくい
6の倍数でサイズ指定すれば、2〜3カラムへの変更が綺麗にできる

数字からコードを読む
90、180、360をみたら、何かアニメーションの処理かも
7、12、24、365だったら時間系の処理?

記憶力を利用する
記憶に残したい要素を4±1にまとめる
10以上は 「両手で数えられないたくさんのもの」

クレームを避ける
特定のお客さんは、忌み数に気をつける

同時処理を避ける
setTimeoutで素数を指定する

6の倍数がいい
タブレット、PCの幅は6で割れる
PCは横幅いっぱいにコンテンツをだすことはほぼない

印刷
白銀比が用紙にぴったり

調和した画面構成
黄金比を使えばバランスのいいレイアウトを作れる

複雑な回転
黄金比を使う
ひまわりなんかもそうなってる

まとめ
数字の意味を知ると、迷いが減る
意味を理解できる

質問

NextjsよりNuxtjsの方が良いですか?
ロゴ可愛いし、初めて触ったものなので、個人的にNuxt.jsが好き

WP Rest APIはWordpressのカスタム投稿にも対応していますか?
対応してる、カスタムフィールドが課題になると思う

gigさんではワードプレスとnuxtを使った開発はすでに導入されているのでしょうか? または今後導入する可能性は高いでしょうか?
案件はまだない、ただ関連するような案件はあった

業務でよく使う中でお気に入りの数字はありますか?
12、2でも3でも4でも割れるので

プラグインのcssやjsはnuxt側で取り込めるのでしょうか(特にnuxt実装後に管理画面から追加されたもの)
課題のひとつです、それらをWPのテーマとして捉える開発がベターかと

8と9の意味はありますか?
8は末広がり、9は思い出せませんすいません

静的に作れるサイト(コーポレートサイトなど)でもnuxtで作ることはありますか?
あります、お仕事お待ちしております

拝聴した限り、GIGさんはフロントエンドエンジニアがデザイン上の細部の調整を行なっているような印象ですが、実際そうやっていますか?
案件にもよるが、細かい調整はエンジニアがある、大枠はデザイナーさん、こっちから提案することもある、密にコミュニケーションをとってます

画面のWidth指定ってどうしてますか?
・800px
・960px(端数がでないので)
・1024pxを超えないようにする
・フォントは
 ・スマホ:14px
 ・PC:16px

感想

SPAの話、具体的でとても参考になった。
React.jsの勉強をしているが、PWAなども考えてVue.jsも手を出そう。

数字の話、面白かった!
1だとユニーク、唯一
2だと対立、比較
3だと安定、調和
なるほど、プレゼン資料やコンセプトサイトなんかを考えてみてもそのような印象がある。
何気ない数字を工夫することで色々な効果があるし、戦略的に使うこともあると。めっちゃinterestingだった!

いいなと思ったら応援しよう!