We don't need your polyfills!

In the fast changing world of HTML5, we've grown accustomed to using polyfills to bring future and current features to all browsers. Browsers are starting to catch up and support these features natively, yet we continue to bundle code that may not be used. Find out how Webpack's chunking and code splitting can be used to only download polyfills when necessary. Edit: Promises are used internally in Webpack's System.import, so the Promise API polyfill is required. Other polyfills will
- We don't need your polyfills!

Read more

ES6 module chunking and deferred loading with Webpack 2

Webpack does a lot more than bundle source files into a distributable package. Its code splitting and dynamic loading capabilities make it a great tool for controlling the lifecycle of an application. This article shows a real-world example of code splitting and chunking to positively impact user experience. I was recently tasked with creating a widget for showcasing 3D products. The primary goal was to create something that could be dropped into any page with a few lines of code.
- ES6 module chunking and deferred loading with Webpack 2

Read more

(Ab)using ES6 arrow functions, the right way.

ES6 Arrow Functions are not only short and concise, but also address the fundamental issue with JavaScript scope and judging by Stack Overflow answers like this one, their (ab)use is quite ubiquitous. Problem is, many projects that are replacing the old function syntax with arrow functions are losing debugging capabilities due to their anonymous nature. Find out how you can continue using arrow functions without compromising debugging capabilities. The Problem Most examples of arrow functions make JavaScript look like
- (Ab)using ES6 arrow functions, the right way.

Read more

JavaScript is all grown up, or is it?

JavaScript has received its first major update since 2009. Find out what ES6 features will have the biggest impact on your codebase using real-world examples and get the tooling to get started in all 3 flavours: Gulp, Grunt and Webpack. ES6 stands for ECMAScript6, which is the latest version of language specification JavaScript is derived from. Back in December of 2015, I took the lead to re-write the 3D engine that powers our awesome Design Center application. We use ThreeJS
- JavaScript is all grown up, or is it?

Read more

The future is looking good: HTML5 finally getting love from vendors.

In my experience, HTML5 has been dismissed in favour of native apps because it just did not have the same "wow" factor. Even the best written apps often suffer from sluggishness and noticeable performance bottlenecks on mobile, and the experience is inconsistent across platforms and devices. Putting aside code quality, frameworks, how much jQuery spaghetti is in the code, lets explore other critical factors that affect HTML5 performance and talk about some exciting recent events that are defining the future
- The future is looking good: HTML5 finally getting love from vendors.

Read more

Cross-platform Unix shell scripting with shell.js

In my daily development, I rely on bash religiously. I use git shell for git operations, and my build systems rely on node. A headache that comes with this is writing cross-platform scripts (one example is the headaches with backslashes vs forwardslashes). Previously, I relied on separate scripts per OS, batch (.bat) for Windows, and Bash (.sh) for Linux and Mac. This was getting out of control, as keeping these in sync had become a hassle. For more complex builds
- Cross-platform Unix shell scripting with shell.js

Read more