http://tobiasahlin.com/spinkit/
With the launching of this API we have welcomed two new document property which does two different functions. The first one is document.visibilityState
and second one is document.hidden
.
document.visibilityState
holds four different values which are as below:
- hidden: Page is not visible on any screen
- prerender: Page is loaded off-screen and not visible to user
- visible: Page is visible
- unloaded: Page is about to unload (user is navigating away from current page)
Full article on http://code.tutsplus.com/articles/html5-page-visibility-api–cms-22021
Phaser is a fun, free and fast 2D game framework for making HTML5 games for desktop and mobile web browsers, supporting Canvas and WebGL rendering.
http://www.promisejs.org/intro/
We want our code to be asynchronous, because if we write synchronous code then the user interface will lock up (in client side applications) or no requests will get handled (in server applications). One way to solve this problem is threads, but they create their own problems and are not supported in JavaScript.
One of the simplest ways to make functions asynchronous is to accept a callback function. This is what node.js does (at time of writing). This works, but has a number of issues.
- You lose the separation of inputs and outputs to a function since the callback must be passed as an input
- It is difficult to compose multiple serial or parallel operations
- You lose a lot of helpful debugging information and error handling ability relating to stack traces and the bubbling up of exceptions
- You can no longer use the built in control flow constructs and they must all be re-invented to work asynchronously.
Many APIs in the browser use some kind of event based model for control flow, which solves problem 1, but not problems 2 to 4.
Promises aim to solve issues 1 to 3 and can solve problem 4 in ES6 (with the use of generators).
http://nodeschool.io/#learn-you-node
http://lhorie.github.io/mithril/index.html