Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
デザイナー不在のスタートアップがVuetifyで救われた話 / A startup that...
Search
meijin
October 21, 2019
Programming
2.2k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
デザイナー不在のスタートアップがVuetifyで救われた話 / A startup that has no designer saved by Vuetify.
meijin
October 21, 2019
More Decks by meijin
See All by meijin
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.7k
Technical Decisions and Reflections on "Test Maker" After Two Years of Development
texmeijin
1
150
弊社の「意識チョット低いアーキテクチャ」10選
texmeijin
5
27k
DDDを志して3年経ったら「DDDの皮を被ったクリーンアーキテクチャ」になった話【デブサミ2024夏】
texmeijin
4
4.6k
サービス黎明期にNuxt.js v2からNext.js移行を決めた理由と進め方
texmeijin
0
580
スタートアップCTOが個人開発で収益化・年13本記事発信・5件登壇を平行するための時間管理
texmeijin
4
1.3k
個人開発がおすすめな理由
texmeijin
3
1.1k
弊社の開発体験の良いところは?メンバーに訊いてみた!
texmeijin
0
520
初めてESLintプラグインにコントリビュートした話
texmeijin
0
300
Other Decks in Programming
See All in Programming
ソニーのクラウド共通基盤の変遷とAI時代の開発スタイルに合わせた進化 / The Journey of Sony’s Common Cloud Platform and Its Evolution for AI-Native Development
kenjiyoneyama
0
270
Atomic Design, Enforced: Scaling Mobile Design Systems (next.app devCon / droidCon Berlin 2026)
steliosf
PRO
0
170
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
FactoryBotをやめればRSpecは速くなるのか?
yuta_onishi_97
0
610
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
150
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
760
カツオ、ご期待ください
suneo3476
0
190
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
270
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
3.8k
3回つくってわかった、 定期実行ジョブ基盤の本質情報
takai
0
500
Featured
See All Featured
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
820
How to Ace a Technical Interview
jacobian
280
24k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Test your architecture with Archunit
thirion
2
2.4k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
800
Heart Work Chapter 1 - Part 1
lfama
PRO
10
37k
30 Presentation Tips
portentint
PRO
1
430
Deep Space Network (abreviated)
tonyrice
0
370
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
540
Leo the Paperboy
mayatellez
10
2.4k
Between Models and Reality
mayunak
4
500
RailsConf 2023
tenderlove
30
1.6k
Transcript
デザイナー不在の スタートアップが で救われている話 Vuetify @Meijin_garden
アジェンダ 1. 自己紹介 2. UIフレームワークを使う理由 3. Vuetifyの概要 4. 【実例】コンポーネントの運用 5.
運用しての所感 2
自己紹介
自己紹介 名人(@Meijin_garden) ※「名人さん」でTwitter検索たぶん1位 4 ㈱NoSchool CTO AWS/PHP/Ruby/Firebase/Nuxt/Scss/Pug 将棋、銭湯、ドラクエXI、高校野球 技術 仕事
趣味
経歴 5 不動産情報サイト LIFULL HOME’Sの開発 勉強質問サイト NoSchoolの開発 2016.04〜2019.03 2019.03〜 株式会社LIFULL
株式会社NoSchool 社員1,000名 社員2名
プロの家庭教師が無料で回答する勉強質問サイト https://noschool.asia NoSchoolの事業内容① 6 無料で家庭教師に 勉強の質問・回答 気に入った先生に 個別指導を依頼
2万件以上の質問/回答を 写真で検索できる機能を開発・販売 NoSchoolの事業内容② 7
技術スタック バックエンド • Laravel v5.7 • AWS • Firebase /
GCP • Algolia 8 フロントエンド • Nuxt.js v2.9.2 • Vuetify v2.0 • Pug / Scss • jQuery + blade
Vuetifyの概要
Vuetify 触ったことありますか? 一度やってみたかったやつ
Vuetifyとは Vue.js向けのUIフレームワーク 11 特長① 特長② 特長③ Material Design の仕様に準拠 props
や event emit, slot が多く活用 開発が速い(瞬く間にv2.0リリース)
UIフレームワークを 使おうと思った理由
一言でいうと スタートアップの開発サイクルに 合っている(と思った)から 13 スピード重視!! うおおお
まわせPDCAサイクル ①企画 ②デザイン ③SEO対策 ④実装・リリース 14 失敗 成功! ①爆速リリース 失敗
①爆速リリース ①爆速リリース ②デザイン改善 ③SEO対策 普通の開発 超ベンチャーの開発 ④以下略
まわせPDCAサイクル ①企画 ②デザイン ③SEO対策 ④実装・リリース 15 失敗 成功! ①爆速リリース 失敗
①爆速リリース ①爆速リリース ②デザイン改善 ③SEO対策 普通の開発 超ベンチャーの開発 ④以下略 初期リリースから最高のデザインを 実現することはできない UIコンポーネントの 色合い、フォントサイズ、雰囲気は 合わせたい →UIフレームワークを採用しよう! しかし、最低でも
【実例】 コンポーネントの運用
Form inputs & controls • v-select • v-checkbox • v-img
• Vuelidate
Formが持つべき機能 18 入力 短文、長文、選択式、ファイル、日付… 検証 文字数、文字種別、最小最大値などの検証 送信 バックエンドのAPIにPOST / PUTする
Form に関する機能を まとめた Component を 内製しました
20 ①親からFormの仕様を渡す Page Component Form.vue • ラベル • プレースホルダー •
フォームの種類 • バリデーションの種類 渡されたObjectに基づき、 ラベルやプレースホルダー、 Validation付きのFormを 自動生成
②送信時に入力値を親へ$emit 21 Page Component Form.vue 送信ボタンの @click 時に 各 Form
の値を Object にまとめて $emit する 親はもらった値を よしなにサーバーサイドへ POST/PUTする
メリット / デメリット 22 ✓ 挙動をサイト全体で共通化できUXが良い ✓ Vue / Vuetify
に詳しくない開発メンバーでも実装可能 △ 込み入った仕様、見た目のFormは作りにくい
Components For SEO • v-breadcrumbs • v-pagination
Vuex経由でパンくずを生成 24 Page Component Breadcrumbs.vue v-breadcrumb Vuex asyncData()内で パンくずに必要なデータを StoreにSet
パンくずデータ Object Objectから 適切なパンくずを 自動生成
ページネーション① 25 Page Component Pagination.vue Props • 現在のページ • 全体のページ数
v-pagination
ページネーション② 26 Page Component Pagination @click で $emit • クリックされた
ページ番号(3) $router.push(…, { query: { page: $event } });
ページネーション実装時の注意 27 Page Component watchQuery: [“page”], NuxtではwatchQueryを指定! pageクエリが変化すると asyncData()以降を再実行
メリット / デメリット 28 ✓ LaravelのAPIとpageクエリの相性が◎ SEO関連の処理とアプリケーションが密結合しがち △ watchQueryを忘れる被害者が定期的に出る △
運用しての所感
Vuetifyの運用でやっていること 30 拡張 サイトの仕様に合わせ、 独自のComponentでVuetifyをWrapする SEO Vuetify単体ではSEOに考慮されていない PageコンポーネントやPluginで別途対応
Vuetifyだけではできないこと 31 UXの設計 経営者の目標 → UXへの落とし込み 情報設計 ユーザーの視線や慣れを意識した 要素の配置など
ワイヤーフレームを依頼 32 週1稼働のデザイナーさんにXDでワイヤーだけ依頼
XD色付け係 33
最後に
鋭意採用活動中! 35 ✓ Nuxt.jsとLaravelで次々に新規開発ができる! ✓ 勤務体系は週1の副業から応相談! e.g. 平均180PR / 月
【今の体制】 CEO + CTO + 週4フリーランス + 週1〜2の副業4人
鋭意採用活動中! 36 ✓ CGMなので中高生ユーザーの喜ぶ声が届く! ✓ スタートアップなので変化が多くて楽しい! 某KPI 月次300%成長
ご清聴 ありがとうございました @Meijin_garden