forked from w3c/web-roadmaps
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlifecycle.ja.html
87 lines (68 loc) · 9.12 KB
/
lifecycle.ja.html
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
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>プラットフォームとの統合</title>
</head>
<body>
<header>
<h1>プラットフォームとの統合</h1>
<p>ウェブゲームでの体験の重要な要素としてゲームがシステムのほかの要素とどのように協調し、オフラインであってもいつでも利用可能なレスポンシブなユーザインターフェースや、ユーザのホームへインストール可能な形、ユーザにゲームを再開してもらえるような簡単なプッシュ通知などでのゲームの再開、などといったネイティブに近い体験を提供できるかという点が挙げられます。</p>
<p>アプリケーションがインストールされ、ユーザのアプリケーションリストに表示され、起動され、終了され、リモート通知から再開され、デバイスがオンラインになったときに同期される、といった、<strong>アプリケーションライフサイクル</strong>の一部分にこれらは数えられます。これらはまた<strong>プログレッシブウェブアプリ</strong>(PWA)の基盤でもあります。</p>
</header>
<main>
<section class="featureset well-deployed">
<h2>実装されている仕様</h2>
<div data-feature="Foreground detection">
<p><a data-featureid="page-visibility">画面表示状態 (Page Visivility)</a> の仕様により、開発者はアプリケーションが表示中であるかを検出可能になり、動作や計算資源消費を最適化できるようになります。</p>
</div>
<p data-feature="Notification">ユーザはどこにでもモバイルデバイスを持ち歩くようになり、リマインダや、メッセージなどのイベント通知などに利用するようになりました。<a data-featureid="notifications">Web 通知 (Web Notifications)</a> 仕様によりウェブ環境でも機能を利用可能になりました。</p>
</section>
<section class="featureset in-progress">
<h2>仕様化が進行中の仕様</h2>
<div data-feature="Screen wake lock">
<p>ゲームは比較的長い時間にわたるユーザによる利用を想定しがちです。<a data-featureid="screen-wake-lock">Screen Wake Lock API</a> を利用することで開発者が画面表示状態が必要であることを示すことが可能になり、バッテリを温存するために画面が消されることがないようにできます。</p>
</div>
<div data-feature="Packing">
<p>パッケージ化されているかどうかにかかわらず、通常利用しているアプリケーションのリスト中からアプリケーションを探す際にはさまざまなメタデータ (名前、アイコン) を利用します。<a data-featureid="appmanifest">ウェブアプリケーションマニフェスト (Web App Manifest)</a> によりそれらのメタデータを一つの JSON ファイルで指定できます。</p>
</div>
<div data-feature="Offline Web apps">
<p><a data-featureid="serviceworkers">Service Workers</a> 仕様によりバックグラウンドで動作し続けるアプリケーションを作成することが可能になり、オフライン動作もできるようになりました。</p>
<p>Service Workers によりウェブアプリケーションはオフラインや細い回線状況でも気にせず動作できるようになりましたが、それ以外にもブラウザウィンドウで開かれていない間やブラウザ自体が動作していない間にもウェブアプリケーションを動作させることが可能になりました。これにより、ウェブアプリケーションをバックグラウンドで動作させ、外部からのイベントに反応させることができるようになります。</p>
</div>
<div data-feature="Notifications">
<p><a data-featureid="push">Push API</a> によりリモート通知を受け取ることができるようになり、受信時に起動させることが可能になります。これまで長い間、ネイティブアプリケーションではそういった通知を利用することでユーザ体験を向上させています。</p>
</div>
<div data-feature="Background execution">
<p><a data-featureid="background-sync">ウェブバックグラウンド同期 (Web Background Synchronization)</a> 仕様により Service Worker を利用してウェブアプリケーションはネットワーク通信をバックグラウンドで行うことでデータ更新を途切れなく行えるようになり、またモバイルデバイスでよく発生する安定しない通信環境でも対応できるようになります。</p>
</div>
<div data-feature="Geofencing">
<p>バックグラウンド動作に加え、<a data-featureid="geolocation-sensor">位置情報取得 (Geolocation Sensor)</a> 仕様により、ウェブアプリケーションでもデバイスが特定の地理的領域に入った場合に起動する動作が可能になります。これは geofencing としても知られています。</p>
</div>
</section>
<section class="featureset exploratory-work">
<h2>調査中の項目</h2>
<div data-feature="Packing">
<p><a data-featureid="packaging">ウェブパッケージ (Web Packaging)</a> はウェブサイトやアプリケーションをパッケージ化する形式についてまとめています。</p>
</div>
<div data-feature="State transition">
<p>特にモバイルデバイスで動作しているアプリケーションは、動作中からアイドル、停止、中止、破棄、終了などのステートをとることがあります。それらのステート間の遷移はオペレーティングシステムによって開始され、ウェブアプリケーションからでは判断できません。<a data-featureid="page-lifecycle">ページライフサイクル (Page Lifecycle)</a> の提案はアプリケーションのステート遷移を取得し、遷移を戻したりネットワークの有効・無効を切り替えたりなどの動作ができるようにするものです。</p>
</div>
</section>
<section>
<h2>中止された項目</h2>
<dl>
<dt>アプリケーションキャッシュ (Application caches)</dt>
<dd><a data-featureid="appcache">アプリケーションキャッシュ (application cache)</a> の機構はウェブアプリケーションがオフラインでも、ブラウザがキャッシュしているマニフェストの定義により読み込めるようにするため HTML5 に導入されました。この機能はセキュリティー問題を惹起し、また開発者がどの程度キャッシュされるかを制御できるかに非常に依存していました。このため、HTML 5.1 では廃止され HTML 5.2 で削除され、より高機能な <a href="https://www.w3.org/TR/service-workers-1/">Service Workers</a> 仕様に替わりました。</dd>
<dt>タスクスケジュール (Task Scheduling)</dt>
<dd><a data-featureid="task-scheduler">タスクスケジューラー (Task Scheduler) API</a> はウェブアプリケーションに紐づいたサービスワーカー経由で特定の時刻にタスクを起動するために考案されました。この仕様は現在は閉じられた System Applications Working Group で検討されており、結果的に見送りとなりました。</dd>
<dt>Geofencing API</dt>
<dd><a data-featureid="geofencing">Geofencing API</a> は特定の地理的領域にデバイスが入ったときにウェブアプリケーションを起動するために検討されました。API によるトリガーに必要な権限についてユーザのプライバシー問題との兼ね合いについてよい方策が見つからなかったことにより、今では廃止されています。バックグラウンド動作が可能になったことにより、<a href="https://www.w3.org/TR/geolocation-sensor/">位置情報取得</a>の仕様を利用することで近いことが実現可能になっています。</dd>
<dt>バックグラウンド動作予約 (Background execution budget)</dt>
<dd>ユーザエージェントはウェブアプリケーションがバックグラウンドで動作し常にユーザが操作できる状態にしておくことを制限することがあります。<a data-featureid="budget-api">Web Budget API</a> はアプリケーションが消費量を見積り、動作をそのまま行うかどうかの判断をするためのバックグラウンド動作を停止する条件を提示する機構を提案していました。この提案は支持がなかったため廃止されています。</dd>
</dl>
</section>
</main>
<script src="../js/generate.js"></script>
</body>
</html>