を、小型案件で使ってみたお話
---
フリーランスエンジニア@3年目 / 独学@6年
---
twitter / @am_nimitz3
github / @ampcpmgp
facebook / akira.hayatake
UIパターン管理ツール
ミッション
デザイナ「よろしくねー」
自分「きれいなデザインですね! 👍」Dir「D1とD2は切り替わるので、お願いね」
自分「承知しました。問題ないです。 🙂」クライアント様の声
「D1に、条件によりボタンを表示し、
押すとE2を表示してほしい」
QA/テスターさん
「既存仕様が反映されていないです。
Setting A / B が切り替わり、
hidden C / D が、条件により出現します」
どこを取っても壊れない
どこかを取ると盛大に崩れる
もちろん気合で何とか乗り切りましたが、
今後どんどん機能追加されていくと・・
そこで作ったのが、今回紹介する
UIパターン管理ツールになります
導入
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
簡単なwebアプリ(ライツアウト)でご紹介
UIパターン一覧 | webアプリのモック |
---|---|
![]() |
Image Not Showing
Possible Reasons
|
コードの書き方を、5ページで、ざっくりと
mock/pattern.yml | UIパターン一覧 |
---|---|
Image Not Showing
Possible Reasons
|
![]() |
mock/pattern.yml | UIパターン一覧 |
---|---|
Image Not Showing
Possible Reasons
|
![]() |
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)
複雑なことはツールに任せて、
短いコードで、様々なパターンを作れます
本日最も伝えたいところ→
am-mocktimes + Riot.jsでサクサク開発し、
プロダクトの規模が大きくなっていったものの
求められたもの
中~大規模開発にも耐えられるよう、
画面キャプチャ取得など、機能改善を進める
などありましたら、github issueやtwitter等
連絡もらえれば、前向きに対応します!
「何を使ったかでは無く、何を作ったか」
を、自分は意識していたい
ご清聴ありがとうございました。
ツール・デモのURL一覧
or
or
By clicking below, you agree to our terms of service.
New to HackMD? Sign up
Syntax | Example | Reference | |
---|---|---|---|
# Header | Header | 基本排版 | |
- Unordered List |
|
||
1. Ordered List |
|
||
- [ ] Todo List |
|
||
> Blockquote | Blockquote |
||
**Bold font** | Bold font | ||
*Italics font* | Italics font | ||
~~Strikethrough~~ | |||
19^th^ | 19th | ||
H~2~O | H2O | ||
++Inserted text++ | Inserted text | ||
==Marked text== | Marked text | ||
[link text](https:// "title") | Link | ||
 | Image | ||
`Code` | Code |
在筆記中貼入程式碼 | |
```javascript var i = 0; ``` |
|
||
:smile: | ![]() |
Emoji list | |
{%youtube youtube_id %} | Externals | ||
$L^aT_eX$ | LaTeX | ||
:::info This is a alert area. ::: |
This is a alert area. |
On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?
Please give us some advice and help us improve HackMD.
Do you want to remove this version name and description?
Syncing