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

Sign up to get free protection for your applications and to get access to all the features.
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