Grunt and Gulp are two popular tools to automate repetitive, mundane, painful and time-consuming tasks effectively

Task runners are tools to orchestrate those kinds of tasks in an efficient way, the workflow made easy with the ecosystem of plugins to automate all kinds of tasks you can imagine, the speed can be optimized behind the scene to leverage multi-threads, and can be used as standalone or integrated into a more complicated pipeline.

Task is the heart of task runners, often available as plugin packages, most popular task runners will provide some official plugins and allow you to create custom plugins of your own. …

An overview of what WebAssembly (Wasm) is, how it works, and it’s current position in the web development stack

WebAssembly (Wasm) technology is trending, even still at early experimental stage, it creates so much excitement from community and opens a lot of opportunities to make web platform even greater than ever.

What is WebAssembly?

In a nutshell, WebAssembly is a low-level assembly-like near-native performance language that can be run in modern web browsers, designed as a portable target for compilation of high-level languages like C++ or Rust, and plays nicely with other technologies in the web platform.

Relative to Javascript, WebAssembly offers predictable performance. It is not inherently faster than Javascript, but it can be faster than JavaScript in the correct use cases such as computationally intensive tasks, like nested loops or handling large amounts of data. Therefore, WebAssembly is a compliment to JavaScript, and not a replacement. …

JavaScript is a multi-paradigm language which supports functional, prototype-based object-oriented, and event-driven programming

JavaScript is a bit confusing for developers experienced in class-based languages like Java or C++. One of the characteristics of a language is its support for particular programming paradigms. JavaScript programs tend to make heavy use of passing functions around so they are called functional languages despite having variables and many imperative constructs.

const paradigms = [
{name: 'Imperative', support: true, parent: null},
{name: 'Declarative', support: true, parent: null},
{name: 'Functional', support: true, parent: 'Declarative'},
{name: 'Object-Oriented', support: true, parent: 'Imperative'},
{name: 'Event-Driven', support: true, parent: null},
{name: 'Quantum', support: false, parent: null},
{name: 'Symbolic', support: false, parent: null}
/* Imperative Pattern */
for (let i = 0; i < paradigms.length; …



Senior Software Engineer. I’m hooked on fullstack JavaScript development.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store