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
- Web maker, an offline, browser-based CodePen alternative - Web Maker is a Chrome extension that converts your new tab (optional) into a web playground where you can write HTML, CSS and JavaScript and instantly see a preview right there.
- A comprehensive look at jQuery DOM traversal - A look at the available methods for jQuery DOM traversal, and see how the library provides many ways for us to easily select elements based on their relationships to other elements in the page.
- JavaScript Without Loops - Our goal is to write less complex JavaScript. As indentation is a rough measure of complexity, we look at how to deal with JavaScript arrays, without using any loops. The end result is less complex code.
- Quick tip: User sortable lists with Flexbox and jQuery - Learn, step-by-step, how to build a simple jQuery plugin which sorts elements based on the values of their custom data attributes.
- Glossary of Modern JavaScript Concepts: Part 1 - Learn the fundamentals of functional programming, reactive programming, and functional reactive programming in JavaScript.
- JavaScript Code Linting - Having a linter in your JS app is a must-have feature. In this post I’ll try to encourage developers to use one in their JS apps.
Learning More
- Demystifying functional programming with Ramda - A very opinionated introduction to functional programming in JavaScript using Ramda. The benefits of using functional programming in JavaScript and a first look at functions composition.
- lambda-view - A New Tool for Reading JavaScript Code in 2017.
- JavaScript Frameworks, why and when to use them - If you know JavaScript you also know about the endless line of frameworks that help make coding easier and faster.
- JavaScript in 2017 – Beyond the browser - We’ll look back at some predictions we made a year ago, and then make some predictions about where JavaScript is heading outside of a browser in 2017.
- JavaScript in 2017 - Libraries and Frameworks - While change is inevitable and moving forward is always the best path, it is worth revisiting the past so that we can learn from it.
- How to automate transactional emails with Javascript Codehooks - How you can automate sending of transactional email directly from a restdb.io application. No need to setup or integrate anything.
- Code review: Easier better faster stronger - Code review is the process of having a peer developer reading your code after it’s done or during development time to find overlooked mistakes, guarantee the maintenance of the code style guidelines and discover more elegant ways to solve the same problem.
- How to Shatter Magic Numbers in Software Testing - Magic numbers have been one of the most frequent mistakes in software testing. These numbers are seemingly random values that are included in your test assertions.
Libraries
- koa-grace - A Nodejs SFB(Separation of Front and Back ends) framework, build with koa.
- fmt-obj - Prettify any JavaScript object in your console.
- Taskorama - Cancellable asynchronous computations in JavaScript.
- Top 11 JavaScript Libraries That Are Worth Your Attention - Some of the libraries are almost must-haves that are applied at every other project, while others are more focused and used to execute particular functions within your app.
ES6
- Native ECMAScript (ES6) modules: dynamic import() - So far we found couple gotchas and know how to use the import
export
declarations and which caveats we may have using them in JS. - An Update on ES6 Modules in Node.js - A progress update on the differences that exist between Node.js CommonJS modules and the ES6 Module system.
- ES6 Proxies in Practice - A proxy is an object that wraps an object or a function and monitors access to the wrapped item, a.k.a. the target. We use proxies for the intention of blocking direct access to the target function or object.
React
- Presentation: Intro to Modern Web Dev with React and Redux - I’ve updated all code examples to use the latest ES6+ syntax; included additional material discussing use of Javascript frameworks, the React ecosystem, JSX usage, good render logic, container/presentational components, Flux, Redux concepts, and use of Redux with React.
- React.createClass vs. ES6 Class Components - Have you been wondering what the difference is between React.createClass and ES6 class components? And why they both exist? And which you should use?
- How to Work with and Manipulate State in React - Learn about state in React and how to work with it. We will also talk about some of the differences between state and props, as well as how to work with “stateless” components.
- How Much Does It Cost to Build an App with ReactJS / React Native? - Reports about new technologies are wonderful and encouraging, but unfortunately or fortunately, the development does not end with just writing code.
- Using Create React App - Due to a higher barrier of entry with tooling along with some frustration with JavaScript fatigue from the community. The create-react-app was created to address those frustrations.
- Styling React Applications with Ant.Design - Ant (GitHub) is much more than a React UI kit with a minimalist design aesthetic and every component under the sun. It is a rabbit’s hole that leads to a giant maze of interconnected libraries, with a serious ecosystem surrounding it, but Ant comes with a challenge — the majority of the documentation is in Chinese.
- When, why and how to use context in ReactJS apps - You should very rarely, if ever use context in your own React components. However, if you’re writing a library of components, it can come in useful.
- ReactJS vs AngularJS 2 ultimate performance research 2017 - We are going to transform our front-end development experience into something that will help you to determine the technology that fits you better.
Angular
- Managing State in Angular Applications - In this article cover six types of state, the typical mistakes we make managing them in Angular applications, and the patterns we should use instead.
- angular-pipes - Useful and common pipes for Angular.
- Angular Testing In Depth: HTTP Services - Learn how to test HTTP services in Angular. We will start by writing tests for requests and finish by refactoring them to a cleaner format.
- Awesome Angular components - Curated list of 145 awesome Angular 2+ components & libraries
Cool stuff
- This website lets you roam around nearby star systems in a 3D view, and this offline Space Engine is even better too!
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.