HTML5 is the next revision of the HTML specification. HTML is the protocol that dictates how browsers display content in webpages. HTML5 brings dozens of new features that allow for rich applications to be deployed natively in browsers. The ChemDoodle Web Components library attempts to take advantage of as many of these new features as possible to bring scientific applications into the future.
The ChemDoodle Web Components library currently makes significant use of the following HTML5 features. Only <canvas> and <canvas> text are required to use ChemDoodle Web Components. As of the time of this writing, the latest versions of all major browsers support both of those technologies. The rest of the technologies used allow for additional functionality that is described below. Most current browsers should support these features. To determine if this browser supports these features, please look to the right. A summary of browser support for ChemDoodle Web Components is provided on the Browser Compatibility page.
Canvas and Canvas Text
Text was originally not supported for the <canvas> tag. It was later incorporated into the HTML5 specification as requests for its need were made. Now that text can be drawn easily, any 2D graphics that one can imagine can be produced in web browsers.
All canvases in the ChemDoodle Web Components library are based on the <canvas> tag. The <canvas> tag and text rendering for the <canvas> tag are fully supported in the latest versions of all major browsers.
- Apple <canvas> documentation
- Mozilla <canvas> tutorial
- Mozilla <canvas> text documentation
- Collection of <canvas> demos
All 3D canvases in the ChemDoodle Web Components library are based on WebGL. WebGL became a production technology in the beginning of 2011, and is fully supported in Google Chrome, Mozilla Firefox, Apple Safari and Opera. Microsoft Internet Explorer supports WebGL starting with version 11.
- Khronos WebGL documentation
- Introduction to WebGL by Giles Thomas
- Obtaining and using WebGL browsers
XMLHttpRequest Level 2
Due to security issues, AJAX calls were restricted to the server that hosts the web application. Now that security has improved, an addition to the HTML5 specification, named XMLHttpRequest Level 2 (XHR2) was introduced. XHR2 allows AJAX calls to be made from one origin to a server hosted at a different origin, as long as that server has the requesting origin registered.