Search
Two Ways to Build a Site That Seem Super Different But Weirdly Aren’t That Different
14.12.2018
Here are two ways to build a site (abstractly) that feel diametrically opposed to me:
Build a site as an SPA (Single Page App). The page loads a skeleton HTML page that executes JavaScript as quickly as it can. The JavaScript calls an API to get data, and then the page renders content. Navigation...
JavaScript to Native (and Back!)
14.12.2018
I admit I'm quite intrigued by frameworks that allow you write apps in web frameworks because they do magic to make them into native apps for you. There are loads of players here. You've got NativeScript, Cordova, PhoneGap, Tabris, React Native, and Flutter. For deskop apps, we've got Electron....
Rendering Lists Using React Virtualized
13.12.2018
Working with data in React is relatively easy because React is designed to handle data as state. The hassle begins when the amount of data you need to consume becomes massive. For example, say you have to handle a dataset which is between 500-1,000 records. This can result in massive loads and lead...
Level up your JavaScript error monitoring
13.12.2018
(This is a sponsored post.)
Automatically detect and diagnose JavaScript errors impacting your users with Bugsnag. Get comprehensive diagnostic reports, know immediately which errors are worth fixing, and debug in a fraction of the time.
Bugsnag detects every single error and prioritizes errors...
Keep Math in the CSS
12.12.2018
There is a sentiment that leaving math calculations in your CSS is a good idea that I agree with. This is for math that you could calculate at authoring time, but specifically chose not to. For instance, if you needed a 7-column float-based grid (don't ask), it's cleaner and more intuitive:
.col...
Web Designs That Feel Like Ancient History, but Are More Recent Than You Think
12.12.2018
Flickr announced not long ago that they are limiting free accounts to 1,000 photos. I don't particularly mind that (because it seems like sound business sense), although it is a bit sad that a ton of photos will be nuked from the internet. I imagine the Internet Archive will swoop in and get most...
Prototypes and production
11.12.2018
There’s an interesting distinction that Jeremy Keith defines between prototype code and production code in this post and I’ve been thinking about it all week:
...every so often, we use the materials of front-end development—HTML, CSS, and JavaScript—to produce something that isn’t intended...
Creating an Animated Login Form for TouchID
11.12.2018
I came across this amazing Dribbble shot by Jakub Reis a while back. It caught my eye and I knew that I just had to try recreating it in code. At that moment, I didn’t know how. I tried out a bunch of different things, and about a year later, I finally managed to make this demo.
I learned a couple...
What makes someone a good front-end developer?
11.12.2018
We recently covered this exact same thing, but from the perspective of a bunch of developers.
Chris Ferdinandi weighs in:
The least important skills for a front-end developer to have are technical ones.
The nuances of JavaScript. How to use a particular library, framework, or build tool. How...
Why isn’t it <style src=””>?
10.12.2018
The way JavaScript works is we can do scripts as an inline block:
<script>
let foo = "bar";
</script>
Or, if the script should be fetched from the network...
<script src="/js/global.js"></script>
With CSS, we can do an inline block of styles:
<style>
.foo...
JavaScript waitForever
10.12.2018
Writing mochitests for new features in DevTools can be difficult and time-consuming. There are so many elements interacting in an async manner that I oftentimes find myself using the debugger to debug the debugger! In the case where it’s unclear what interaction isn’t working...
An Introduction and Guide to the CSS Object Model (CSSOM)
10.12.2018
If you've been writing JavaScript for some time now, it's almost certain you've written some scripts dealing with the Document Object Model (DOM). DOM scripting takes advantage of the fact that a web page opens up a set of APIs (or interfaces) so you can manipulate and otherwise deal with elements...
Google Labs Web Components
10.12.2018
I think it's kinda cool to see Google dropping repos of interesting web components. It demonstrates the possibilities of cool new web features and allows them to ship them in a way that's compatible with entirely web standards.
Here's one: <two-up>
I wanted to give it a try, so I linked...
What do you name color variables?
7.12.2018
What naming scheme do you use for color variables? Have you succeeded at writing CSS that uses color variables in a manner agnostic to the colors they represent?I've tried all of the following, and I have yet to succeed at writing CSS that works well with any color scheme....
Accessible SVG Icons With Inline Sprites
7.12.2018
This is a great look at accessible SVG markup patterns by Marco Hengstenberg. Here's the ideal example:
<button type="button">
Menu
<svg class="svg-icon"
role="img"
height="10"
width="10"
viewBox="0 0 10 10"
aria-hidden="true"
focusable="false">
...
Compound Components in React Using the Context API
7.12.2018
Compound components in React allow you to create components with some form of connected state that’s managed amongst themselves. A good example is the Form component in Semantic UI React.
To see how we can implement compound components in a real-life React application, we’ll build a compound...
Edge’s Announcements
6.12.2018
The public-consumption blog post:
Ultimately, we want to make the web experience better for many different audiences. People using Microsoft Edge (and potentially other browsers) will experience improved compatibility with all web sites, while getting the best-possible battery life and hardware...
Browser Diversity Commentary, Regarding the Edge News
6.12.2018
Still no word from the horse's mouth about the reported EdgeHTML demise, but I hear that's coming later today. The blog posts are starting to roll in about the possible impact of this though.
Andre Garzia: While we Blink, we loose the Web:
Even though Opera, Beaker and Brave are all doing very good...
DRY State Switching With CSS Variables: Fallbacks and Invalid Values
6.12.2018
This is the second post in a two-part series that looks into the way CSS variables can be used to make the code for complex layouts and interactions less difficult to write and a lot easier to maintain. The first installment walks through various use cases where this technique applies. This post...
CSS Selectors are Conditional Statements
6.12.2018
foo {
}
Programmatically, is:
if (element has a class name of "foo") {
}
Descendent selectors are && logic and commas are ||. It just gets more complicated from there, with things like combinators and pseudo selectors. Just look at all the ways styles can cascade.
Jeremy Keith:
If...