Many developers know that they should use it but don't really understand why.
Moreover many developers simply don't use it because they don't understand what it does for them and trying to adjust size/layout on the <Image /> component is kinda finicky compared to sizing a standard <img /> element with css.
Of course, this quirky layout api is to prevent layout shift but again, many developers don't know this.
Another thing i think many developers don't know is that every next app has a whole hidden image service spun up along side it at an endpoint "/_next/image" that takes the images passed to the <Image /> component and optimizes them by adjusting size, quality, and format.
The <Image /> component even tries to load different sized images based on the size of the device viewing the page and nextjs does this by filling in the srcset attribute for you on the underlying <img /> element.
But all of this is too magical imo. The developer experience when trying to use the <Image /> component is bizarre and the abstractions are leaky. To utilize it well you need to understand the underlying concepts/impl anyway.
<img /> concepts including srcset, sizes, and webp are important to understand as a web developer, especially if you find yourself outside of the context of nextjs.
Binsta does all this stuff for you but more transparently so that you're in control and get to learn about web fundamentals. Binsta also can handle videos which is cool and works outside of the context of nextjs.
Moreover many developers simply don't use it because they don't understand what it does for them and trying to adjust size/layout on the <Image /> component is kinda finicky compared to sizing a standard <img /> element with css.
Of course, this quirky layout api is to prevent layout shift but again, many developers don't know this.
Another thing i think many developers don't know is that every next app has a whole hidden image service spun up along side it at an endpoint "/_next/image" that takes the images passed to the <Image /> component and optimizes them by adjusting size, quality, and format.
The <Image /> component even tries to load different sized images based on the size of the device viewing the page and nextjs does this by filling in the srcset attribute for you on the underlying <img /> element.
But all of this is too magical imo. The developer experience when trying to use the <Image /> component is bizarre and the abstractions are leaky. To utilize it well you need to understand the underlying concepts/impl anyway.
<img /> concepts including srcset, sizes, and webp are important to understand as a web developer, especially if you find yourself outside of the context of nextjs.
Binsta does all this stuff for you but more transparently so that you're in control and get to learn about web fundamentals. Binsta also can handle videos which is cool and works outside of the context of nextjs.