Nitro, JavaScriptCore, and JIT

.

The subject of UIWebView not using JIT-enabled JavaScript engine becomes popular again, mainly due to the fresh release of Google Chrome for iOS. Unlike Chrome on other platform, Chrome on iOS is just an alternative user-interface on top of the UIWebView component hence making Chrome slightly inferior to Safari in pure JavaScript performance. This is… Read more »

PhantomJS 1.6 “Lavender”

.

(By Fir0002/Flagstaffotos (Own work) CC-BY-NC, via Wikimedia Commons) Some days ago, right during the solstice, I have tagged version 1.6.0 of PhantomJS, the scriptable headless WebKit. This version is named Lavender, the story goes as follows: …for this summer release, I pick the code name “Lavender”. This summer flower is not only beautiful, it is… Read more »

Esprima and Harmony Module

.

When developing a large-scale application, modularity becomes an important factor. If the environment is JavaScript, several module patterns, from AMD to CommonJS, are available for your disposal. Every one of them usually works around the fact that there is no linking stage in JavaScript, all compilation units are loaded together. Fortunately, this issue is addressed… Read more »

Detecting Boolean Traps with Esprima

.

A bad API can lead to ambiguities and reduced readability. One very common thing I still encounter in various JavaScript frameworks is the so-called Boolean trap, i.e. the unwise use of Boolean argument(s) in a function call. Reviewing or reading code which gets trapped there is not fun. The earlier we can catch such as… Read more »

Sierra Foxtrot Oscar Alpha Mike Sierra

.

Last week Fluent Conference in San Francisco was a blast. I got to meet old friends, made new ones, and finally got to speak to some people I know only from the online media. For a nice wrap-up (along with the list of interesting videos), check out Axel’s blog post. For the next week, I’m… Read more »