crafting (and) JavaScript

JS (and) Crafting #3 – Outdated JS libs, async/defer, wasm, 99 Bottles of OOP, katalog, practicing initiatives

This is JS (and) Crafting #3 - March 13th, 2017. Every Monday you will receive a hand-selected collection of links about JavaScript and how to craft better software. Let's get started ...


"The situation with outdated JavaScript libraries on the web is very bad indeed." This paper (PDF) analyzes on 15 pages the "Use of Outdated JavaScript Libraries on the Web". See a short summary in this blog post.

The <script> attributes async and defer let you control how JavaScript code is loaded on your site. Since the days when Steve Souders made web site performance well-known (and sexy) a lot has changed. Those two attributes are the first that get loaded on your site. Use them to start fast!

"Lots new in Firefox, including β€œgame-changing” support for WebAssembly" is a new blog post on mozilla.org. The article also explains what WebAssembly is: It "allows complex apps, like games, to run faster than ever before in a web browser". This will make the web more exciting, it will take a while.


"99 Bottles of OOP is a practical guide to writing cost-effective, maintainable, and pleasing object-oriented code". A book by Sandi Metz is always worth a read. Even if you "don't care about OOP", I bet you it will be a big learning reading this book.

The site kata-log.rocks lists many katas for practicing at your next dojo. Each kata has helpful categories like TDD, Refactoring, Pair-Programming and others, which makes it easier to choose the right depending on what to practice. You can contribute via a pull request on github. Thanks Egga, who has built this page.

Currently there seem to be a couple practicing initiatives going on. I found some via Palash Mondal‏'s tweet. Each has a little different focus but it's exciting to see how much people practice our craft. It gives me hope. Let me just pick a couple: 1) #100DaysOfCode "I will code for at least an hour every day for the next 100 days." 2) #301daysofcode "The only stipulation; code 3 minutes and 1 second per day for 301 days." 3) #javascript30 "Build 30 things in 30 days with 30 tutorials".


"CSS GRID LAYOUT" is a presentation by Rachel Andrew where she gives a nice introduction on what it can do and how to do it. Grid layout is the newest approach to layouting complex websites in the browser using CSS. It has just shipped in Firefox 52 (March 7th) and Chrome 57 (March 9th).

"Understanding API Security" is a book which was suggested by Ricardo Borillo, the driving force behind this tweet.