---
title: "Redux, sparse arrays, and learning React from basic code examples"
publication: "JavaScript Weekly"
issue: 393
published_at: "2018-07-06"
canonical_url: "https://javascriptweekly.com/issues/393"
---

This week's JavaScript news       

#393 — July 6, 2018 

[Read on the Web](https://javascriptweekly.com/issues/393)   

JavaScript Weekly  

[What is Redux: A Designer's Guide](https://www.smashingmagazine.com/2018/07/redux-designers-guide/) — A really neat high-level approach to explaining Redux and what it offers _beyond_ state management. 

Linton Ye   

[An Adventure in Sparse Arrays](https://remysharp.com/2018/06/26/an-adventure-in-sparse-arrays) — A quick prod around the idea of ‘sparse’ arrays, how they work in JavaScript, and a few concepts to keep in mind. 

Remy Sharp   

[Optimization Auditing: A Deep Dive into Chrome's Dev Console](https://www.sitepoint.com/optimization-auditing-a-deep-dive-into-chromes-dev-console/) — Ahmed Bouchefra offers an in-depth exploration of the features of the Chrome DevTools for measuring performance and debugging your web apps. 

SitePoint   [![\](https://copm.s3.amazonaws.com/49ea550d.png)](http://blog.pulumi.com/building-your-first-serverless-app-using-only-javascript) 

[Build and Deploy Serverless Functions Entirely in JavaScript](http://blog.pulumi.com/building-your-first-serverless-app-using-only-javascript) — [Pulumi.io](https://pulumi.io) provides a programming model for the cloud. Spend less time on YAML, and more time on JavaScript, because after all… Code is the best Config. Pulumi supports any service on any cloud - from serverless to Kubernetes to storage. 

Pulumi sponsor   

[Reduce JavaScript Payloads with Tree Shaking](https://developers.google.com/web/fundamentals/performance/optimizing-javascript/tree-shaking/) — Knowing where to begin optimizing your app’s JavaScript can be daunting — tree shaking might be a good place to start. 

Jeremy Wagner   

[Building Mobile Apps with Capacitor and Vue.js](https://www.smashingmagazine.com/2018/07/mobile-apps-capacitor-vue-js/) — Learn how to use Capacitor and cutting-edge web technologies such as Vue.js and Ionic 4 web components to build cross-platform mobile apps for Android and iOS. 

Ahmed Bouchefra   

[React From Zero: A Simple Code-Based React Tutorial](https://github.com/kay-is/react-from-zero) — An interesting approach based entirely upon simple, annotated code, with no articles to read. It’s nice to see React’s features demonstrated so cleanly. Also in [Chinese](https://github.com/chinanf-boy/react-from-zero) and [Portuguese](https://github.com/andre-motta/react-from-zero). 

Kay Plößer  

💻 Jobs  

[React/Full Stack Developer (Remote or Southern CA)](https://www.geistinteractive.com/careers/) — Join our small team building apps and services for customers in over 50 countries worldwide. We learn. We build. We deliver. 

Geist Interactive   

[JavaScript Developer at X-Team (Remote)](https://x-team.com/remote-javascript-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=js) — We help our developers keep learning and growing every day. Unleash your potential. Work from anywhere. [Join X-Team](https://x-team.com/remote-javascript-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=js). 

x-team   

[Find A Job Through Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-javascriptweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-75455) — Vettery matches top tech talent with fast-growing companies. Create your profile to get started. 

Vettery  

📘 Tutorials and Opinions  

[ES2017 Object and String Extensions](http://www.zsoltnagy.eu/es2017-object-and-string-extensions/) — Covering `Object.entries`, `Object.values`, `Object.getOwnPropertyDescriptors`, `String.padStart` and `String.padEnd`. 

Zsolt Nagy   

[Recreating Python's Slice Syntax in JS Using ES6 Proxies](https://intoli.com/blog/python-slicing-in-javascript/) 

Evan Sangaline   

[Build a Netflix Style Video Delivery Infrastructure](https://developer.bitmovin.com/hc/en-us/articles/115001117733?utm_source=cooperpress&utm_medium=email&utm_campaign=javascript-weekly) — Play adaptive video at the same quality and speed as Netflix and Youtube. Encoding, Player and Analytics - JavaScript API client. 

Bitmovin sponsor   

[Get Better Type Checking in JavaScript with the 'Maybe' Type](https://blog.bitsrc.io/get-better-type-checking-in-javascript-with-the-maybe-type-e7f70b23b505) 

Gilad Shoham   

[Understanding Redux: The World’s Easiest Guide to Beginning Redux](https://medium.freecodecamp.org/understanding-redux-the-worlds-easiest-guide-to-beginning-redux-c695f45546f6) — Long, but starts from a _very_ simple level. 

Ohans Emmanuel   

[How Angular Resolves Dynamic Components](https://blog.bitsrc.io/how-angular-resolves-dynamic-components-a6f6a86609a0) — What happens under the hood when you use Angular’s `resolveComponentFactory`? 

Chidume Nnamdi   

[WebRTC and the Mechanics of Peer-to-Peer Networking](https://blog.sessionstack.com/how-javascript-works-webrtc-and-the-mechanics-of-peer-to-peer-connectivity-87cc56c1d0ab) 

Alexander Zlatkov   

[Deriving the Y Combinator in JavaScript](https://enlight.nyc/y-combinator) — Well written, but quite a theoretical exercise. 

Nathan Leung   

[OpenID Connect + Node = Simple, Secure Website](https://developer.okta.com/blog/2018/06/28/tutorial-build-a-basic-crud-app-with-node?utm_source=JSWeekly&utm_medium=Email&utm_campaign=node%20express%20blog%20app) — Learn all about data storage, middlewares, routing, & generating views as you build a secure blog with Express.js. 

Okta sponsor   

[Keep Your Promises in TypeScript using async/await](https://blog.bitsrc.io/keep-your-promises-in-typescript-using-async-await-7bdc57041308) 

Gilad Shoham   

[Ask HN: What You Wish You'd Known Before Getting Into JavaScript?](https://news.ycombinator.com/item?id=17466391) — A lot of very different answers here. 

Hacker News   

[Why GraphQL: Advantages, Disadvantages and Alternatives](https://www.robinwieruch.de/why-graphql-advantages-disadvantages-alternatives/) 

Robin Wieruch  

🔧 Code and Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/zyefckbxqynzlgljkj0e.jpg)](https://github.com/retejs/rete)  

[Rete.js: A Framework for Visual Programming](https://github.com/retejs/rete) — Create a node-based editor in the browser and apply logic. Check out [these](https://codepen.io/Ni55aN/pen/xzgQYq) [demos](https://codepen.io/Ni55aN/pen/rpOKNb) on CodePen. 

Vitaliy Stoliarov   

[Microstates.js: Composable State Primitives for JavaScript](https://github.com/microstates/microstates.js) — Declaratively compose application state from atomic state machines. 

Taras Mankovski and Charles Lowell   

[Real-Time Error Monitoring, Alerting, and Analytics for JavaScript 🚀](https://try.rollbar.com/javascript/?utm_source=javascriptweekly&utm_campaign=nl_sponsorship&utm_medium=email-nl) 

ROLLBAR sponsor   

[Singlie: Singly Circular and Linear Linked Lists for ES6](https://github.com/klauscfhq/singlie) 

Klaus Sinani   

[Formik: Working with Forms in React Made Easier](https://github.com/jaredpalmer/formik) — Handles validation, errors, submission, and getting values in and out. It’s now a year old, too. 

Jared Palmer   

[Axax: Async Iterator Extensions for JavaScript](https://github.com/jamiemccrindle/axax) 

Jamie McCrindle   

[Rogue: Quick, Zero Config Server Side Rendering for React](https://github.com/alidcastano/rogue) 

Alid Castano     

😄 Peter's “They're Not JavaScript But You Might Like 'Em” Bonus Links  

[Visual Studio Code June 2018 Update Released](https://code.visualstudio.com/updates/v1_25) — The most commonly used editor by JavaScript developers gains the ability to lay out multiple editors in the same window in a grid-like manner. 

Microsoft   

[Layoutit: A CSS Grid Layout Interface Builder](https://www.layoutit.com/grid) — A quick online way to put together a CSS grid layout and get the code needed. 

Leniolabs   

[Robot Odyssey Online](https://www.robotodyssey.online/) — An amazingly playable Apple II game from 1984 ported to the Web. You have to program a group of robots to help you escape a sewer. One of the earliest programming-related games, it remains a serious challenge and will suck your time away. 

Micah Elizabeth Scott          

Curated by [Cooperpress](https://cooperpress.com/) and [Peter Cooper](https://twitter.com/peterc) 

'JavaScript' is a trademark of Oracle Corporation in the US
We are not endorsed by or affiliated with Oracle. 

[Change your email address](https://javascriptweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://javascriptweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
