For example, take the use of offline data, particularly SQL. This has been FUBARED because of an awful decision by Mozilla/Firefox and Microsoft/IE not to support WebSQL. So now users needing to support multi-tables that requires joins of different tables [think Products, Clients, Orders or Rooms, Devices, Connectors as some very common examples not served well by Indexeddb, the Mozilla “solution”] have to resort to a wide array of fallbacks [either error traps or replacement extensions], shims [complete but non-standard replacements] and/or polyfills [different routines depending on what browser is being used]. So here are some of the Web BandAids that help patch up things so you can get find out how to use Web tools most effectively.
HTML5Tests tells which browsers have been good and which have been bad in implementing the ever-expanding HTML5 API. It is not comprehensive but does give a you bearings on what browser to use. Chrome continues to lead among the 5 major browsers while Apple Safari has wrested the dubious crown of worst browser by a growing margin [congratulations to Tim Cook & company for despoiling the Apple Web Brand] from Microsoft and IE.
Can I Use
Caniuse.com is the more definitive source of what is happening with browser implementations of HTML5, CSS, and JS not because of comprehensiveness but rather for the mobile browser info and the links back to the W3C and other standard bodies for more detailed descriptions of what the current state of the specific API is. Caniuse has better coverage of topics interest to web developers.
Come to HTML5Please when you can’t find a definitive statement from HTML5Test or Caniuse on the status of some HTML5, CSS, JS, etc. Alternatively, come here when you have found a feature is not fully supported. HTML5Please sometimes has some nifty shims, fallbacks and other workaround plus the links to where you can do better. Not all the answers but helpful in contrast to the WebStandards Project which has mercifully only congratulated itself into silence.
W3C Web Platform Project
HTML5BoilerPlate is somewhat misnamed because it also includes starting CSS and JS code that makes a very good starting point of for single page web apps using Bootstrap, Foundation Zurb and INK. The advantage of BoilerPlate is that users can download a custom build. Other web tools like WordPress, Drupal, Joomla etc often supply Boilerplate functionality in their themes. But check through the Boilerplate source code to make sure your CMS or Web App is complete.
If you been asking, is there a library that can detect what features a browser offers and then offer some fallback functionality? – then you have defined the purpose of Modernzr:
At first it was just the rapid Web development with even standard setters behind the curve on Web innovations and coding developments. But Microsoft under Bill Gates and Steve Ballmer tried to establish a proprietary web based on IE’s dominance of browsers. That failed; but Apple with Safari is now trying the same tactic slowing down or not implementing not just HTML5 but also other Web standards such that Apple has now become the Web standards laggard. Now rightfully, Apple has been praised for its Webkit and other Web standards innovations from 5-10 years ago, but the consensus is that Apple under Tim Cook has become the Web Standards Delayers-in-Chief. which the other Web vendors may find convenient to lamely follow depending on the implications to their own Web software stack.
Hence the rise of Web Bandaids. They first arose because of rapid Web developments across the board ahead of Web standards; but now these advisories and coding aids are now necessary but often insufficient tools to patch up the differences between the major Web vendors browsers and other Web tools. Its the Sisyphus work of users and developers having to fill in for the deficits of the Web’s patriarchs.