Hello and welcome to This Week in JavaScript, our lovingly curated collection of links relating to what’s new and exciting in the world of JS. 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 JavaScript finds …
Getting started
- Quick tip: Get URL parameters with JavaScript - URL parameters can have lots of useful data including product info, user preferences, link referrals, and more.
- What the heck is the event loop anyway? - A beautiful presentation on the inner workings of the JavaScript event loop.
Learning more
- The State Of JavaScript: Front-End Frameworks - Preliminary insights that can be extracted from initial survey data.
- Create a Music Jam Station with Vanilla JavaScript - How I created this jam station that began as an experiment, and evolved into an open ended practice and teaching tool for guitar players.
- [Tutorial] 3D basketball game made in browser. You can make it too! (Part 3) -
- Cache Fetched AJAX Requests Locally - A demonstration on how you implement a local cache of fetched requests so that if done repeatedly it reads from session storage instead.
- Is your JavaScript function actually pure? - How can we tell that one function is pure and the other isn’t? Is it enough that we just read the code?
- Monads - Array, Promise and Maybe monads. Plus Docker is a functor - A slightly different reason for having monads around.
- JSON web tokens vs. session cookies - The challenges of JWT and how they work in practice.
Libraries
- Weather - Weather app in Angular Typescript with UI-Router.
- Baffle.js - A library for obfuscating and revealing text in DOM elements.
- Waud - A web audio library that has an HTML5 audio fallback.
- A library of Node.js microservices for everyone - Containerization is changing the game of how we deploy and orchestrate systems, but as software developers (not infrastructure engineers) why is this important?
ES6 and beyond
- ES6: var vs let - An introduction to the block-scope difference between these keywords.
- How to iterate easily over object properties in JavaScript - Another bunch of awesome proposals reached the stage 4 (finished).
React / Redux
- The elegance of React - Writing Elegant Code by combining React with Ramda to write our application in a functional style.
- 10 tips for better Redux architecture - There are two clear winners for data management in React: Redux and MobX, and the latter isn’t even a Flux implementation. Redux has caught on so much that it’s not just being used for React anymore.
- App not working? - Four quick tips for debugging React applications.
- React server - Super fast server react rendering (faster more than 12 times).
- Basic React tutorial - Managing state and connecting to an Api with Redux and Axios.
Other frameworks
- 19 Tips that make learning Angular 2 easier - 19 thoughts that will make your efforts more fruitful.
- Creating your own JavaScript - If you are using JSX, Babel is tied to your codebase. You can use Babel to fix some of the ugly parts in JavaScript. But should you?
Testing
- Diverse test-automation frameworks for React Native apps - A look at what’s available for testing React Native apps.
- One Easy Way to Inject Malicious Code in any Node.js App - The chain used to include instances of modules can be tampered with to allow modification of required dependencies, allowing a would-be attacker to craft a module that can modify legitimate code.
Other stuff
- Carbide - An interactive JS programming environment.
- Set game in JavaScript - The game of Set, recreated in JavaScript.
- Bombsweeper! - An open source version of Minesweeper.
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 chrisofarabia.