rabbit-slide-Piro-presentation-vanilla-js-library-topics 2024.5.24.0 → 2024.5.24.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9982f56f316f7a4998e095b4951f057dadfe17162265c8d06b098e188dc31ab3
4
- data.tar.gz: c781139d3b1e60add64654ae1ca2f9ee5ede7ab33ecf7f1c840f5a3f72650d76
3
+ metadata.gz: 51b585b3fd563baa1055cac3b479eefb36190e073abe6a674f1753242eccaa0b
4
+ data.tar.gz: 78e829f2e038699eeb9156bb93fbc442e957e36d44dca2fe2d701809b29f14d6
5
5
  SHA512:
6
- metadata.gz: 341f40a3e3df2f4591aee60d32783275bac06d16f885a4991b00e7c40b15e1daf683185c335cb948b97b48e81e9f62419c0587a30881a8f6eef6c0de5ee7cc98
7
- data.tar.gz: 7c92a6f0df619dfeb6857b65a48ce6dabe14c122f190a8b463a65b38ff5acd2f5a654e887ebc929d18e06d8c50e31450c02b4af63f1ac9f6d4475f69734618ec
6
+ metadata.gz: fea62aa1aa7a520377841e3cc1127f820d70303a53f4e92f5e87ce4863fab6c33b48d3a11f171f70ca9a4faf95a214d0cb3a2f97ad1e3b5c2369f5ad7f5d13d1
7
+ data.tar.gz: fe15b72e9f20ce0d4872b323abe2f64e8ab1c7b49a98c89ca534636453c9d39e008ecf24d890f69c813a653ffefb7fb6daf616d1507ecb8fc58cc5a82bf00bf0
data/README.md CHANGED
@@ -13,6 +13,7 @@ CC BY-SA 4.0
13
13
  ### 表示
14
14
 
15
15
  ```console
16
+ % gem install rabbit rabbit-theme-clear-code
16
17
  % rake
17
18
  ```
18
19
 
data/config.yaml CHANGED
@@ -6,7 +6,7 @@ tags:
6
6
  - oss_gate
7
7
  - workshop
8
8
  presentation_date: 2024-05-24
9
- version: 2024.5.24.0
9
+ version: 2024.5.24.2
10
10
  licenses:
11
11
  - CC-BY-SA-4.0
12
12
  slideshare_id:
Binary file
data/scenario.rab CHANGED
@@ -4,7 +4,9 @@
4
4
  clear-code
5
5
 
6
6
  : author
7
- 結城洋志 aka Piro
7
+ 結城洋志 aka Piro\n
8
+ github.com/piroor\n
9
+ x.com/piro_or
8
10
 
9
11
  : institution
10
12
  株式会社クリアコード
@@ -47,33 +49,47 @@
47
49
  * (('wait'))下手にライブラリーを使うと\n
48
50
  名前空間汚染でFirefoxが壊れる
49
51
 
50
- = なぜライブラリー自作?
52
+ = なぜライブラリー自作?(1)
51
53
 
52
- * (('wait'))ニッチすぎて既存の物が無い
53
- * Firefoxの内部実装に強く依存
54
- * 設定読み書き, UIの多言語対応, etc.
55
- * (('wait'))既製UIライブラリーは\n
56
- 自我が強すぎる
57
- * メニューUIなど
58
- * FirefoxのUI=ネイティブUIに\n
59
- 馴染むUIウィジェットが欲しい
54
+ * (('wait'))値の型を自動判別して\n
55
+ nsIPrefBranchの適切な\n
56
+ メソッドを呼んで……
57
+ * (('wait'))nsITimerのインスタンス作って\n
58
+ nsIObserverとして自身を登録し\n
59
+ 指定秒数でコールバックを……
60
60
 
61
- = ライブラリーができるまでの流れ
61
+ (('wait'))ニッチすぎて既存の物が無い
62
62
 
63
- * (('wait'))複数アドオンで共通して\n
64
- 実現したい機能が出てくる
65
- * (('wait'))→関数やクラスを\n
66
-  単体のファイルに切り出す
67
- * (('wait'))→README, LICENSEを付けて\n
68
-  GitHubで公開
63
+ = なぜ自作?(2-1)
69
64
 
70
- = できるもの
65
+ 例:メニューUI
71
66
 
72
- * (('wait'))数十~数百行程度
73
- * (('wait'))他のライブラリーに非依存
67
+ * (('wait'))キーボードで操作できない(jQueryUI)
68
+ * (('wait'))キーボード操作の動作が怪しい(React MUI)
69
+ # image
70
+ # src = ./images/react-mui.png
71
+ # relative_width = 50
72
+
73
+ = なぜ自作?(2-2)
74
+
75
+ * 欲しいのはただ「OSのUIと同じ振る舞いの階層メニューUI」
76
+ * キーボード操作、階層表示、\n
77
+ アクセスキー……
78
+ * XULでは<menu>と書くだけで\n
79
+ できていたのに……
80
+ * (('wait'))Mozillaの頑張りで目が肥えて\n
81
+ 市井のライブラリーでは\n
82
+ 満足できない体に
83
+
84
+ = それでライブラリー自作
85
+
86
+ * (('wait'))わりと小規模
87
+ * webextensions-lib-configs:619行
88
+ * webextensions-lib-menu-ui:994行
89
+ * (('wait'))実装は1ファイル完結が多い
90
+ * 他のライブラリーに非依存
74
91
  * Firefox専用だからpolyfillも不要
75
- * (('wait'))パッケージマネージャーの\n
76
- 必要性が薄い
92
+ * (('wait'))パッケージマネージャーいる?
77
93
 
78
94
  = ていうか……
79
95
 
@@ -81,7 +97,7 @@
81
97
  # src = ./images/lifetime.png
82
98
  # relative_width = 90
83
99
 
84
- 早死にされそうで不安
100
+ (('wait'))採用しても早死にされそうで不安
85
101
 
86
102
  == プロパティー
87
103
 
@@ -95,7 +111,7 @@
95
111
 
96
112
  = ビルド・パッケージング時
97
113
 
98
- * (('wait'))Makefileのmale rule中で\n
114
+ * (('wait'))Makefileのmake rule中で\n
99
115
  ファイルをコピーするだけ
100
116
  xpi:
101
117
  cp submodules/webextensions-lib-configs/Configs.js extlib/
@@ -108,15 +124,14 @@
108
124
 
109
125
  * (('wait'))<script src="..."> で\n
110
126
  同じ名前空間にロード
111
- * (('wait'))ES Modulesのimport
112
- * (('wait'))コピー後に小加工して
113
- 両対応
127
+ * (('wait'))または、ES Modulesのimport
128
+ * (('wait'))コピー後に小加工して両対応
114
129
  xpi:
115
130
  cp submodules/webextensions-lib-configs/Configs.js extlib/
116
131
  echo 'export default Configs;' >> extlib/Configs.js
117
132
  ...
118
133
 
119
- = 何が正解なんだろう?
134
+ = どうする\nのが正解\nなんですか?
120
135
 
121
136
 
122
137
  = ちなみに、今の\nFirefoxアドオン開発
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rabbit-slide-Piro-presentation-vanilla-js-library-topics
3
3
  version: !ruby/object:Gem::Version
4
- version: 2024.5.24.0
4
+ version: 2024.5.24.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - YUKI Hiroshi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-20 00:00:00.000000000 Z
11
+ date: 2024-05-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rabbit
@@ -51,6 +51,7 @@ files:
51
51
  - Rakefile
52
52
  - config.yaml
53
53
  - images/lifetime.png
54
+ - images/react-mui.png
54
55
  - images/systemadmingirl.jpg
55
56
  - images/tst.png
56
57
  - pdf/presentation-vanilla-js-library-topics-scenario.pdf