Friday Frontend: Post Fluent-Conf Edition
I spent the second half of this week at O’Reilly’s Fluent Conference in San Jose, interviewing speakers for the Changelog and JSParty podcasts. As often happens when I go to conferences, I’m coming away simultaneously exhausted and incredibly energized.
There is SO MUCH cool stuff happening in our industry right now, we’re really in an incredible period of progress.
That progress is not just technical - this was the second major conference I’ve been to in the last year that has had an entire track dedicated to human and diversity questions, and that has put ethical questions front and center in keynotes. We as technologists have incredible power to influence the world, and with that power comes responsibility to do things in a way that will empower others, not manipulate and exploit them. I’m thrilled to see this become more and more front and center in our industry.
Anyways, we’ve got a bunch of great articles and resources in this week’s newsletter. My FAVORITE is a resource I learned about at the conference: http://houdini.glitch.me/. This is a site put together to demonstrate the power of CSS Houdini. Still only really usable if you are using Chrome Canary with some experimental flags enabled, but WOW is this stuff cool and exciting.
Happy Friday! Enjoy!
KBall from ZenDev
CSS & SCSS
The new (and old) CSS units you've never heard about
Okay, I thought
vw were pretty cool, but how about
vb? Sure, no browser support yet but the future of CSS is bright! Or even with stuff that has support, I had no idea
turn was a CSS unit or that you could use aspect ratio in media queries. Super neat stuff!
CSS Media Queries: Quick Reference & Guide
Nothing mindblowing, but a great quick reference on media queries, as well as a look through at some of the new up and coming media queries defined by the Media Queries Level 4 spec.
Practical tips for working with CSS variables
Similar to with CSS Grid, CSS custom properties have been around long enough that we’re starting to see some real best practices emerging. Definitely appreciate the points about scoping; I look forward to seeing this approach used more and more in component frameworks and UI toolkits.
Creating a Bar Graph with CSS Grid
Resilient, Declarative, Contextual
One of the things that makes CSS hard for a lot of developers is that it is solving a conceptually different set of problems than most logical programming languages. To me one of the big differences is the visual nature of it - visual problems are very different from logical problems, and thus the approach you’re going to take to solve them will be different. This author highlights different points, but does a very good job of communicating some of the unique ‘mindset’ pieces that set CSS apart.
Presentational and Container Components
Making the rounds all over, this is an excellent blog post by Dan Abramov (co-author of Redux & Create React App) on React component architecture and a pattern he’s found to be useful. Even if you’re not using React, it’s worth reading as it highlights a great way of decomposing your frontend applications.
When (and why) you should use ES6 arrow functions — and when you shouldn’t
A breakdown of all the different syntactical quirks of arrow functions, followed by a brief discussion of when you would and wouldn’t want to use them. Worth a quick review even if you’re pretty comfortable with arrow functions - you may well learn something (for example I hadn’t realized that you could return object literals in a single line arrow function by wrapping it with parenthesis).
Replacing jQuery with Vue
One of the compelling things to me about Vue as compared to frameworks like React and Angular is that it is light-weight, usable without a build step, and easy to use incrementally without diving whole-hog into a full single page application. That means that we can start using it in places we might traditionally have used jQuery, just to add incremental interactivity to a page. And then if you end up wanting to extend and do something a little more than is easy to do with jQuery, you’re already in a framework that gives you that flexibility and power.
Everything from Velocity, a high performance library that is API compatible with jQuery animate (remember that? So simple, but so slow and janky!) to 3d animations with three.js, to whole-hog finegrained animation control with Greensock. It’s all there -- even a pure CSS animation library - so you can pick your level of complexity and power based on your needs. Sweet!
Architecture in Angular projects
I don’t tend to include as many Angular links because of the big 3 frameworks (Angular, React, and Vue) it is the one I know the least about, but this one is too good to pass up. One of the knocks against Angular is the learning curve and complexity of the ecosystem, but this article does a great job of simply laying out a high level architecture and understanding of how NgModules can be used to organize an Angular application.
This is a site put together to demonstrate the power of CSS Houdini. Still only really usable if you are using Chrome Canary with some experimental flags enabled, but WOW is this stuff cool and exciting. Definitely check it out.
Yarn import now uses package-lock.json
15+ Experts Share Their Web Performance Advice for 2018
Image Inconsistencies: How and When Browsers Download Images
A fascinating look through at the variations in how browsers handle image downloading. For those building image-heavy sites, this is well worth reading to make sure you’re not accidentally downloading tons of images when you aren’t expecting to and swamping mobile users.
Your Brain on Front-End Development
Wonderful almost stream-of-consciousness style walkthrough of what goes on in Chris Coyier’s head when he looks at a design. Super helpful for those still learning how to best translate designs into implementation, and I bet even codgers like me will learn a little something. I did!