/
736.txt
304 lines (229 loc) · 16.5 KB
/
736.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
[27] [DFN[[[Flash]]]] は、かつて [[Webブラウザー]]上で動作する簡易的[[アプリケーション]]の記述に用いられていた[[プラグイン]]です。
* 用途
[13] [[Flash]] は [[Webサイト]]で次の機能を提供するために使われています。その多くはかつては[[プラグイン]]無しでは実現不可能または困難でしたが、現在ではほとんどが [[JavaScript]] と [[DOM]] API のみで実装可能になっています。そのため [[Flash]] が用いられることは徐々に少なくなってきています。
[FIG(list middle)[
- [[二次元図形]]の描画
-- [CODE(HTMLe)@en[[[canvas]]]] で可能
- [[パノラマ]]表示
-- [CODE(HTMLe)@en[[[canvas]]]] で可能
- [[三次元図形]]の描画
-- [CODE(HTMLe)@en[[[canvas]]]] で可能
- [[アニメーション]]効果の表示
-- [[CSS Animation]], [[CSS Transition]], [CODE(HTMLe)@en[[[canvas]]]],
[[JavaScript]] で可能
- [[動画]]、[[音声]]の再生
-- [CODE(HTMLe)@en[[[video]]]], [CODE(HTMLe)@en[[[audio]]]], [[JavaScript]]
で可能
- [[ストリーミング配信]]の再生
-- [CODE(HTMLe)@en[[[video]]]], [CODE(HTMLe)@en[[[audio]]]], [[JavaScript]]
で可能
- [[DRM]] の利用
-- [[DRM]] は使うべきではありません
-- 技術的には [[EME]] で可能
- 異なる[[起源]]の[[HTTP鯖]]へのアクセス
-- [[CORS]] で可能
- システム上で利用可能な[[フォント]]一覧の取得
- [[クリップボード]]へのアクセス
-- [[Clipboard API]] で可能
- [[カメラ]]、[[マイク]]へのアクセス
-- [[WebRTC]] で可能
- [[ゲーム]]
-- [CODE(HTMLe)@en[[[canvas]]]], [[JavaScript]] で可能
- [[全画面表示]]
-- [[Fullscreen API]] で可能
- [[ストレージ]]
-- [[Web Storage]] などで可能
]FIG]
* 問題点
[28] [[Flash]] は[[プラグイン]]として実装されていたので、
[[プラグイン]]の設計上の問題点をすべて継承していました。
([[プラグイン]]、[[NPAPI]] を参照。)
[[Flash]] が利用されているために[[Webブラウザー]]全体が不安定になったり、
深刻な[[セキュリティーホール]]が生じたりすることが日常茶飯事でした。
[29] [[Flash]] は [[Macromedia]] / [[Adobe]] の[[独占的]]技術で、
[[開放型]][[プラットフォーム]]である [[Web]] では異質な存在でした。
(一応他社の実装も存在はしていましたが、実用的なレベルにはありませんでした。)
[[Flash]] の全盛期には、 [[Adobe]] による [[Webプラットフォーム]]の独占的支配も懸念されました。
* 歴史
- [1] [CODE[2J]]: 1997。29800円。 [[Win32]]
[2]
[CITE[@京都: Flashのプロテクト]] <http://playon.jp/MT/archives/000142.html>
([[名無しさん]] [sage])
[3]
[CITE@en[How to put an HTML element on top of a Flash movie - Robert’s talk]] ([[Robert Nyman]] 著, [CODE[2007-02-01 21:02:11 +09:00]] 版) <http://www.robertnyman.com/2007/01/29/how-to-put-an-html-element-on-top-of-a-flash-movie/>
([[名無しさん]] [WEAK[2007-02-01 12:10:18 +00:00]])
[4]
[CITE@en[How to put an HTML element on top of a Flash movie - Robert$B!G(Bs talk]] ([[Robert Nyman]] $BCx(B, [CODE[2007-02-01 21:02:11 +09:00]] $BHG(B) <http://www.robertnyman.com/2007/01/29/how-to-put-an-html-element-on-top-of-a-flash-movie/>
([[名無しさん]] [WEAK[2007-02-01 12:11:03 +00:00]])
[5]
[CITE[Collection & Copy - JavaScript用Flashプロキシ、Javascript Sound Kit]] ([CODE[2007-03-14 14:25:25 +09:00]] 版) <http://d.hatena.ne.jp/brazil/20060726/1153884951>
[6]
[CITE@ja[FlashランタイムのJavaScript実装「Gordon」が登場 - @IT]]
([TIME[2010-01-14 22:16:57 +09:00]] 版)
<http://www.atmarkit.co.jp/news/201001/14/gordon.html>
[7] [CITE@ja[Adobe Flash Player プラグイン - Google Chrome ヘルプ]]
( ([TIME[2012-08-05 08:29:09 +09:00]] 版))
<http://support.google.com/chrome/bin/answer.py?hl=ja&answer=108086>
[8] [CITE[Google がまだ Flash を使っているサービスでみる脱 Flash の難しさ - てっく煮ブログ]]
( ([TIME[2012-02-29 08:00:29 +09:00]] 版))
<http://d.hatena.ne.jp/nitoyon/20120228/why_google_still_uses_flash>
[9] [CITE[Unity - Unity Japan Official Blog – Flashの黄昏]]
( ([[Unity Technologies]] 著, [TIME[2013-04-25 00:45:43 +09:00]] 版))
<http://japan.unity3d.com/blog/?p=998>
[10] [CITE@ja[Google Chrome での使用に関するよくある質問(Flash Player)]]
( ([TIME[2012-08-05 08:28:39 +09:00]] 版))
<http://kb2.adobe.com/jp/cps/854/cpsid_85404.html>
[11] [CITE@ja[Adobe Flash Player プラグイン - Google Chrome ヘルプ]]
( ([TIME[2012-08-10 03:35:51 +09:00]] 版))
<http://support.google.com/chrome/bin/answer.py?hl=ja&answer=108086>
[12] [CITE@ja[ドコモからのお知らせ : Adobe Systems社のFlash Playerアプリ提供終了について | お知らせ | NTTドコモ]]
( ([TIME[2012-08-14 05:25:13 +09:00]] 版))
<http://www.nttdocomo.co.jp/info/notice/page/120814_01_m.html>
[14] [CITE@en[zeroclipboard/zeroclipboard]]
([TIME[2015-02-22 23:46:53 +09:00]] 版)
<https://github.com/zeroclipboard/zeroclipboard>
[15] [CITE@en[Google Chrome Blog: Better battery life for your laptop]]
([TIME[2015-06-05 04:00:25 +09:00]] 版)
<http://chrome.blogspot.ca/2015/06/better-battery-life-for-your-laptop.html>
[16] [CITE@ja[Chromeブラウザ、初期設定でFlashアニメを停止へ - ITmedia エンタープライズ]]
([TIME[2015-06-05 22:14:15 +09:00]] 版)
<http://www.itmedia.co.jp/enterprise/articles/1506/05/news114.html>
[17] [CITE@en[Browser plugins - ArchWiki]]
([TIME[2015-07-11 13:20:28 +09:00]] 版)
<https://wiki.archlinux.org/index.php/Browser_plugins>
[FIG(quote)[
[FIGCAPTION[
[18] [CITE@en[GNU Gnash - GNU Project - Free Software Foundation (FSF)]]
([TIME[2015-07-11 21:36:25 +09:00]] 版)
<http://www.gnu.org/software/gnash/>
]FIGCAPTION]
> GNU Gnash is the GNU Flash movie player — Flash is an animation file format pioneered by Macromedia which continues to be supported by their successor company, Adobe. Flash has been extended to include audio and video content, and programs written in ActionScript, an ECMAScript-compatible language. Gnash is based on GameSWF, and supports most SWF v7 features and some SWF v8 and v9.
]FIG]
[19] [CITE@ja[「AdobeはFlash終了を宣言すべき」とFacebookのセキュリティ責任者 - ITmedia ニュース]]
([TIME[2015-07-14 14:22:00 +09:00]] 版)
<http://www.itmedia.co.jp/news/articles/1507/14/news044.html>
[20] [CITE[Mozilla Blocks Flash, Encourages HTML5 Adoption]]
([TIME[2015-07-23 14:54:54 +09:00]] 版)
<http://www.infoq.com/news/2015/07/mozilla-flash>
[FIG(quote)[
[FIGCAPTION[
[21] [CITE[Technical guidelines]]
([TIME[2015-08-24 22:42:59 +09:00]] 版)
<http://advertising.amazon.com/ad-specs/en/policy/technical-guidelines>
]FIGCAPTION]
> Beginning September 1, 2015, Amazon no longer accepts Flash ads on Amazon.com.
> This is driven by recent browser setting updates from Google Chrome, and existing browser settings from Mozilla Firefox and Apple Safari, that limits Flash content displayed on web pages. This change ensures customers continue to have a positive, consistent experience on Amazon, and that ads displayed across the site function properly for optimal performance.
]FIG]
[22] [CITE@en[Bringing Better Performance to Rich Media on Chrome Video and interactive…]]
([TIME[2015-08-31 19:29:58 +09:00]] 版)
<https://plus.google.com/+GoogleAds/posts/UQSBzWiMpEG?e=-RedirectToSandbox>
[23] [CITE@en[In June, we announced (https://goo.gl/TF7dmD) that Chrome will begin pausing…]]
([TIME[2015-08-31 19:30:40 +09:00]] 版)
<https://plus.google.com/+GoogleAds/posts/2PmwKinJ7nj>
[24] [CITE@ja[9月1日はChromeがFlash広告の再生を停止した日 | TechCrunch Japan]]
([TIME[2015-09-02 10:04:42 +09:00]] 版)
<http://jp.techcrunch.com/2015/09/02/20150901great-news-everyone-chrome-is-just-killed-flash-ads/>
[25] [CITE@ja[Facebook、動画をデフォルトでFlashからHTML5に移行 - ITmedia エンタープライズ]]
([TIME[2015-12-21 11:30:59 +09:00]] 版)
<http://www.itmedia.co.jp/enterprise/articles/1512/21/news048.html>
[26] [CITE@ja[GoogleがFlashを使った広告を全面禁止へ、HTML5ベースに - GIGAZINE]]
([TIME[2016-02-10 21:25:30 +09:00]] 版)
<http://gigazine.net/news/20160210-google-flash-html5/>
[30] [CITE@en[Apply tag attributes in Adobe Flash Professional]]
([TIME[2016-02-20 16:32:06 +09:00]] 版)
<https://helpx.adobe.com/flash/kb/flash-object-embed-tag-attributes.html>
[31] [CITE@ja[Microsoft Edge、重要ではないFlashコンテンツを検出、自動再生停止に | マイナビニュース]]
([[Mynavi Corporation]] 著, [TIME[2016-04-08 16:21:05 +09:00]] 版)
<http://news.mynavi.jp/news/2016/04/08/043/>
[32] [CITE[Intent to implement: HTML5 by Default - Google グループ]]
( ([TIME[2016-05-17 12:55:40 +09:00]]))
<https://groups.google.com/a/chromium.org/d/msg/chromium-dev/0wWoRRhTA_E/__E3jf40OAAJ>
[FIG(quote)[
[FIGCAPTION[
[33] [CITE@ja[NHKネットラジオ らじる★らじる]]
( ([TIME[2016-05-06 13:05:08 +09:00]]))
<http://www3.nhk.or.jp/netradio/k/>
]FIGCAPTION]
> NHKネットラジオ らじる★らじる 読み上げ版は、音声配信をアドビ フラッシュプレーヤーを使用する方式に変更しました。アドビ フラッシュプレーヤーのインストールについては、読み上げ版画面の指示に従って行っていただくか、パソコンをお求めになった販売店等にお問い合わせください。
]FIG]
[34] [CITE@en-US[Putting Users in Control of Flash | Microsoft Edge Dev Blog]]
( ([TIME[2016-06-10 19:44:36 +09:00]]))
<https://blogs.windows.com/msedgedev/2016/04/07/putting-users-in-control-of-flash/>
[FIG(quote)[
[FIGCAPTION[
[35] [CITE[アメーバピグとHTTPプロキシ:やみれんらぼ:So-netブログ]]
( ([TIME[2016-06-16 11:24:21 +09:00]]))
<http://miyatech.blog.so-net.ne.jp/2011-09-06>
]FIGCAPTION]
> 企業なのでファイアウォール、HTTPプロキシサーバがありWebはHTTPプロキシサーバ経由で閲覧するようになっている。
> アメーバピグはFlashで作成されているのだが、ログイン時の通信をパケットキャプチャしたところ、HTTP以外にクライアントのFlashプレーヤーからアメーバピグのサーバに直接TCP:843ポートとTCP:1935の2つのソケット通信を行っていることが判明。
> クライアントからアメーバピグのサーバに対してTCP:843とTCP:1935の通信を直接許可しないとアメーバピグを使用できないことを確認。
> クライアントからはこの2つのポートの通信はHTTPプロキシサーバ経由ではなく直接アメーバピグのサーバにアクセスが行われるので、対処としてはクライアントから直接アメーバピグサーバにアクセスできるようファイアウォールなどのネットワークの設定を変更しなければならない。
> ちなみにTCP:843はAdobe Flashが直接ソケット通信するときに使用するポリシーサーバにアクセスする際に使用するもので、TCP:1935はAdpbe Flash Real Time Messaging Protocol (RTMP)、要はFlashでストリーミング通信を行う際に使用するポートとのこと。
]FIG]
[FIG(quote)[
[FIGCAPTION[
[36] [CITE@ja[Flashとフォワードプロキシ - カイワレの大冒険 Third]]
( ([TIME[2016-06-16 11:27:45 +09:00]]))
<http://masudak.hatenablog.jp/entry/2014/01/08/230000>
]FIGCAPTION]
> ブラウザでプロキシの設定をしても、SWFはプロキシを介してくれません。 これは仕様らしく、wiresharkとかでパケットみないと分からないかも。
> 要は直接サーバとソケット通信しようとしてしまうのです。 そのため、プロキシを介すように魔改造をしなければならない。
]FIG]
[37] [CITE@en-US[A Proxy-savvy Socket in ActionScript 3]]
( ([TIME[2016-06-16 11:28:26 +09:00]]))
<http://blogs.adobe.com/cantrell/archives/2006/07/a_proxy-savvy_s.html>
[FIG(quote)[
[FIGCAPTION[
[38] [CITE[もなちゃと技術解説]]
( ([TIME[2016-05-31 17:11:09 +09:00]]))
<http://mojachat.web.fc2.com/tech.html>
]FIGCAPTION]
> multi.moja.jpにかいてあるように、サーバーはJavaで書かれたGPSS、クライアントはFlashです。ここでいうクライアントとはユーザー側のPCで動くプログラムのことをいいます。サーバークライアント間の通信には、XMLSocketっていうプロトコルのようなものを使っています。Flashでは一般的みたいです。Flashは使ったことないんでよくわかりません。また、XMLってあるけどXMLじゃなくても通信できるっぽいです。
> 複数起動を阻止するために、FlashのLocalConnectionっていうのを使ってるっぽいです。これによって同じドメイン名(monachat.dyndns.org)のチャットは、1つしか起動できないということになります。改造クライアントが複数起動できるのは、LocalConnectionを使っていないか、ドメイン名が違うからだと思われます。多重入室できないのとはまた別の話で、多重入室できないのは1つのチャットにつき1つのIPアドレスしか接続できないというものです。改造クライアントで入り口と大部屋に同時に入れるのは、複数起動阻止を無効化していて、別々のチャットだからということになります。
>
]FIG]
[39] [CITE@en-US[Enforce Global Flash Player Security And Privacy Settings - gHacks Tech News]]
( ([TIME[2016-06-16 19:41:38 +09:00]]))
<http://www.ghacks.net/2010/09/07/enforce-global-flash-player-security-and-privacy-settings/>
[FIG(quote)[
[FIGCAPTION[
[40] [CITE@en[Google Chrome Blog: Flash and Chrome]]
( ([TIME[2016-09-14 19:54:59 +09:00]]))
<https://chrome.googleblog.com/2016/08/flash-and-chrome.html>
]FIGCAPTION]
> This is similar to a change we made last September, when some Flash content became click-to-play with Chrome 42. This had an immediate, positive impact for our users by improving page load times and saving battery power.
> In December, Chrome 55 will make HTML5 the default experience, except for sites which only support Flash. For those, you’ll be prompted to enable Flash when you first visit the site. Aside from that, the only change you’ll notice is a safer and more power-efficient browsing experience.
]FIG]
[FIG(quote)[
[FIGCAPTION[
[41] [CITE@en[Chromium Blog: Chrome 53 Beta: Shadow DOM, PaymentRequest, and Android autoplay]]
( ([TIME[2016-09-17 08:54:54 +09:00]]))
<http://blog.chromium.org/2016/08/chrome-53-beta-shadow-dom.html>
]FIGCAPTION]
> Cross-origin plugin content smaller than 5x5 pixels no longer loads for users that have set "Detect and run important plugin content."
]FIG]
[FIG(quote)[
[FIGCAPTION[
[42] [CITE@en[Chromium Blog: Chrome 54 Beta: Custom Elements V1, BroadcastChannel, and media platform improvements]]
( ([TIME[2016-09-17 08:54:54 +09:00]]))
<https://blog.chromium.org/2016/09/chrome-54-beta-custom-elements-v1.html>
]FIGCAPTION]
> To match behavior in other browsers, embedded YouTube Flash players will be rewritten by Chrome to use the HTML5 embed style, improving performance and security on Chrome Desktop.
]FIG]
[FIG(quote)[
[FIGCAPTION[
[43] [CITE[「動画視聴ページ HTML5版(β)」提供開始のお知らせ‐ニコニコインフォ]]
([TIME[2016-10-27 17:46:38 +09:00]])
<http://blog.nicovideo.jp/niconews/ni064261.html>
]FIGCAPTION]
> 2016年10月27日(木)13時より一部のプレミアム会員を対象に、
> 新しい動画視聴ページである「動画視聴ページ HTML5版(β)」
> (以後、 「HTML5版」と記載)の提供を開始いたしました。
> 「HTML5版」では、動画再生可能となるまでの速度が、
> 従来の「動画視聴ページ Flash版」(以後、「Flash版」と記載)と比較して
> 高速化しており、より快適に動画をご視聴いただけます。
> しかしながら「Flash版」で提供中の"シークバー上のサムネイル表示"や"コメントのNG追加"などの一部機能や導入を計画中の新規機能につきましては、追っての提供予定となるため、今回、β版での提供とさせていただいております。
> β版提供期間中は、「HTML5版」と「Flash版」の新旧動画視聴ページを
> 自由に御切り替えいただけます。
]FIG]