Weekend JavaScript Newsletter
Top JavaScript news and articles straight into your inbox every Friday. Everything you need to be successful in your career. From the new hot frameworks to IoT and robotics.

ISSUE #144

Github on vanilla JS, Ionic 4 is framework-agnostic, state-machines in React, and more


Hi there πŸ‘‹ This is Ianis, and this is the 144th issue of the WJS. I just wanted to start by saying thank you for all your love! The number of subscribers keeps growing and we're gradually approaching 700 here πŸ’ͺ At the same time I feel, that the very format that worked for several years is becoming a little old, and I think it needs some improvement. I have several ideas about this. So stay tuned. Changes are coming.

HEADLINES

Announcing the Ionic 4 Beta | The Official Ionic Blog

This is huge β€” among other serious changes, there's one that stands out for me. From now on it's claimed to be framework-agnostic, which in theory I guess means that you can use it a simple UI library for React, or no framework at (currently you have to deal with Angular). Web Components are now being put in the center of everything. Sounds very promising.


Mislav Marohnic on Twitter: "We’re finally finished removing jQuery from Github"

One of the most pleasant and responsive UI I know, the mighty Gihub from now on doesn't use any framework at all, only plain vanilla JavaScript.


MODERN JAVASCRIPT

How to Stop Using Callbacks and Start Living | Ilya Bohaslauchyk

Dealing with asynchronous code in JavaScript was never easy. But things of cause improved quite a bit now, when you have promises, and then async/await. Author proposes a general way for dealing with asynchronisity based on the infamous redux-saga library.


Handling errors with async/await and promises | Carl Vitullo

Good work on highlighting the quircks and the imperfectnesses of the Promises API when it comes to error-handling.


NODE

Supercharge your debugging experience for Node.js | Indrek Lasn

Did you know that you can actually use a node debugger in a browser to eh debug your app? It uses what is called the "v8 debugger protocol viewer", so you can pretty much use the good old Chrome DevTools to interact with the internal node debugger, which is pretty handy, don't you think?


REACT

JavaScript fundamentals before learning React | RWieruch

OMG, I love this one. The very fact that there are many people that only would want to learn JavaScript to be able to use React. I guess you can officially say now that React is jQuery 2.0. Setting this apart, I can't argue that the material is pretty solid.


Handling data fetching with state machines | Kristofer Selbekk

The idea here is to use a higher-order component to abstract the complexity and remove repeatability of loading data with the help of, you guessed it, state machines!


Finite State Machines with React | JON BELLAH

State Machines seem to be gaining popularity among React-ers these days. Can't blame them. Redux, Mobx and other solutions are complex, while state machines are simple and kinda more fundamental I guess. With the arival of React Context API, which allows to pass the data throught the component tree without having manually to pass it on every level, it is now easier to use FSM to manage the data.


React Performance Fixes on Airbnb Listing Pages | Joe Lencioni

In this fascinating read, Airbnb's Joe Lencioni talks in detail about how to investigate the React performance issues and the ways of fixing them. The working example being the actual Airbnb page, which uses hypernova (Airbnb's own library) for server-side rendering of a React app.


WORKFLOW

obiwankenoobi/react-express-boilerplate: fullstack boilerplater using Express.js as the backend and React.js as the frontend

Here's a very simple but pretty rigid bolierplate for a JavaScript web app, including express-based backend and React front-end. Simply clone it locally and start hacking.


LEARN FROM CODE

Badgen - Fast badge generating service | Amio

@amiocn did a great job with a very stright API and beautifully-simple documentation. Although not quite sure I could use it for anything but definetely worth having a look at the code and learn something!