-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathindex.html
215 lines (143 loc) · 10.3 KB
/
index.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
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
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>API Gap</title>
<link rel="stylesheet" href="http://www.w3.org/2007/08/video/style.css" type="text/css"/>
<link rel="stylesheet" href="http://www.w3.org/2007/08/video/print.css" type="text/css" media="print"/>
<link rel="stylesheet" href="style.css" type="text/css"/>
<meta name="author" content="Dominique Hazael-Massieux"/>
<meta name="twitter:card" content="summary"/>
<meta name="twitter:site" content="@w3c"/>
<meta name="twitter:creator" content="@dontcallmedom"/>
<meta name="twitter:title" content="Standards for Web Applications on Mobile"/>
<meta name="twitter:description" content="DESCRIPTION"/>
<meta name="twitter:image" content="http://www.w3.org/Mobile/mobile-web-app-state/webapp.png"/>
</head>
<body>
<div id="page">
<h1>API Gap: Analysis of APIs on Native Mobile Platforms and the Web</h1>
<h2 id="month"></h2>
</div>
<div id="main">
<p class="logo">
<a href="http://html5apps-project.eu/"><img src="html5apps.png" alt="HTML5Apps"></a>
<a href="/"><img alt="W3C" src="//www.w3.org/Icons/w3c_home"/></a>
</p>
<dl class="versions">
<dt>Latest version</dt>
<dd>
<a href="http://www.w3.org/Mobile/api-gap/">http://www.w3.org/Mobile/api-gap/</a>
</dd>
<dt>This version</dt>
<dd id="this"> (<a href="Overview.pdf">PDF version</a>)</dd>
<dt>Previous version</dt>
<dd id="prev"></dd>
</dl>
<p>DOC DESCRIPTION.</p>
<ol>
<li><a href="#device">Device Hardware Interaction</a></li>
<li><a href="#device">Device Apps Interaction</a></li>
<li><a href="#coreapps">Core Apps Interaction</a></li>
<li><a href="#geo">Geo</a></li>
<li><a href="#service">Core Device, Task Management and Scheduling (Service?)</a></li>
<li><a href="#rtc">Media and Real-Time Communications</a></li>
<li><a href="#storage">Storage, File and Cache Management</a></li>
<li><a href="#network">Network Information and Call/Message Management</a></li>
<li><a href="#payments">Payments</a></li>
<li><a href="#webview">Webview</a></li>
</ol>
<section>
<h2>Document structure</h2>
<p>In this document readers can find a list of native APIs for mobile operating systems. Some of these APIs have web equivelants. This documnet hopes to highlight the gaps for possible standards work to close the gap with web and native.</p>
</section>
<script id="key" type="template">
<p class='key'>Key: <br><span class='high'>Mature Browser API</span> <span class='medium'>In Progress Browser API</span> <span class='low'>Early work on a Browser API</span> <span class='fail'>Work on Browser API failed</span><br> <span class='none'>No API for that feature</span> <span class='native'>Native platform API</span> <span class='unknown'>Missing Information</span><br><span class="browser">Uses browser API</span> <span class="proprietary">Proprietary JavaScript API</span> <span class="gap">JavaScript API</span> </p>
</script>
<section class="featureset">
<h2 id="device">1.Device Hardware Interaction</h2>
<p>Native mobile operating systems offer a set of APIs which allow apps to interact with device hardware. This can include sensors, wireless communication readers, or battery and screen information and controlling APIs.</p>
<p>The <a data-featureid="battery">Battery APIs</a> allows developers to get device battery status and ...</p>
<p>With developments in Internet of Things devices <a data-featureid="bluetooth">Bluetooth</a> and <a data-featureid="bluetooth-le">Bluetooth LE APIs</a> (for low energy devices) have become very useful to native app developers, allowing them to create screen experiences for external small devices or allowing users to communicate with other users in close range.</p> A <a href="http://www.w3.org/community/web-bluetooth/">Web Bluetooth Community Group</a> was started to develop a Bluetooth API for browsers with a particular goal of supporting Bluetooth Low Energy devices.</p>
<p>Other close-ranged technologies in use include <a data-featureid="nfc">NFC APIs</a>. These are particularly useful for payments and ticketing use cases where contact is expected and security is more important. The <a href="http://www.w3.org/2012/nfc/">NFC Working Group</a> at W3C developed a web version of a Web NFC API.</p>
<div>
<p>As more use cases arrive for interacting with the world around users more sensor hardware is added to devices. Native mobile platforms allo app developers to interact with these sensors through a host of APIs. The <a data-featureid="compass">Compass API</a> returns compass data good for map or AR use cases; <a data-featureid="magnetometer">Magnetometer APIs</a> also support these use cases. The <a data-featureid="accelerometer">Accelerometer APIs</a> can alert an app to the tilt or shift of the mobile's orientation to allow apps to change their user experience to meet the situation.
</div>
<p>Mobile devices offer more feedback options now other than just sound, the <a data-featureid="vibration">Vibration APIs</a> gives apps the ability to signal to the vibration element in devices to turn on, off or react in a certain way.</p>
<p>The <a data-featureid="wifi-wake">Wifi-Wake API</a> ...</p>
<p><a data-featureid="usb">USB APIs</a> gives apps the ability to interact with other devices through the USB port.</p>
</section>
<section class="featureset">
<h2 id="coreapps">2.Device Apps Interaction</h2>
<p>Mobile operating systems have a set of features which are often reused in applications.</p>
<p>The <a data-featureid="calendar">Calendar API</a> ...</p>
<p>The <a data-featureid="contacts">Contacts API</a> ...</p>
<p>The <a data-featureid="push-notifications">Push Notifications API</a> ...</p>
<p>The <a data-featureid="globalization">Globalization API</a> ...</p>
<p>The <a data-featureid="ime">IME API</a> ...</p>
<p>The <a data-featureid="local-notification">Local Notifications API</a> ...</p>
</section>
<section class="featureset">
<h2 id="geo">3.Geo</h2>
<div>
<p>Geolocation functionality allows apps to locate a device. APIs here care little for the underlying technology used but provide developers with information necessary to return to users their location.</p>
<p>The <a data-featureid="geolocation">Geolocation API</a> ...</p>
<p>The <a data-featureid="geofencing">Geofencing API</a> ...</p>
<p>The <a data-featureid="indoor">Indoor API</a> ...</p>
</section>
<section class="featureset">
<h2 id="service">4. Application Lifecycle</h2>
<p>Large applications and/or those which send constant requests to a network can cause drain on a mobile devices resources including battery and CPU power. APIs exist to allow native apps to manage their power and bandwidth consumption more intelligently.</p>
<p>The <a data-featureid="background-scheduler">Background Scheduler API</a> ...</p>
<p>The <a data-featureid="cpu-wake">CPU Wake API</a> ...</p>
<p>The <a data-featureid="device-info">Device-info API</a> ...</p>
<p>The <a data-featureid="screen-wake">Screen-wake API</a> ...</p>
</section>
<section class="featureset">
<h2 id="rtc">4.Media and Real-Time Communications </h2>
<p>Social and messaging native apps on mobile devices often use camera and microphone input to...</p>
<p>The <a data-featureid="camera-stream">Camera-stream API</a> ...</p>
<p>The <a data-featureid="media-capture">Media-capture API</a> ...</p>
<p>The <a data-featureid="media-play">Media Play API</a> ...</p>
</section>
<section class="featureset">
<h2 id="storage">5.Storage, File and Cache Management</h2>
<p>Native apps sometimes have use cases for file management and trasfer, this can include sending, receiving and opening photos or reading pdf documents...</p>
<p>The <a data-featureid="file-transfer-background">File Transfer Background API</a> ...</p>
<p>The <a data-featureid="file-transfer">File Transfer API</a> ...</p>
</section>
<section class="featureset">
<h2 id="network">6.Network Information and Call/Message Management</h2>
<p>Network connectivity represents a major asset for mobile devices: the Web is an immense store of content, as well as an almost endless source of processing power, overcoming two of the limitations of mobile devices...</p>
<p>The <a data-featureid="contacts">Contacts API</a> is ... and can be found above. </p>
<p>The <a data-featureid="dialer-invokation">Dialer invokation</a> ...</p>
<p>The <a data-featureid="av-comm">Audio/video communication</a> ...</p>
<p>The <a data-featureid="network-info">Network Information API</a> ...</p>
<p>The <a data-featureid="messaging">Messaging API</a> ...</p>
</section>
<section class="featureset">
<h2 id="payments">7.Payments</h2>
<p>Payments, both in-app and in-store are a key feature of a number of native mobile apps and also a direct way of monitization for mobile app developers...</p>
<p>The <a data-featureid="in-app-billing">In App Billing API</a> ...</p>
<p>The <a data-featureid="purchase">Purchase API</a> ...</p>
</section>
<section class="featureset">
<h2 id="webview">8.Webview</h2>
<p>Webview...</p>
<p>The <a data-featureid="webview">Webview API</a> ...</p>
</section>
<section>
<h2>Acknowledgments</h2>
<p>THANKS TO...</p>
<p>This document is produced through the <a href="http://html5apps-project.eu/">HTML5Apps project</a>, funded by the European Union through the Seventh Framework Programme (FP7/2013-2015) under grant agreement n°611327 - HTML5 Apps.</p>
<!--<p><a href="index.es.html">Spanish</a> translation is produced through the <em>Expert advice on mobility and visualization</em> project, funded by <a href="http://www.cenatic.es/">Cenatic</a>.</p>-->
</section>
<div id="footer">
<address><a href="http://www.w3.org/People/Dom/">Dominique
Hazaël-Massieux</a> <<a href="mailto:[email protected]">[email protected]</a>> / <a href="https://twitter.com/dontcallmedom">@dontcallmedom</a><br/>
Last Modified: $Date: 2013-10-01 08:26:07 $</address>
</div>
</div>
<script src="js/generate.js"></script>
</body>
</html>