Hello and welcome to This Week in JavaScript—a 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 on with the show …
Learning More
- The Pursuit of Simplicity in Programming - On the differenced between simple and easy.
- A Guide to Vanilla Ajax Without jQuery - A guide to partial page updates with server data without needing a full refresh, creating fluid user experiences.
- JavaScript: Unwrapping the arguments object - Before before we slice and dice with Array.prototype.slice.call, we should take a step back to investigate the insides of the arguments object.
- Using requestIdleCallback - to schedule work when there is free time at the end of a frame, or when the user is inactive.
- Getting Functional w/ Javascript (Part 2) - Grouping records our filtered list by their tags.
- Getting Functional with Javascript (Part 3) - We finalize our JSON output into an object that meets our requirements.
- Descartes, Berkeley and Functional Reactive Programming - With core concepts so universal, the groundwork was laid down many centuries before the first computer, with interpretations of reality instead of structured programming.
- Connecting an API-Driven Web App with Javascript - add some JavaScript to make an app interactive.
- What happened to Web Components? - Web Components were going to be integrated by frameworks such as Ember and Angular. Here’s what happened, and where they ended up.
Take it further
- How to actually ship software that actually works - It’s not easy and takes a lot of effort - but it’s all skills that you can learn.
- A List of JavaScript WYSIWYG Editors - An updated list of JavaScript editors.
- DevTools Tips For Sublime Text Users - Take advantage of your existing knowledge of features in Sublime Text and apply them to another powerful tool in your arsenal — the Chrome DevTools.
- The JavaScript Misdirection Contest - Similar to the Underhanded C Contest, this JavaScript version of the contest will help you to stretch your skills to the very limit.
- Backdooring your JavaScript using minifier bugs - How to abuse minifiers to crete security problems that don’t appear in your source code.
ES6
- ES6 Template Strings in Depth - What they are, and how we can use them and what good they’re for.
- ES6 In Depth: Modules - JavaScript projects have grown to jaw-dropping sizes, and one of the most basic things you need is a module system.
- ES6 promises are not quite there yet - While native promises free us from including our own promise library, they do lack some features.
- ES6 In Depth: The Future - Covering over a dozen more new features that we never got around to talking about at length.
- Converting ES6 Maps to and from JSON - When you have unknown keys it’s generally better to store data in an ES6 Map than in an object. But how do you convert Maps to and from JSON?
- Logging variables via an ES6 tagged template - Use a tagged template to log variables more efficiently.
Libraries
- algebra.js - Build, display, and solve algebraic equations in JavaScript.
- randexp.js - Create random strings that match a given regular expression.
- WindowManager.js: Emulating Desktop Apps in Javascript - An easy interface to message across windows and deal with their creation and destruction.
- Using the YouTube API to Embed Video in an Android App - Incorporate video playback functionality into your Android applications.
- Cuid - Collision-resistant ids optimized for horizontal scaling and performance, giving a short random string with collision-busting measures.
- Gmail.js: Gmail JavaScript API - A well documented but unofficial JavaScript API for Gmail with tons of methods.
- Are javascript frameworks and libraries really necessary? - Snippets of code that help you be a better developer.
Frameworks
- Frequent Errors Made by Node.Js Developers - Developers that switch to Node.js commonly make the same errors. Here’s how to avoid them.
- Building A Simple React Application Using The Flux Pattern - One of React’s strongest qualities is that it forces you to build your app in a uni-directional data flow which is much different from other frameworks’ two-way data binding.
- Internationalization And Localization In Your React Native App - Boost downloads of your application and overall App Store Optimization by accommodating a larger variety of languages.
- Redux CRUD - Standard reducers for CRUD applications in Redux - A convention driven way of building CRUD applications using Redux.
- Easy Form Validation in AngularJS with ngMessages - ngMessages provides the ability to display custom error messages without having to violate the D.R.Y. principle of coding.
- React, JSX and ES6: The Weird Parts - An exploration of the weirder areas in these API designs.
- Angular 1 and Angular 2 integration the path to seamless upgrade - How incremental upgrades from one version to another can be achieved.
Videos
- Recursion - Part 6 of Functional Programming in JavaScript (video) - Learn about what is recursion, how it works, and why it’s useful.
- Recent Conference Talks Worth Watching
Testing
- Using Linters For Faster, Safer Coding With Less Javascript Errors - how to discover bugs and Javascript errors before they even become a bug.
- Type Profiling and Code Coverage Profiling for JavaScript - The Code Coverage Profiler and the Type Profiler make understanding and debugging your JavaScript programs in Web Inspector better than ever.
- 5 Questions Every Unit Test Must Answer - The essential ingredients that need to be a part of every unit test.
Cool Stuff
- Norse Attack Map - With thousands of honeypots worldwide, you can now watch attacks happening in real-time all acoss the world.
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 Pullo.