Weekend JavaScript



ISSUE #145

TypeScript 3, a web framework from Uber, pipeline operator, and more


Hi 👋 This is Ianis. This week was extremely saturated with tons of great stuff. But if to pick only some, please make sure to get familiar with the new web framework from Uber (solid grounding, big company support, might become a signinficant player and compete with React in the future). Also on JavaScript performance, there's a new talk from Addy Osmani (Chrome core developer, author of "Learning JavaScript Design Patterns"). Have fun, sleep well! Cheers!

HEADLINES

Announcing TypeScript 3.0 | TypeScript

New TypeScript is available, and the list of new things is real long.


Introducing Fusion.js: A Plugin-based Universal Web Framework | Uber

So Uber came up with another JavaScript framework called Fusion.js. Claimed to supports modern features and integrations that make it easy to build lightweight, high-performing apps for the web. It is plugin-based, which means you can only use the parts you need.


You Can Now Write Google Cloud Functions with Node.js 8 | Simon Prickett

Google Cloud Functions which is Google version of AWS Lambdas (they both allow you to run small platform-independent functions that will run reacting to certain events. e.g an HTTP call; you dont have to pay for the time they are not running), finally got updated to support Node 8. That means that we're now able to use async/await, object spread syntax, and other ES6 nicities.


MODERN FRONTEND

Call operator vs pipeline

The pipeline operator is something you can use to chain functions together. This is a bit like pipes in bash, and it works quite nicely with functional languages (see Elixir). The proposal has been there for some time, and I think eventually will make into the specification.


Async error handling: N² ways to shoot yourself in the foot | Lars Eidnes

This is a good view on the dark side of async/await, which is error handling.


PERFORMANCE

🎮 The only Front-End Performance Checklist that runs faster than the others

A nice list of things to do to keep performace in shape. Many of them are non-trivial, for example, using next-gen image formats (JPEG2000, etc) can help quite a bit.


This one line of Javascript made FT.com 10 times slower | Arjun

A fascinating story. Many people use a combination of JSON.parse, JSON.stringify to deep cloning the objects. Which is actually handy and fast, but in this case wasn't fast enough...


The Cost Of JavaScript In 2018 | Addy Osmani

It's good to revise the optimisation strategies from time to time. Addy Osmani does this perfectly. I don't think there's something completely new under the sky: reduce JS size, minify and remove unused code and actually think if you even need JavaScript on mobile. This is a video actually + article.


VUE

Shuffle a Deck of Cards in Vue.js | Hassan Djirdeh

In this article, we’re going to build a UI that’ll give us the ability to randomly shuffle a deck of cards! In the app, users will be able to shuffle a deck of cards in three different speeds.


A Vue pattern for idiomatic, performant component registration you might not know about | Adrià Fontcuberta

Quick article on how to properly do component registration with the help of a special component called, you will never guess, Component!


I created the exact same app in React and Vue. Here are the differences. | Sunil Sandhu

I don't know how I missed this article last week. It's fantastic. This is pure and honest comparison of two frameworks with side-by-side code examples.


REACT

Why Discord is Sticking with React Native | Fanghao (Robin) Chen

Discord devs are using React Native only for iOS, and still consider it extremely successful. Storybook accelerates the UI development cycle. Chat is the only native component.


FUN

Challenges | Codier

Nice idea, something I've been thinking of myself but never got enough time / courage to actually make. There are multiple random frontend challenges. You can sign up and propose your solution, and then everyone can upvote the solutions.