Bytes #59 - PTSD Chihuahua

PTSD Chihuahua

Issue #59.August 2, 2021.2 Minute read.

I hope you're all enjoying the Olympics as much as the Australian swim coach. This week we've got a big Yarn update, hot takes about Safari, and Mark Dalgleish helping us name our company pug. Welcome to #59.


PTSD Chihuahua

Did someone say there's a major Yarn upgrade?

Yarn 3 wants you to *actually* upgrade this time

Yarn released v3 last week with some cool new features, but a much shorter list of breaking changes than the Yarn 2 release (thankfully).

How did we get here? Yarn is an open-source package manager like npm that was created in 2016 to address npm's performance and security issues. Since then, npm has improved its performance and security quite a bit and copied some key Yarn features (👋 Workspaces), so they're not actually quite as different as they used to be.

Many developers struggled to upgrade to Yarn 2 back in January 2020 when they basically rewrote it from scratch, and one of its original creators even struggled to not flame the entire Yarn project on Twitter.

Anyway, here's what's new in Yarn 3:

  • Way easier to upgrade -- Giving the people what they want 🙏. Even if you're jumping from v1 to v3, migrating will be way less painful because Yarn can now detect that situation and automatically enable some of the main new features like the node-modules linker.

  • Better performance -- Brought to you by esbuild, which was also used to create a new @yarnpkg/esbuild-plugin-pnp package that will let you transparently build your code using the default Yarn installation mode.

  • New plugin APIs -- Yarn now supports plugins that can inject themselves into various places and leverage some of the built-in modules provided by the core.

Bottom Line: If you used to be a Yarn fan, but got turned off by the v2 migration , it may be worth revisiting it now.


Monkey on a Bike

Kendo UI delivers everything you need to build modern, beautiful, responsive apps!!! [sponsored]

These Kendo UI grids just make life easier

Building a data grid is one of the things that sounds pretty easy and straightforward, but always has a bunch of hidden gotchas waiting to sabotage your project (and your sanity).

And most data grid libraries out there are kind of like that old used car you saved up to buy in high school -- it might technically work (some of the time), but it's almost not worth the hassle. Oh, and it's dangerous.

That's why you should just use Kendo UI -- a collection of four JavaScript component libraries with powerful data grids (along with dozens of other components) that can save you from Grid Hell™.

Each library is fast, responsive, easy to customize, and (best of all) written from the ground up for the most popular JavaScript frameworks -- Angular, React, Vue, and even jQuery (lol). So you get all the benefits of native components, without actually having to build them yourself like a pleb.

👉 Check out Kendo UI's free trial, and see what grid nirvana feels like.


Coco Meme

Everyone knows you're the... good guy

Is Safari killing the web?

Tim Perry thinks so. And he laid out a pretty compelling case last week in a well-researched article, which argues that Safari isn't protecting the web from Chrome (as some have claimed), but slowly killing it. The full article is worth reading, but we wanted to highlight a few points and give our take.

Three ways Safari is killing the web:

  • By omitting key stable features -- Safari's feature support is 10% behind Firefox and 15% behind Chrome, according to Can I Use. We're not talking about random, esoteric features either -- there's basic stuff like specific CSS properties and other features that are supported by literally every other browser but Safari.

  • By not fixing bugs -- Safari has 2x more failed web standards tests than Chrome and Firefox. And the bugs are compounded by the fact that Safari releases take place every six months, when every other browser releases updates every six weeks or less.

  • By ignoring newly proposed APIs -- Safari (along with Firefox) has rejected proposals from Chrome to give browsers power to use bluetooth, write to local files, and sync content with servers in the background. There are legitimate privacy and security concerns here, but ignoring these APIs entirely (while Chrome moves forward with them) could lead to certain sites throwing up banners that say "for best experience, switch to Chrome."

Why is this happening?

How could the most valuable company in the world (with literally 50x the number of employees as Mozilla) be overseeing a browser that's so consistently under performing? As usual, Charlie Munger and Wu-Tang have teamed up to give us the answer: "Incentives rule everything around me."

Turns out, Apple has a lot more to gain from a "walled garden" of native apps, than they do from a free-and-open internet (30% on in-app purchases, to be exact). That's not to say this is an explicit strategy, or that the very talented developers on the Safari/WebKit team are to blame, but it seems clear that Apple's not marshalling many of it's near-limitless resources towards the browser.

Whatever the reasons, if Safari doesn't get its act together soon, Chrome will become even more popular/dominant than it already is -- which would ultimately give it full power to shape the entire web as it sees fit. And no one wants that.


Jobs

2x Sr. Frontend Engineers - React | 100% Remote

Close.com is looking for two experienced individuals that have a solid understanding of React and want to help design, implement and launch major user-facing features. They are a 100% globally distributed team of ~45 high-performing, happy people that are dedicated to building a product our customers love.


Cool Bits

  1. Speaking of browsers, Matt wrote about how 1,000 of the most popular Chrome extensions impact browser performance and end-user experience..

  2. Mark Dalgleish just released Sprinkles -- A zero-runtime, type-safe atomic CSS-in-TypeScript framework. Sprinkles would also be a great name for the pug we've been wanting to adopt as a company.

  3. Saúl decided to be an overachiever and create his own tiny JavaScript runtime called txiki.js. Not quite as good of a dog name as Sprinkles, but it's still cool.

  4. Nick Thompson wrote about how he built a drum synthesizer in JavaScript and then immediately turned to his step brother and screamed, "don't touch my drumset!"

  5. Paul wrote about how to use the recently released Gatsby Functions to get the current location of the International Space Station.

  6. Knights of the Flexbox table is a programming game where you can help Sir Frederic Flexbox and his friends uncover the treasures hidden in the Tailwind CSS dungeons. Believe it or not, that was their description, not ours.

  7. Arek wrote about Everything You Ever Wanted to Know About WebRTC, and probably a few things you didn't want to know.

  8. daisyUI lets you add component classes to Tailwind CSS and trick your friends into thinking you're good at design.

Join Bytes

Delivered to 105,434 developers every Monday