4 ms·
That's interesting, and very ironic, since PWA's are supposed to be the lightweight option.. Did you try recently? Ionic has developed quite a bit the last yea
by redbar0n 4y ago
That's interesting, and very ironic, since PWA's are supposed to be the lightweight option..
Did you try recently? Ionic has developed quite a bit the last years, it looks like.
Did you try the same with a React Native app too?
- dmitriid 4y agoYou can't have decent animations on the web without a powerful device, period. The reasons are simple: - animations that affect layout are extremely heavy because you need to re-layout and re-draw the entire page on every update. That's why you still can't animate things like height: auto etc. They can only be done on the CPU. There's literally no good way around that besides hacks that rely on the next reason - animations that don't affect layout like transform: translate can be offloaded to the GPU. But then you need a GPU and some of them are still ridiculously expensive. For example, anything related to opacity changes (because you'r likely to still run into layout re-calculations with opacity changes) Some device manufacturers (like TVs where many apps are just web apps) even have specific requirements and block lists for things your can and cannot do with respect to animations on the device
- redbar0n 4y agoThanks for sharing your insights! Why don't you need to 're-layout and re-draw the entire page on every update' on native? Animations that affect layout still affect layout when on native, right? Is the reason that JS (and/or the browser sandbox) is single-threaded, whereas native is natively multi-threaded by default? So the point is that cheap mobile devices may not have a GPU, but they may have multiple cores, so they can layout & draw using multiple-threads?