forked from w3c/web-roadmaps
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathstorage.html
57 lines (47 loc) · 4.72 KB
/
storage.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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Data Storage</title>
</head>
<body>
<header>
<h1>Data Storage</h1>
<p>A critical component of many applications is the ability to save state, export content, as well as integrate data from other files and services on the system.</p>
</header>
<main>
<section class="featureset well-deployed">
<h2>Well-deployed technologies</h2>
<p data-feature="Simple data storage">For simple data storage, the <a data-featureid="webstorage">Web Storage</a> specification offers two basic mechanisms, <code>localStorage</code> and <code>sessionStorage</code>, that can preserve data respectively indefinitely, or on a browser-session basis.</p>
<p data-feature="Database query/update">On top of this file-based access, the <a data-featureid="indexeddb">Indexed Database API</a> (IndexedDB) defines a database of values and hierarchical objects that integrates naturally with JavaScript, and can be queried and updated very efficiently - a <a href="https://w3c.github.io/IndexedDB/">third edition of the specification</a> is under development.</p>
<p data-feature="Encrypted storage">Some of this data need to be encrypted, the <a data-featureid="crypto">Web Cryptography API</a> from the <a href="https://www.w3.org/2012/webcrypto/">Web Cryptography Working Group</a> exposes strong cryptography primitives to Web applications, and can be bound to pre-provisioned keys via the <a data-featureid="cryptokey">WebCrypto Key Discovery</a> API.</p>
<p data-feature="File download">The <a data-featureid="html5-download">HTML5 <code>download</code> attribute</a> provides a simple mechanism to trigger a file download (rather than a page navigation), with the possibility of setting a user-friendly filename.</p>
</section>
<section class="featureset in-progress">
<h2>Technologies in progress</h2>
<div data-feature="File operations">
<p>Although the notion is less prevalent on mobile, there is generally at least some sort of concept of a file system. The <a data-featureid="fileapi">File API</a> provides an API for representing file objects in web applications, as well as programmatically selecting them and accessing their data. The API is read-only. Discussions on a read-write API have now resumed, see <a href="#writable-files">Writable Files</a> below.</p>
</div>
</section>
<section class="featureset exploratory-work">
<h2>Exploratory work</h2>
<p data-feature="Quota for storage">As more and more data need to be stored by the browser (e.g. for offline usage), it becomes critical for developers to get reliable storage space. The proposed <a data-featureid="storage">Storage</a> specification will allow Web applications to get quota estimate for storage as well as to request that the data stored by the application be treated as persistent and cannot be evicted without the user’s explicit consent.</p>
<div data-feature="File operations">
<p>The <a data-featureid="writable-files">Writable Files</a> specification is an early API proposal that lets Websites gain write access to the native file system. It builds on top of the <a href="#fileapi">File API</a>.</p>
</div>
</section>
<section>
<h2>Discontinued features</h2>
<dl>
<dt>Quota management API</dt>
<dd>Work on the <a data-featureid="quota">Quota Management API</a>, started in the Web Platform Working Group to expose an API to manage usage and availability of local storage resources, was discontinued in favor of the newer <a data-featureid="storage">Storage</a> proposal.</dd>
<dt>Client-side SQL-based database</dt>
<dd>The work around a <a data-featureid="websql">client-side SQL-based database</a>, which had been started in 2009, has been abandoned in favor of the work on IndexedDB.</dd>
<dt>Address book data</dt>
<dd>Communication applications can benefit from integrating with their users’ existing data records; on mobile devices, the address book is a particularly useful source of information. For Web apps outside of the browser, a purely programmatic approach was part of the <a href="https://www.w3.org/2012/05/sysapps-wg-charter.html">System Applications Working Group</a>; since this group has now closed, no further work on the <a data-featureid="contacts-sys">Contacts Manager API</a> is expected for the time being. Within the browser, HTML provides <a data-featureid="autocomplete">autocompleted fields for contacts information</a> that would let browsers re-use data from address books.</dd>
</dl>
</section>
</main>
<script src="../js/generate.js"></script>
</body>
</html>