Internet Weekly #114 | Stefan Judis Internet Growth


Do your React useEffect hooks embody race circumstances? Have you ever heard of the perspective() CSS operate? Would you utilize Subsequent.js?

This week’s Internet Weekly contains all of the solutions and way more. Take pleasure in!

With macOS Sonoma, it is attainable to “set up” net pages as Safari net apps with the brand new “add to dock” function.

Safari "add to dock" menu item under "file"

I take advantage of Chrome (for work) and Firefox (for personal), so why would I care? I take advantage of Gmail, Google Calendar and Twitter as standalone Chrome apps to get them out of my tab bar. However they’ve some annoyances.

Chrome install app dialog.

I gave “add to dock” a spin, and I am going to stick with it. This is why:

  1. I can spin up an put in net app with out kicking off the bottom browser. If I set up a Safari net app, it is its personal factor. It has its personal cookies, historical past and may be opened independently. It at all times bugged me {that a} Chrome app spins up Chrome, too.
  2. As mentioned, I take advantage of a number of browsers and Choosy as the default browser to determine which browser ought to show a brand new hyperlink. This by no means labored in Chrome net apps. Hyperlinks are at all times opened in Chrome as a result of it appears to be only a fancy Chrome window. In Safari net apps, I can open hyperlinks in Firefox, Chrome, or no matter I like. Great.

What are the downsides? Extensions aren’t working in Safari Internet Apps. Bummer. Additionally, badging doesn’t seem to work to point out unread notifications or an indicator that one thing occurred.

Will I stick with Safari Internet Apps for now? Yep, and I hope all these too-long ignored PWA options will land in Safari finally.

One thing that made me smile this week

Screenshot of MySpace Tom

Do you bear in mind MySpace Tom? Or the Million Greenback web site that offered pixels for promoting? Neal Agarwal takes you by the hand by web historical past!

Visit the ancient web

Strikethrough accessibility

Two ecommerce products with strikethrough text

How do you make strikethrough textual content accessible for all? It is sophisticated.

Make things accessible

useEffect race circumstances

Example showing how to prevent a 'useEffect' race condition

This is a fast reminder that useEffect is open to race circumstances. It is an older put up, however Max Rozen explains how one can safe your React uncomfortable side effects.

Don’t run into the race

After studying Max’s put up, I began studying the React docs, and so they’re glorious today. Listed below are two nice pages to be taught extra or refresh your React skillz.

If we want that sort of longevity, we need to avoid dependencies that we don’t control and stick to standards that we know won’t break. If we want our work to be accessible in five or ten or even 20 years, we need to use the web with no layers in between.

Instruments and frameworks come and go. Jake Lazaroff makes the case for net elements as an answer that is there to remain.🌶️

Bet on the platform

A Couple of New CSS functions I'd never heard of

I’ve no concept how Chris retains monitor of all issues CSS, however apparently, light-dark(), xywh(), spherical() and perspective() are a factor in CSS land.

Level up your CSS

The fantastic bizarre net – World Inhabitants Stats

Do you think you belong to the young or old? Your the 4,828,831,991 person alive on the planet. This means that you are older than 60% of the world's population and older than 40% of all people in Germany.

I assume I am not that younger anymore.😅 inhabitants.io provides you a glance into the world’s inhabitants and the place you stand.

Compare yourself with the world

What are your favourite web corners? Send them my way, and I am going to embody them in Internet Weekly!

Git tip: automagically load challenge configs

A gitconfig that requires different files depending on the git directory

For the freelance of us: Garrit Franke describes how he manages a number of git identities (SSH keys and stuff) for various purchasers relying on the challenge listing. Good!

Make Git smarter

Subsequent.js — the nice & the dangerous

Are you evaluating Subsequent.js and prepared for some opinions, popcorn and sizzling takes?

Why I won't use Next.js

Kent C. Dodds printed “Why I don’t use Next.js”. And he is criticizing that Subsequent depends on a React canary launch, there’s an excessive amount of magic and that it is not counting on net requirements. Do all his arguments maintain?

Why I'm using Next.js

Vercel’s Lee Robinson did not allow us to wait and took the mic to answer with “Why I’m Using Next.js” a number of days later. I am no every day Subsequent.js consumer, so it is arduous to take a stand right here. Do you’ve ideas on the subject? I’d love to hear them!

However I like the best way Kent and Lee work together with one another. Certain, it is advertising. However each have large followings and will simply begin some sizzling “Mine is healthier than yours” drama, however as a substitute, they constructively write about it.

On the finish: no matter you utilize might be effective.

Random MDN – Object.groupBy

Object.groupBy example

From the limitless MDN data archive…

Do you know you’ll be able to group array entries with a nifty JS one-liner?

Effectively… Virtually. Firefox 119 followed Chrome and shipped Object.groupBy. Solely Safari’s lacking, however don’t be concerned. groupBy is not too arduous to polyfill.

Group it

Example of HTML that includes an anchor with the "ping" attribute

Have you learnt that HTML has a local method to monitor hyperlink clicks? That is what the ping attribute is for. 💪

Track with the platform

Multiple details elements that were transformed to an accordeon by using the "name" attribute

We’re proper within the HTML revolution. dialog shipped. popover is nearly cross-browser supported (Firefox is lacking with a flagged implementation). And now there’s one other replace within the browser maker pipeline.

particulars components with related title attributes will turn into native accordions. Thus far, so good. However…

⚠️ After sharing this function on social media, I realized there is a large BUT!. Are accordions a superb consumer sample, in any case?

Unique accordions enable guests to see just one factor at a time. There isn’t any method to open a number of sections without delay. You possibly can’t learn and reference totally different open sections. This conduct may be inaccessible and a irritating consumer expertise. Baking an accessibility / UX antipattern into the platform encourages utilizing not thought-throw UI patterns.

To work round this, individuals add “Collapse/Broaden all” buttons to their customized accordion implementations. However how do you do that with the native implementations when it is solely allowed to have one open component?

I admit I’ve by no means considered all this issues. WebDev is tough. 😅

Thanks to Eric Eggert and Sara Soueidan for their feedback.

Three priceless initiatives to take a look at

  • google/wireit – Oldie, however goldie — improve your npm/pnpm/yarn scripts to make them smarter and extra environment friendly.
  • tsparticles/tsparticles – Create particle results, confetti explosions and fireworks animations.
  • usebruno/bruno – Opensource IDE for exploring and testing APIs.
Vectorpea

Photopea is my web-based Photoshop substitute since endlessly. The identical of us have now launched a brand new software to edit and create vector information. Say good day to Vectorpea.

Vector all the things

Everyone knows what Aaron Francis is talking about, proper? 😅

The most effective half about being 90% achieved with a challenge is that you just’re nearly midway completed!

Beloved this e-mail? Hated this e-mail? Wish to share assets? I want to hear about it!

And with that, care for your self – mentally, bodily, and emotionally.

I am going to see you subsequent week! 👋



Leave a Reply

Your email address will not be published. Required fields are marked *