Friday Frontend: Beginning of the Roundups Edition
We are definitely in December - you can tell because everyone is starting to come out with their year-end roundups.
We’ve got a number of those in this week’s newsletter, as well as some really interesting looks at new Angular and React functionality, a roundup of reactions on the big Edge news, and more.
KBall from ZenDev
CSS & SCSS
A look at how you might think about CSS in analogues of more traditional programming languages and concepts. Frankly I think in the end we need to acknowledge that CSS is attacking a different domain than those languages and therefore has different choices and mental models, but if this helps someone who’s coming from a programming background start to get their head around it, great!
Excellent walkthrough of how to create a Venn Diagram using just HTML and CSS. Utilizes CSS Shapes, custom properties, and CSS Grid.
In the inspiration and examples camp, this is a slew of examples of utilizing CSS text shadows to create different effects. Each is in a codepen, so you can fork and tinker to your heart’s content.
The year-end reviews have started, and this is a good one to look at! Some fascinating data points from npm; I love their look at ‘share of registry’ downloads across frameworks; when I’ve dug into data like this before trying to judge relative popularity, accounting for overall registry growth has always been a problem. Also, if you like this stuff, you might be interested in an interview I did with Laurie Voss about npm & the future of the web.
A thoughtful reaction to a post about the challenges with the trend towards “full stack” development and the way front-end development often gets devalued or at least de-emphasized. Worth reading, even if this isn’t a challenge for you or your organization. (Also worth reading the original post that sparked it)
This completely blew my mind. I had no idea that there was a specified API for manipulating the Shadow DOM, though a little bit of looking around turned up the info that this is one of 4 related specifications around web components. The current state of the world here is pretty early, but I can easily imagine declarative react/vue-like frameworks designed for creating explicitly shadow-dom components that then gives us true reusable components that can be embedded in any web site or application. Super cool!
Fascinating dive into the thinking behind the new Hooks API for React. Written by the always thoughtful Dan Abramov, this goes through a number of other proposed alternative proposals and what the drawbacks were with those that led the team to choose the Hooks approach.
I don’t follow Angular goings-on nearly as closely as I do React and Vue, but occasionally something crosses my radar that is too interesting to pass by. This one takes a look at how the new Ivy renderer will enable much more dynamic and enable features like higher order components and mixins that are challenging to do today in Angular.
Another roundup of all the stuff that happened in the frontend world this year. Things go so fast it feels like some of this stuff happened decades ago, but in reality it hasn’t been very long. WebAssembly 1.0, the massive growth of TypeScript, and babel 7.0 are all on my top list, but there’s much more in here.
Another roundup/reflection post, this one focused on particularly UX design. It’s long, but even if you’re not in design I recommend checking out and thinking about a couple of the points (you can navigate using the dots on the right -- took me a while to notice). First, the bullet point on Impact (“Design is not saving the world”) highlights how tech companies are increasingly powerful and how that impacts our moral responsibilities working in this industry. The following bullet point on ‘Behavior’ takes a look at the tech industry obsession with engagement, and some of the negative consequences it can have. Take the time and read these, and think about them - we are blessed to work in this industry that can have such impact, but with great power comes great responsibility.
A perspective on the differences between creating production code and prototype code. I think the conversation is more nuanced than this gets into - what constitutes production quality will likely vary a lot depending on your product and stage in the market - but this is a good look at some of those concerns.
Roundup of commentary on the recent news that Microsoft is abandoning their efforts to have an independent browser engine and will be building the next version of Edge on top of Chromium. Really feels to me like a short term gain and long term loss for the ecosystem.