- Software Development
- How It Relates to Web Standards – InApps 2022
How It Relates to Web Standards – InApps is an article under the topic Software Development Many of you are most interested in today !! Today, let’s InApps.net learn How It Relates to Web Standards – InApps in today’s post !
Read more about How It Relates to Web Standards – InApps at Wikipedia
You can find content about How It Relates to Web Standards – InApps from the Wikipedia website
Basically, a core tag of the web’s default markup language HTML, <img>, has been supplemented in Next.js by a new “React-based image component,” <Image>. Note that this <Image> component is not a drop-in replacement of <img> at the browser level, but at the developer library level. Indeed, the Next.js project team informed me that <Image> is an optional replacement that “yields better performance” and you could in fact use <Image> and <img> in the same page.
As Rauch noted in a tweet, the new component “…uses very powerful web standards underneath, automating them. Instead of having to write and remember several different tags and attributes, React abstracts it away.”
Next.js partnered with Google to create a new component.
“The Google Chrome team helped us create this React component to improve page performance, by making best practices the default,” said Tim Neutkens during the event’s opening session. Neutkens is Head of Next.js at Vercel, the company Rauch launched in 2015 before releasing Next.js the following year.
“At its most basic, the Next.js Image Component is just a drop-in replacement for the HTML image element, but evolved for the modern web,” explained Neutkins.
Here’s what the code change will look like (via Next.js documentation):
It should be emphasized that no web standards were hurt during the making of this component (as I incorrectly asserted in the original version of this article). Houssein Djirdeh, a Developer Advocate at Google, noted on Twitter that the <Image> component “is built on top of the image standard” and that the goal was “to build a wrapper on top of” the HTML <img> tag “to improve both the developer and user experience.”
So in summary, the new component is an example of building convenience libraries on top of web standards to make developers’ lives easier (hat-tip Owen Campbell-Moore, a Senior Engineer at Facebook, for that wording).
Best Practices and Web Standards
Richard is senior editor at InApps and writes a weekly column about what’s next on the cloud native internet. Previously he founded ReadWriteWeb in 2003 and built it into one of the world’s most influential technology news and analysis sites.
The new <Image> component will only be used by developers who use Next.js, so it doesn’t mean that other developers won’t continue to work directly with the <img> HTML tag and all its attributes.
Let’s first look at what the “best practices” approach of Next.js and Google, in developing the <Image> component, has actually resulted in.
“When using the Next.js Image Component, images are automatically lazy-loaded,” explained Neutkens during the Next.js virtual event, “meaning they’re only rendered when the user is close to seeing the image. And by enforcing image dimensions, browsers immediately render the space needed for the image instead of having it jump in when loaded — this prevents layout shift.”
From a technical point of view, this does sound good. But what role (if any) should the web’s governing body, the World Web Consortium (W3C), play in the development of best practices like this? Although, Vercel’s Joe Haddad pointed out that the ability of the Next.js image component to lazy load images “is actually in the HTML standard, via the
loading=lazy attribute.” So in a sense, the W3C is already a part of these innovations. Haddad also noted that the W3C is no longer the sole governing body of the HTML specification — it’s now led by WHATWG (Web Hypertext Application Technology Working Group), a group consisting of Apple, Mozilla, Google and Microsoft.
I bring up the W3C mainly because Google owns the dominant web browser of this era, in Chrome. So there is a parallel here with Microsoft in the late 1990s, when its Internet Explorer dominated the browser market. Perhaps it’s unfair to compare Google Chrome with IE, but in both cases, you have one company creating best practices that most web designers then had to adhere to (simply because of market dominance).
Indeed, the Microsoft versus Netscape browser wars of the 1990s is what eventually led to the W3C starting its web standards project. As the W3C tells it:
As a result, a group of professional web developers and designers banded together. This group called themselves the Web Standards Project (WaSP). The idea was that by calling the W3C documents standards rather than recommendations, they might be able to convince Microsoft and Netscape to support them.”
One big difference between Microsoft in the 1990s and Google in 2020 is that the latter is a proponent of open source software. It has, as just one example, open sourced its browser software Chromium.
I certainly don’t doubt Google’s intentions. Dion Almaer, Director of Engineering at Google, wrote a good thread on Twitter about why Google chose to help Next.js create its <Image> component. “We notice that most developers use frameworks, CMSes, and tools,” he wrote. “We want to understand developers’ needs here and help. The spirit of this is working with the ecosystem.”
Point taken that Google is working with web standards, not against them. With that said, much of what is driving Google and Next.js here is a standard of a different kind: performance. Rauch indicated as much in his keynote address.
“The image element was introduced back in 1995, but has seen very little evolution since,” Rauch said. “However, on average, images will make up 50% of the average webpage size. When left unoptimized, images will hurt your site’s performance, and consequently your user experience and your conversion. Next.js 10 solves this.”
Another interesting aspect of the new Next.js image component is its support of the lesser-known image format, WebP (Web Picture format). While formats like JPEG, GIF and PNG (the latter created by the W3C) are decades old and well accepted as image standards on the web, Next.js and Google want WebP to get more love.
WebP actually came out of Google, which announced the new format in 2010. While it is open source, it has so far not been acknowledged on W3C’s long-running page, Graphics on the Web (indeed, that page hasn’t been updated since 2003 — which may partly explain why Google went the open source, rather than web standards, route). However, WebP is mentioned in the WHATWG HTML Standard (which superseded W3C’s HTML standard) and is also in Mozilla’s list of image formats.
The primary technical benefit of WebP is that file sizes are lower than the likes of JPEG and PNG. In an FAQ, Google states that “WebP typically achieves an average of 30% more compression than JPEG and JPEG 2000, without loss of image quality.”
However, not all current browsers fully support WebP. Apple’s Safari only recently added support, as of September 2020 (and only in the latest versions of MacOS). Microsoft’s Internet Explorer doesn’t support WebP, although its new Edge browser does — primarily because Edge runs on Google’s open source Chromium software.
What’s that other thing Google is well known for… that’s right, search! While there’s no suggestion Google is biased towards websites that use WebP in its search results, back in 2018 it did roll out “mobile-first indexing” — which, among other things, favors “fast-loading content.” So whether it’s explicitly stated or not, there’s a clear SEO benefit in using WebP.
But let’s get back to the Next.js announcement. Along with the new image component, Next.js announced something called “Automatic Image Optimization.” This involves automatically “resizing, optimizing, and serving images in modern formats like WebP when the browser supports it.” However, Next.js will always fallback to serving a JPG or PNG for browsers that do not support WebP.
That suggests that if you’re using a Chrome browser — as most web users now do — then if you’re consuming a website built with Next.js, chances are the images you’re viewing are WebP. Which, it bears repeating, is not a web standard according to the W3C. Not yet, anyway.
If you’re a developer, it’s hard to argue against the “best practices” approach to web technologies that both Google and Next.js espouse. There are clear technical benefits to using the new image component of Next.js. Likewise, there appear to be solid technical reasons to use the WebP image format — especially if more and more browser products are being built on Google’s Chromium technology (Microsoft Edge, Opera and Brave are just a few current examples).
Feature image via Pixabay.
List of Keywords users find our article on Google:
|component version jira|
|indeed web developer|
|indeed jobs owen sound|
|hat tip gif|
|indeed web developer job|
|what is a component in jira|
|jira service management vs jira software|
|who is making the web standards|
|jira service management documentation|
|component in jira|
|what is component in jira|
|jira issue layout|
|what is a jira component|
|rails image tag|
|google web developer jobs|
|import ms project into jira|
|jira cloud sandbox|
|jira supported browsers|
|hire apple keynote developer|
|who is making the web standards?|
|mozilla html tags|
|reasonable doubt wikipedia|
|jira custom fields in issue navigator|
|jira custom field repeats|
|love on safari wikipedia|
|react js seo concerns|
|jira service management server|
|web standards project|
|change management wikipedia|
|e commerce website wikipedia|
|jira change issue layout|
|jira column management|
|jira component custom field|
|jira tag user|
|next js developer jobs|
|issue layout jira|
|modern web image formats|
|indeed owen sound|
|microsoft version of jira|
|how to perform indexing in jira|
|jira image size|
|reliance company profile wikipedia|
|component vs custom field in jira|
|jira change view layout|
|joe seo wikipedia|
|react native fast image|
|facebook senior software engineer|
|hire wildfly developer|
|apple keynote templates free|
|google app engine standard|
|jira markup table|
|jira related to|
|colorado springs outsource seo|
|jira custom html|
|jira relates to|
|market maker wikipedia|
|brave browser icon png|
|react native sound|
|how to add status column in jira|
|open web technology|
|jira default value for custom field|
|vercel net worth|
|w3c standards list|
|relates to jira|
|modern web standards|
Let’s create the next big thing together!
Coming together is a beginning. Keeping together is progress. Working together is success.