ISSUE #181

ES2019, Why React Hooks, Evan You On Framework Design, And More


HOT TOPICS IN THE COMMUNITY

‘No way to prevent this’, Says Only Development Community Where This Regularly Happens | Sebastian K

PURESCRIPT, NPM — In the hours following another package disaster on npm in which a lone developer killed more than dozens of CI builds and caused serious warnings in thousands of others, developers…

Malicious code in the purescript npm installer | Harry Garrood

Earlier this week, I found and addressed some malicious code in the purescript npm installer. The malicious code was inserted into dependencies of the installer: specifically, packages maintained by @shinnn, the original author of the purescript npm installer, and also the maintainer (until around a month ago).

JAVASCRIPT UPGRADE

⭐ JavaScript Upgrade Screencast

The last two videos were devoted to the beautiful ReasonML language. Now it's time to get back to Earth, spicifically to React and the case for the performance optimizations with Hooks (this video is set to release tomorrow). Long story short, don't optimize before there is a need for it. As usually for the WeekendJS subscribers, this link will give you 22% off.

MODERN JAVASCRIPT

JavaScript: What’s new in ES2019 | Tilde Loop Blog

As one of the most popular programming languages and the staple of web development, JavaScript is constantly evolving and with each iteration it gets some fresh internal changes. Let’s check out some of the new proposed features of ES2019 that could soon find a way into our everyday code

Object Assignment vs. Primitive Assignment in JavaScript for Beginners | Nick Scialli

A quick look at object assignment in JavaScript aimed at newcomers to the language.

How to merge two arrays in JavaScript | Malgol

How to merge two arrays in JavaScript using the spread syntax and the concat method, with a performance test to see which of the two solutions is faster.

TUTORIALS

Writing a Simple MVC App in Plain JavaScript | Tania Rascia

I wanted to write a simple application in plain JavaScript using the model-view-controller architectural pattern. So I did, and here it is. Hopefully it helps you understand MVC, as it's a difficult concept to wrap your head around when you're first starting out.

Parcel.js — Easy JavaScript Bundling - Better Programming | Christopher Shaffer

We’re going to set up a basic React app using Parcel and watch its magic happen for ourselves. I want to introduce you to Parcel.js, but first let’s talk about what a bundler is, and why it matters to you as a JavaScript developer.

JavaScript Proxy with Storage | David Walsh

The JavaScript Proxy API provides a wealth of “magic” within JavaScript, allowing you to use any object as sort of an alias that allows a wall of validation, formatting, and error throwing. Did you know that you could also employ the Proxy API as an abstraction to different types of storage? Whether it’s sessionStorage, localStorage, […]

REACT

React Virtual DOM Postmortem

The DIFFing algorithm looks for differences between two virtual DOM. Wait. Two virtual DOMs? I thought there was just one. Well, React compares the previous virtual DOM with the newly generated one…

Why React Hooks?

When React Hooks were released, React was the most popular and most loved front-end framework in the JavaScript ecosystem. In this post, you'll learn why, despite existing praise, the React team dedicated so many resources to creating and releasing Hooks. Along the way, you'll also get a soft introduction to the main aspects of the Hooks API.

VUE

(Video) Evan You on Vue.js: Seeking the Balance in Framework Design

As the author of Vue, I often get asked on how the major JavaScript frameworks today differ from one another. Typically people expect technical details: size, performance, ecosystem... but to me, what fundamentally differentiates frameworks from one another is where a framework lands on the primitives vs. conventions spectrum. This is usually a conscious design decision, and the major frameworks we see today manifests three different segments of this spectrum. In this talk I'll discuss how these design choices have affected the adoption and growth of these frameworks, and why there might not be one single optimal balance point.

V8

JavaScript V8 Engine Explained | Yotam Kadishay

This first line on Wikipedia is what most of us know about V8, and about lots of other things. Here I’ll try to provide a simple explanation of what V8 actually does. As for the other things, next time, just read the entire first paragraph in Wikipedia, what the hack, you only live once, dive into the second one.

SIMPLY COOL STUFF

iO-808

A fully recreated web-based TR-808 drum machine using React, Redux, and the Web Audio API.

1,440 Minute Clock

This is a minimal clock that (by default) visualizes each of the precious 1,440 minutes each of us has in a day.

Meeba Farm

An evolving life simulation with simple mutating creatures called "meebas", each with their own unique DNA. Modify the environmental settings below to see how it changes the meeba species that emerge through natural selection.

console.chat

You're going to think I'm crazy but it's exactly what it sounds like. A chat room inside your browser's console.

CLEAN CODE

Practical Ways to Write Better JavaScript

I don't see enough people talking about practical ways to improve at JavaScript. Here are some of the top methods I use to write better JS.

TESTING

Unrevealed tips for unit testing with Jest | Daniel Caldas

For several times I question myself: “How did the test get to the point in which it’s so much more complex to implement than the feature itself?” - It’s usually like that, don’t take me wrong here, I’m just referring to extreme cases, where 3rd party libraries or even architectural decisions, make your code super hard to test.

Weekend JavaScript

Hey! I'm Ianis. And this is a curated list of JavaScript news and articles (sending every Friday). No spam. Just fresh write-ups on the language features, frameworks, testing practices and beyond.
1096 have already subscribed.