IndexedDB Featured in New Web Development Open Standards Site
Further evidence that NoSQL database technology has triumphed over its relational counterpart in Web development was illustrated earlier this week in the unveiling of a new site aiming to provide a one-stop resource for Web developers using open technologies.
The World Wide Web Consortium's (W3C) Web Platform Docs features IndexedDB as the database technology of choice for client-side storage of substantial amounts of structured data.
Web Platform Docs was announced Monday by Microsoft and other major Web development players who partnered with the W3C to develop the wiki-style site, part of WebPlatform.org. The "alpha" release of Web Platform Docs includes "hot topics" such as HTML5, CSS, Video, File API, Media Queries and more in addition to IndexedDB.
IndexedDB, or the Indexed Database API, is a NoSQL database technology that uses key/value pairs as records with an index over the records for high-performance queries. It was initially proposed as a standard by Oracle in 2009, according to an entry on Wikipedia.
IndexedDB competed for a while with the Web SQL API, similar to SQLite, but the W3C gave up on that in November 2010, stating, "The specification reached an impasse: all interested implementors have used the same SQL backend (Sqlite), but we need multiple independent implementations to proceed along a standardisation path."
Some two years later, browser makers still need to catch up with the winner, IndexedDB. The lack of consensus and agreement on a formal standard has led to uneven support among browsers for different competing technologies. The site caniuse.com, which reports on technology compatibilities, lists IndexedDB as having full support among only about 18 percent of browsers, according to "global usage share statistics," while Web SQL is listed as having about 45 percent. However, IndexedDB was reported to be partially supported by about 31 percent of browsers, for a total of about 48 percent. Firefox is reportedly the only browser with full support in its "current" version.
Microsoft came on board with the standard in March 2010 and supports it with the new Internet Explorer 10 browser coming with Windows 8. According to Firefox browser maker Mozilla, which backed IndexedDB early on and which provides extensive documentation on the technology, the asynchronous IndexedDB API is also supported by the latest (or upcoming) versions of Chrome and Firefox browsers, but not Opera or Safari. (IndexedDB also has a synchronous API, but it's hardly used, which probably accounts for the lack of "full support" listed by caniuse.com.) Opera and Safari support Web SQL, along with the current version of Chrome (and upcoming versions).
The lack of a universally accepted standard has obviously caused problems for Web developers. "It's costly and inefficient for them to spend precious hours consulting multiple resources to understand how to employ Web technologies in a way that functions across browsers, operating systems and devices," said Microsoft's Jean Paoli and Michael Champion in their announcement of Web Platform Docs. Of course, you Web developers have known this for a while now. As one developer said on the hacks.mozilla.org site almost two years ago, commenting on Mozilla's support for IndexedDB in Firefox 4, "I think the way Mozilla are heading is correct. If we don't get this right now, before [Web apps] begin to supplant client-side apps, we're just going to be in one whole kludge of a mess that can't be undone easily."
So consider the new Web Platform Docs as an effort to further address the "kludge of a mess." The site is looking for user input and further development and is pretty bare-bones right now. The IndexedDB page just lists some 80 subpages for methods, properties, events and so on. The content borrows heavily from the MSDN Windows Internet Explorer API reference site. Still, drilling down into individual items can lead to a lot of question marks where content is supposed to go, and some are entirely empty.
So register, log on and help out on the wiki. You can start with the getting started guide about how you can contribute.
The "Web platform stewards" who helped out on the site, in addition to the W3C, Microsoft and Mozilla, include Adobe, Apple, Facebook, Google, HP, Nokia and Opera.
In addition to API documentation, the site features tutorials, forums, chat and a blog. The "Concepts" page includes articles ranging from "The history of the Web" and "How does the Internet Work" to "Mobile JavaScript best practices" and "WebSocket security."
Many Web developers expressed enthusiasm for the new initiative, writing comments on the introductory blog post such as this: "Great work to promote and develop the Web. It's one more step to move the Web forward."
Let's hope so.
What do you think about the new one-stop shop for Web development? Do you see it fleshing out into a vital resource? Do you plan to contribute? Share your thoughts by commenting here or dropping me a line.
Posted by David Ramel on 10/10/2012