Skip to content

Latest commit

 

History

History
35 lines (22 loc) · 1.8 KB

javascript.md

File metadata and controls

35 lines (22 loc) · 1.8 KB

JavaScript

Why

As part of our reference architecture goals, we want to standardize on one language, across our whole organization, in order to improve the understanding and mobility of our development teams.

Developers have lots of needs for a programming language:

  • Easy to use
  • Easy to learn
  • Ubiquitous
  • Has a strong community
  • Has many libraries available
  • Has package management
  • Is a current and high-demand skill
  • Is expressive
  • Is powerful

What

JavaScript was traditionally used as a browser-side language for enriching HTML websites. But since the advent of Google's V8 JavaScript engine, which enabled the creation of Node.js (JavaScript for the server side), the uptake of JavaScript has grown exponentially. Being able to use the same code on the client and server side comes with many benefits, and makes it easier for developers to work on all parts of the codebase, rather than silo off.

Not to be confused with Java, which is a traditional object-oriented (OOP) language, JavaScript is written with prototypes and functional programming as its basis. With these paradigms, JavaScript has also proven itself a language that is, unlike traditional OOP, very good at asynchronous behaviour, which is commonly needed in web environments.

How

Follow our code formatting standards, use Node.js on the server-side. Use transpiling to support newer, more expressive, forms of JavaScript in the browser. Use isomorphic / universal JavaScript to build rich, performant web applications. Use React.js to build rich component UIs.

Who

Developers, developers, developers, developers.

References