Description
Mobile JavaScript development requires focus on different strategies and methodologies, than traditional web applications. The processing power (both CPU and GPU) is limited, memory is limited. Latency is a killer. Memory leakage is a problem. Dealing with cache manifests and offline browsing is also an important thing to consider.
Therefore, you might need to unlearn what you've learned before.
Let's start with the memory: Memory leakage is a problem, because the application will most probably be a single page fat-client app, that will not be switched off for hours, or even days. Dealing with cache manifests and offline browsing is also an important thing to consider.
Therefore, to create a fast (near 60fps) mobile javascript application that uses less memory as possible; you might need to re-evaluate your options. -- In that regard, my presentation will be roughly around the following subject matters:
- A multi-tiered architecture may be shooting yourself in the foot
- Not using a library/framework should be the way to go, if you can.'
- The less objects you create, the better.
- The less the size of DOM, the better (and you might need special techniques like DOM-sharding)
- Being minimalistic is your friend. If you need a banana, don't pass a gorilla that holds the banana and the entire jungle with it.
- You can create applications that perform quite like their native counterparts, if you pay some extra attention to details.
In my presentation I would like to talk about the best practices to make your single page, fat client, hybrid JavaScript web application as snappy as its native counterpart.
Some of the techniques that I offer might seem arguable, and open to discussion. And I won't be talking about "the only way" that works; per contra I will be discussing "a way that works all the time".
Prerequisites:
Familiarity with JavaScript, HTML5, and CSS3.