---
title: "'JavaScript is the main cause for making websites slow.'"
publication: "JavaScript Weekly"
issue: 416
published_at: "2018-12-14"
canonical_url: "https://javascriptweekly.com/issues/416"
---

This week's JavaScript news       

#416 — December 14, 2018 

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

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/hghscrijwinezrlkiefb.jpg)](https://www.pikapkg.com/)  

[Pika: A Searchable Catalog of ES Module npm Packages](https://www.pikapkg.com/) — Most packages in the main npm repository are published as Node.js/Common.js-style modules which aren’t so good for front-end development. Pika lets you search only for fast, modern packages using the ES module syntax. 

Fred K. Schott   

[A Guide to the CSS Object Model (CSSOM)](https://css-tricks.com/an-introduction-and-guide-to-the-css-object-model-cssom/) — If you’ve written JavaScript in a front-end context, you’ve undoubtedly dealt with the DOM (Document Object Model) but there’s also the CSS Object Model, a set of APIs allowing the manipulation of CSS from JavaScript. A lot of detail and examples here. 

Louis Lazaris   [![\](https://copm.s3.amazonaws.com/c983e154.png)](https://www.bugsnag.com/platforms/javascript/?utm_source=cooperpress&utm_medium=cpc&utm_content=trial-signup-link&utm_campaign=2018-q4&utm_term=javascript-weekly-20181214) 

[Level Up Your JavaScript Error Monitoring 🚀](https://www.bugsnag.com/platforms/javascript/?utm_source=cooperpress&utm_medium=cpc&utm_content=trial-signup-link&utm_campaign=2018-q4&utm_term=javascript-weekly-20181214) — Identify impactful errors at a glance. Sort errors by event count or users impacted to find ones that occur most frequently or affect a large segment of users. Get to the root cause of errors quickly with automatic diagnostic collection. [Try it free](https://www.bugsnag.com/platforms/javascript/?utm_source=cooperpress&utm_medium=cpc&utm_content=trial-signup-link&utm_campaign=2018-q4&utm_term=javascript-weekly-20181214). 

Bugsnag sponsor   

[Quicklink: Faster Subsequent Page-Loads by Prefetching Visible Links](https://github.com/GoogleChromeLabs/quicklink) — A new project from Google Chrome Labs that aims to make subsequent page loads quicker by prefetching links that are currently in the view point during idle time. 

Google Chrome Labs   

[19 Ways to Become a Better Node Developer in 2019](https://medium.com/@me_37286/19-ways-to-become-a-better-node-js-developer-in-2019-ffd3a8fbfe38) — Highlights tips, skills and strategies that may prove valuable over the coming months. This was very popular in [yesterday’s Node Weekly](https://nodeweekly.com/issues/267) and most of the points are applicable to _all_ JavaScript developers. 

Yoni Goldberg   

[A Look at Public and Private Class Fields](https://developers.google.com/web/updates/2018/12/class-fields) — Several proposals expand JavaScript’s existing class syntax with new features such as public class fields in V8 v7.2 and Chrome 72, as well as _private_ class fields later on. Here’s how it looks. 

Mathias Bynens   

[JavaScript Growth and Third Parties](https://speedcurve.com/blog/javascript-growth/) — Web performance expert Steve Souders doesn’t pull any punches here: _“JavaScript is the main cause for making websites slow. Ten years ago it was network bottlenecks…”_ Performance budgeting and monitoring is a must. 

Steve Souders  

💻 Jobs  

[Sr. Fullstack Engineer (Remote)](https://www.stickermule.com/careers) — Sticker Mule is looking for passionate developers to join our remote team. Come help us become the Internet’s best place to shop and work. 

Sticker Mule   

[Sr. Back-End Developer - Node/Mongo/Angular/AWS (Atlanta)](http://florencehc.com/careers/sr-back-end-nodejs-developer) — Growing HealthIT startup with modern stack. Major focus on company culture and prof. development. Competitive comp+options. 

FLORENCE   

[Join Our Career Marketplace & Get Matched With A Job You Love](https://www.hired.com/javascriptweekly) — Through Hired, software engineers have transparency into salary offers, competing opportunities, and job details. 

Hired  

📘 Tutorials and Opinions  

[Creating My First Chrome Extension](https://24ways.org/2018/my-first-chrome-extension/) — A ‘generous measure of know-how’ on the subject of creating extensions for Chrome. 

Jennifer Wong   

[Metaprogramming, Higher-Order Components and Mixins with Angular Ivy](https://blog.nrwl.io/metaprogramming-higher-order-components-and-mixins-with-angular-ivy-75748fcbc310) — Ivy is the name of Angular’s forthcoming faster new renderer. Learn a few things about its new powers here. 

Victor Savkin   

[Get the Confidence to Use Kotlin in Your Projects… in 2 Days](https://bignerdranch.lpages.co/big-nerd-ranch/?utm_source=Ad&utm_medium=cpc_JSWeekly&utm_campaign=KotlinTour19) — JetBrains Certified - Limited to 20 students - Coming to a city near you. 

Big Nerd Ranch sponsor   

[Real-Time Object Detection in 10 Lines of Code with TensorFlow.js](https://medium.com/@bourdakos1/tensorflow-js-real-time-object-detection-in-10-lines-of-code-baf15dfb95b2) — Includes interactive demos. It’s amazing what you can do in the browser now. 

Nick Bourdakos   

[Why Do React Hooks Rely on Call Order?](https://overreacted.io/why-do-hooks-rely-on-call-order/) 

Dan Abramov   

[7 Ways to Create a JavaScript Function](https://javascript.christmas/2018/13) 

Nicolai August Hagen   

[Picking an Interactive Map Theme with Vue.js](https://developer.here.com/blog/picking-an-interactive-map-theme-with-vue.js) 

Nic Raboy  

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/voube1w2x08bsycmbosw.jpg)](https://www.youtube.com/watch?v=85gJMUEcnkc)  

▶[Building a Simple Virtual DOM from Scratch](https://www.youtube.com/watch?v=85gJMUEcnkc) — The audio isn’t great but the speaker is engaging and almost everyone could get something valuable from this 40 minute talk. 

Jason Yu   

[The Developer’s Guide to Not Losing the Metrics You Need](https://www.influxdata.com/blog/the-developers-guide-to-not-losing-the-metrics-you-need/) 

InfluxData sponsor   

[JavaScript and Civil Rights](https://www.deque.com/blog/javascript-and-civil-rights/) — Thoughts on the human factors side of JavaScript and _“the potential impact of web interfaces on users’ civil rights.”_ 

Marcy Sutton   

[Netflix's Learnings From Adopting GraphQL](https://medium.com/netflix-techblog/our-learnings-from-adopting-graphql-f099de39ae5f) 

Artem Shtatnov and Ravi Srinivas Ranganathan (Netflix)   

[thank u, next: An Introduction to Linked Lists](https://dev.to/aspittel/thank-u-next-an-introduction-to-linked-lists-4pph) — A creative Ariana Grande-themed post on linked lists. TBH I thought she was singing “bacon eggs” till now.. :-) 

Ali Spittel  

🔧 Code and Tools  

[JSON Generator: A Tool for Generating Random Data](https://www.json-generator.com/) — Generate any random data you want online with agile JavaScript-powered templates. 

Vazha Omanashvili   

[Deno: A Secure TypeScript Runtime On V8](https://github.com/denoland/deno) — Ryan Dahl’s project has made a lot of progress recently so if you want to run TypeScript outside of the browser environment and not use Node.js, give it a try. 

Ryan Dahl   

[A Much Faster Way to Debug Code Than with Breakpoints or console.log](https://wallabyjs.com/docs/intro/value-explorer.html?utm_source=cooperpress&utm_medium=email&utm_campaign=javascriptweekly&utm_content=javascriptweekly) — Wallaby catches errors in your tests and displays the results of expressions right in your editor as you type. 

Wallaby.js sponsor   

[Rendora: A Dynamic Renderer for Zero-Conf Server-Side Rendering](https://github.com/rendora/rendora) — It’s built in Go, but you might find this useful for using headless Chrome to do server-side rendering of client-rendered content for bots, etc. 

Rendora   

[A Minimal Google Analytics Snippet](https://minimalanalytics.com/) — Forget the 73KB of code Google’s ‘Tag Manager’ and Analytics library needs and use this 1KB of code instead to track your pageviews (and _only_ pageviews) with Google Analytics. 

David Kunnen   

[billboard.js 1.7: A Simple Chart Library Based on D3 v4+](https://github.com/naver/billboard.js) — A new version [just dropped](https://medium.com/@alberto.park/billboard-js-1-7-0-release-4944a2eb59fe) with multiple axes support, a new theme, and TypeScript support. 

Naver Corp   

[matchit: Quickly Parse and Match URLs](https://github.com/lukeed/matchit) 

Luke Edwards   

[Ember 3.6 Released](https://www.emberjs.com/blog/2018/12/13/ember-3-6-released.html) 

Melanie Summer, Kenneth Larsen and Chris Garrett   

[wolkenkit 3.0: A CQRS and Event Sourcing Framework for JS and Node](https://www.thenativeweb.io/blog/2018-12-04-18-17-introducing-wolkenkit-3-0/) — A DDD (domain-driven design)-oriented foundation for apps. 

Sophie van Sky         

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
