Search
content-visibility: the new CSS property that boosts your rendering performance
14.9.2020
Una Kravets and Vladimir Levin:
[…] you can use another CSS property called content-visibility to apply the needed containment automatically. content-visibility ensures that you get the largest performance gains the browser can provide with minimal effort from you as...
radEventListener: a Tale of Client-side Framework Performance
18.8.2020
React is popular, popular enough that it receives its fair share of criticism. Yet, this criticism of React isn’t completely unwarranted: React and ReactDOM total about 120 KiB of minified JavaScript, which definitely contributes to slow startup time. When client-side rendering in React is relied...
Kotlin Coroutines and Delay
11.6.2020
Whenever I suspect that there’s a timing conflict causing a problem with rendering and directives, I usually opt for a JavaScript setTimeout with a delay. The setTimeout code never makes it to production, but it does help me to understand if my code is the problem or if there’s a timing...
How I Used Brotli to Get Even Smaller CSS and JavaScript Files at CDN Scale
5.6.2020
This article is about my experience using Brotli at production scale. Despite being really expensive and a truly unfeasible method for on-the-fly compression, Brotli is actually very economical and saves cost on many fronts, especially when compared with gzip or lower compression levels...
prerender.js
9.5.2020
This is another player in the game of rendering the page of the link that you’re about to click on before you click it. It’s like getting a decent performance boost for extremely little effort.
Instant.page is another one, and I’ve been sufficiently convinced by its methodology...
Let’s Take a Deep Dive Into the CSS Contain Property
8.5.2020
Compared to the past, modern browsers have become really efficient at rendering the tangled web of HTML, CSS, and JavaScript code a typical webpage provides. It takes a mere milliseconds to render the code we give it into something people can use.
What could we, as front-end developers, do...
Performant Expandable Animations: Building Keyframes on the Fly
1.4.2020
Animations have come a long way, continuously providing developers with better tools. CSS Animations, in particular, have defined the ground floor to solve the majority of uses cases. However, there are some animations that require a little bit more work.
You probably know that animations should...
Careful with Nested `display: grid; height: 100%;`
11.3.2020
It's not every day you can feel CSS be slow at something. Reddit user jgbbrd discovered nesting grid containers that all have 100% height can cause many-seconds of rendering delay. Probably not something you'll ever have to worry about, but still, interesting. From the comments:
What a funny...
Vue.js: The Documentary
3.3.2020
Hey how cool! A documentary about Vue! Good timing as it looks like VueConf is happening right now. (Reminder we have a site for conferences to tell you stuff like that).
Sarah appears in it (about 21:13) and talks about CSS-Tricks for a second, so we're officially super famous now and I have...
The Hooks of React Router
12.2.2020
React Router 5 embraces the power of hooks and has introduced four different hooks to help with routing. You will find this article useful if you are looking for a quick primer on the new patterns of React Router. But before we look at hooks, we will start off with a new route rendering...
Apollo GraphQL without JavaScript
29.1.2020
It's cool to see progressive enhancement being done even while using the fanciest of the fancy front-end technologies.
This is a button in a JSX React component that has a click handler applied directly to it that fires a data mutation Ajax request through Apollo GraphQL. That is about the least...
Techniques for Rendering Text with WebGL
6.12.2019
As is the rule in WebGL, anything that seems like it should be simple is actually quite complicated. Drawing lines, debugging shaders, text rendering… they are all damn hard to do well in WebGL.
Isn’t that weird? WebGL doesn't have a built-in function for rendering text. Although text seems like...
Filtering Lists Dynamically With Vue on the Server Side is Easier Than You’d Think
4.12.2019
I recently attended the ARTIFACT conference in Austin, TX, and was inspired by a few talks about accessibility through the lens of site performance. It became clear to me that there is this tendency to rely on big JavaScript frameworks to handle the work — like React, Vue, and Angular — but that...
Collective #567
21.11.2019
Lite YouTube Embed * Instanced Line Rendering * Cube.js Templates * LegraJS * Pika Registry
Collective #567 was written by Pedro Botelho and published on Codrops
Two Images and an API: Everything We Need for Recoloring Products
11.10.2019
I recently found a solution to dynamically update the color of any product image. So with just one <img> of a product, we can colorize it in different ways to show different color options. We don’t even need any fancy SVG or CSS to get it done!
We’ll be using an image editor (e.g. Photoshop...
Collective #553
30.9.2019
Text Rendering Hates You * Working with GitHub Actions * Design Tips * Frankenstein Migration
Collective #553 was written by Pedro Botelho and published on Codrops
Static First: Pre-Generated JAMstack Sites with Serverless Rendering as a Fallback
23.9.2019
You might be seeing the term JAMstack popping up more and more frequently. I’ve been a fan of it as an approach for some time.
One of the principles of JAMstack is that of pre-rendering. In other words, it generates your site into a collection of static assets in advance, so that it can be served...
Bitcoin History Part 17: That Time Mt. Gox Destroyed 2,609 BTC
21.9.2019
Technically speaking, it’s impossible to destroy bitcoins. But it is possible to send coins to an unspendable address, rendering them redundant to all intents and purposes. In October 2011, that’s exactly what Mark Karpeles did when he consigned 2,609 BTC to eternal oblivion due to...
Weekly Platform News: Emoji String Length, Issues with Rounded Buttons, Bundled Exchanges
19.9.2019
In this week's roundup, the string length of two emojis is not always equal, something to consider before making that rounded button, and we may have a new way to share web apps between devices, even when they are offline.
The JavaScript string length of emoji characters
A single rendered emoji...
Weekly Platform News: Apple Deploys Web Components, Progressive HTML Rendering, Self-Hosting Critical Resources
13.9.2019
In this week's roundup, Apple gets into web components, how Instagram is insta-loading scripts, and some food for thought for self-hosting critical resources.
Apple deploys web components built using Stencil
The new Apple Music web app (beta) uses a JavaScript framework (Ember.js) but also...