---
フリーランスエンジニア@3年目 / 独学@6年
---
twitter / @am_nimitz3
github / @ampcpmgp
facebook / akira.hayatake
UIパターン管理ツール
ミッション
デザイナ「よろしくねー」
自分「きれいなデザインですね! 👍」Dir「D1とD2は切り替わるので、お願いね」
自分「承知しました。問題ないです。 🙂」クライアント様の声
「D1に、条件によりボタンを表示し、
押すとE2を表示してほしい」
QA/テスターさん
「既存仕様が反映されていないです。
Setting A / B が切り替わり、
hidden C / D が、条件により出現します」
どこを取っても壊れない
どこかを取ると盛大に崩れる
もちろん気合で何とか乗り切りましたが、
今後どんどん機能追加されていくと・・
導入
npm i am-mocktimes parcel-bundler -D
npx am-mocktimes generate-template # テンプレートファイル生成
npx am-mocktimes watch
推奨環境はこちら
ファイル構造
.am-mocktimes/ # 出力ファイル (.gitignore推奨)
mock/ # モック
pattern.yml
config.js
src/ # アプリケーション本体
index.html
app.js
パターンの作成には、 mockディレクトリにあるUIパターン一覧 | webアプリのモック |
---|---|
![]() |
![]() |
コードの書き方を、5ページで、ざっくりと
mock/pattern.yml | UIパターン一覧 |
---|---|
![]() |
![]() |
mock/pattern.yml | UIパターン一覧 |
---|---|
![]() |
![]() |
mock/pattern.yml | mock/config.js |
---|---|
![]() |
![]() |
詳しくはドキュメントにて
↓に、サンプル有り
直接actionを呼び出すことができます
import mock from 'am-mocktimes'
import riotx from 'riotx'
mock({
action (storeName, actionName) {
riotx.get(storeName).action(actionName)
}
})
本体と同じjQueryを読み込んでいるため、
clickイベント等、triggerさせることができます
import mock from 'am-mocktimes'
import $ from 'jquery'
mock({
click (selector) {
$(selector).click()
}
})
am-mocktimesでは、状態管理ツールに、
dobjsを採用しています。
import mock from 'am-mocktimes'
import actions from '../src/actions' // dob actions
mock(actions)
このツールは、ES2015/Proxyを利用したもので、複雑なことはツールに任せて、
短いコードで、様々なパターンを作れます
本日最も伝えたいところ→
am-mocktimes + Riot.jsでサクサク開発し、
プロダクトの規模が大きくなっていったものの
求められたもの
中~大規模開発にも耐えられるよう、
画面キャプチャ取得など、機能改善を進める
などありましたら、github issueやtwitter等
連絡もらえれば、前向きに対応します!
「何を使ったかでは無く、何を作ったか」
を、自分は意識していたい
ご清聴ありがとうございました。
ツール・デモのURL一覧