Hello and welcome to ‘This Week in JavaScript’ — another curated collection of links relating to what’s new and exciting in the world of JavaScript. The complete list is tagged jsweekly. (Don’t forget to check out our weekly .NET and front end roundups too!)
And now for this week’s finds …
Getting started
- How to Make Accessible Web Components — a Brief Guide - For today’s web it’s vital to be accessible, so let’s talk about what accessibility stands for and see (by means of a real-world example) how to make a web component more accessible.
- Modular JavaScript: A Beginners Guide to SystemJS & jspm - The JavaScript Package Manager (aka jspm) is a package manager that works on top of the SystemJS universal module loader.
- Prevent Body Scrolling - Have you ever tried scrolling a dialog and seeing the page scroll in the background? Awful user experience, bordering on embarrassing.
- Developers, Learn To Say No. - All change starts with a “No”.
Learning more
- Accessibility matters—and here’s what we’re doing about it - Content is at the core of Vox Media. And they want to ensure that everyone—regardless of ability, situation, or context—can access it.
- Connecting a Raspberry Pi to IBM Watson, Bluemix and Node-RED - This is the first part of a series of articles around combining the Raspberry Pi with IBM Watson and Bluemix.
- How to Setup a Basic Service Worker (with Caching) - bitsofcode gives a video tutorial showing how to setup a boilerplate service worker with caching.
- Caching best practices & max-age gotchas - Getting caching right yields huge performance benefits, saves bandwidth, and reduces server costs, but many sites half-arse their caching, creating race conditions resulting in interdependent resources getting out of sync.
Libraries
- Dominic - Helper to quickly build up dom in javascript object format.
- koa-babel-webpack-boilerplate - A simple boilerplate to create REST apps with.
- Uncommon jQuery Selectors - Since common jQuery selectors are based on existing CSS selectors, you might be well versed in them. However, there are also a few selectors that are not used as much. In this tutorial, Monty Shokeen focuses on these lesser known but important selectors.
- The 16 Most Popular React Links So Far in 2016 -JavaScript Weekly have collected together the most popular React articles, videos and tutorials readers have clicked on.
ES6
- Neural Networks in JavaScript - Within the last years, multiple Javascript frameworks were developed that can help you to create, train and use Neural Networks for different purposes. In this blog post, you will learn how to set up a Network and use it for classifying images.
- Using more const and making const more constant - This post is intended to show you exactly what const does, what it doesn’t do, and give you some tips and tricks to use it more often and more effectively.
- Turbocharged JavaScript refactoring with codemods - Working in a weed-free garden is a productive pleasure. Codebases are like this too.
- Trying To Enable Tabbing In Textareas In Angular 2 Beta 17 - Last week, Ben Nadel learned two really important things by digging into the Angular 2 source code. First, he realized that Angular 2 has native support for key combinations. Second, he discovered that the JavaScript DOM API supports a synchronous “input” event on input elements.
- Handling whitespace in ES6 template literals - In this blog post, we look at problems that arise when template literals contain whitespace.
- 7 Surprising Things I Learned Writing a Fibonacci Generator in JavaScript - Generator functions are a new feature of JavaScript introduced in ES6. To explore them deeper, Eric Elliott decided to write a fibonacci generator function.
- A Taste of JavaScript’s New Parallel Primitives - Mozilla are extending JavaScript with a primitive API that lets programmers use multiple workers and shared memory to implement true parallel algorithms in JavaScript.
- 5 JavaScript “Bad” Parts That Are Fixed In ES6 - ECMAScript 6 (ES6) features can be divided into features that are pure syntactic sugar (like: class), features that enhance JavaScript (like import) and features that fix some of JS’s “bad” parts (like let keyword). Most blogs and articles combine all 3 types and can overwhelm new comers.
- Is “Class” In ES6 The New “Bad” Part? - So where do you stand? Is “Class” In ES6 The New “Bad” Part?
Frameworks
- Build Your Own Chrome Extension Using Angular 2 & TypeScript - In this tutorial we are creating a Chrome extension that lets us save website URLs and displays them on every new tab’s page.
- Build Your Own Custom SlackBot with Node.js - This tutorial aims to help you get up and running with a simple node app that turns your Slack channel into a custom command-line terminal.
- Build a REST API for Your Mobile Apps using Node.js - This tutorial will show you how to build your first REST API using Node.js, and connect it to an iOS or Android app.
- URI/URL Encoding Strings In JavaScript/Node.js - JavaScript has a built-in function to handle this: encodeURI. Pass any string to it, and it will produce the correctly encoded string as output.
- New Coffee Break Course: Use the Microphone With Ionic - Thanks to the inclusion of Cordova, Ionic developers have access to numerous plugins to extend the functionality of their apps. For example, you can access the device microphone with the Cordova microphone plugin.
- Never Show A Design You Haven’t Tested On Users - Let me be very specific about why user testing is essential. As long as you’re in the web business, your work will be exposed to users.
For more links like this and to keep up-to-date with the latest goings on in JS land, you can follow SitePoint’s JavaScript channel on Twitter.
Please PM us if you have anything of interest for the next issue or if there is anything you would like to see featured. Paul and Chris of Arabia.