Jacco Meijer
Dark orange bubbles

Javascript history

In 1986 David Ungar and Randall B. Smith developed Self at Xerox PARC. Inspired by Java, Scheme and Self Brendan Eich created Javascript in 1995.

1986 - Self and Mocha

  • in 1986 David Ungar and Randall B. Smith developed Self at Xerox PARC

  • in 1995 Brendan Eich was hired to develops Mocha for Netscape. He was inspired by Java, Scheme and Self

1991-1996 - Web 1.0

  • 1991: Web 1.0

  • 1995: Microsoft releases MSIE 1.0 with VBScript

  • 1995: Sun buys Netscape and renames Mocha/LiveScript to Javascript for making it the perfect companion for Sun's Java

  • 1996: Microsoft releases MSIE 3.0 with JScript.NET

  • 1996: Netscape's JavaScript engine SpiderMonkey

  • 1996: Javascript starts as ECMA (since 1961) standard

1997-1999 - ECMAScript

  • 1997: Release of ES1

  • 1998: Release of ES2

  • 1999: Release of ES3

2000-2008 - Abandoned ES4

  • 2000: Start of ES4 (never released)

  • 2000: Adobe releases Flash 5 with ActionScript (=ES4 draft)

  • 2000: Open extension JSON emerges as a subset of JavaScript

  • 2004: Web 2.0

  • 2004: Release of E4X extension (ECMAScript for XML)

  • 2005: AJAX and XMLHttpRequest emerge

  • 2006: Release of jQuery

  • 2007: Microsoft releases SilverLight

  • 2008: Microsoft kills 8 years of ES4

2008-2009 - ES3.1 and ES5

  • 2008: Start development of ES3.1 (later named ES5)

  • 2008: Google releases Chrome and V8 JavaScript engine

  • 2009: Release of ES3.1/ES5

2009 - NodeJs

  • Google announces Golang

  • Release of NodeJs (using V8 JavaScript engine)

  • Mozilla releases ServerJS (later renamed to CommonJS)

2010 - NPM, Express and AngularJs

  • Release of NPM

  • Release of Express

  • Release of AngularJs

2011 - EmberJs

  • Release of NPM v1

  • Release of EmberJs

2012 - Typescript and Golang

  • Microsoft releases Typescript v0.8

  • Google releases Golang

2013 - React

  • Release of Browserify

  • Release of ReactJs

2014 - VueJs, Babel and Webpack

  • Release of VueJs

  • Release of Babel

  • Release of Webpack

  • Release of Google Traceur compiler v0.0.10

  • NPM grows to over 50.000 modules
    - 2015: Release of ES6/ES2015, with all draft ES4 features except types (15 years after ES4 draft)

2015 - RollupJs

  • Release of RollupJs v0.3.1

  • Release of NodeJs v4 (v1/v2/v3 do not exist)

2016 - Yarn

  • Microsoft releases Typescript v2

  • ES2016 (async/await)

  • Release of Yarn with workspaces

  • Release of Node v6

2017 - Parcel

  • ES2017 (Object.values/Object.entries)

  • HTTP/2

  • Chrome 61 with native support for JavaScript modules

  • Release of Parcel

2018 - Deno announced

  • Release of Node v8

  • ES2018 (Promise.finally)

  • Release of RollupJs v1.0

  • Release of Node v10/v11 (experimental ESM)

  • Microsoft releases Typescript v3

  • Ryan Dahl announces Deno

2019 - Experimental ESM in NodeJs

  • ES2019 (Array.sort/Array.flat/Array.flatMap)

  • Release of Node v12/v13 (experimental ESM)

  • Release of Lerna v1.0 for handling monorepo's

2020 - Deno v1

  • ES2020

  • Release of Node v14/v15 (stable ESM in v15)

  • Microsoft releases Typescript v4

  • Deno v1

2021 - NPM v7 with workspaces

  • NPM v7 with workspaces


NPM7 and @npmcli/arborist

@npmcli/arborist is a powerful library that handles the new npm 7 workspaces. This blog is about a simple make tool that uses the library.

Comparing React app, Nextjs and Gatsby

A new React project starts with a React toolchain. Main tools in the chains are SSR, React server components and GraphQL.

Versioning strategy for npm modules

It is important to be able to bump the version of a npm package without side effects.

React component themes and CSS variables

Creating React components with flexible themes by using CSS variables.

Content modeling with variants

The efficiency of a variant field in a content model.

Green oil

Documentation

Documenting a software project is challenging. Here's a few simple guidelines that help a team writing clear documentation.

Orange yellow oil

On Javascript transpilers, bundlers and modules

There's Javascript transpilers, modules, bundles and bundlers. This is a brief overview of all of these.

Dark orange bubbles

Javascript history

In 1986 David Ungar and Randall B. Smith developed Self at Xerox PARC. Inspired by Java, Scheme and Self Brendan Eich created Javascript in 1995.

Blue waves

Agile Scrum

The Agile Scrum framework is flexible enough to be used in many different ways. Here's one way of working.

Blue water bubbles

Contentful, Netlify and Gatsby four years later

What did we learn from using Contentful for four years?

Wheelroom hero image

What happened to Wheelroom?

Founded in 2018. Started to fly in 2020 and abandoned in 2021. What happened?

Orange oil

Typescript interface for React UI components

How to define an interface for React UI components that prevents breaking changes.

Orange green oil

Naming React components

What's in a name? A clear naming strategy helps developers communicate. Most devs rather spend time writing component code than wasting time on a good component name.