top | item 39973884

(no title)

cbracken | 1 year ago

Wonderous is an app we've pointed people to in the past. I believe the current iOS release on the App Store uses the newer Impeller rendering engine instead of Skia, but I could be wrong.

App Store: https://apps.apple.com/us/app/wonderous/id1612491897

Code: https://github.com/gskinnerTeam/flutter-wonderous-app

(Disclaimer: I work on Flutter)

discuss

order

lxgr|1 year ago

This indeed runs much smoother than most Flutter apps I've used in the past!

If it was indeed all just due to the slow rendering engine, hopefully this will sift down to other apps.

In the end I really don't care what framework a mobile app is developed with, as long as apps don't feel janky and/or out of place as far as platform UI conventions are concerned. In that sense, me not noticing that an app is using Flutter, React Native, maybe even webviews etc. is probably the ideal :)

But my experience as a user of apps leveraging technologies like this has often shown that reinventing so many layers of the UI rendering stack inevitably leads to some form of "weirdness". Sometimes that's ok; sometimes the alternative would be even weirder, badly developed and maintained native apps. But I can't say I've ever loved using such an app for, and not despite, not being a native app. The React Native approach just seems like a better level to try platform abstraction at.

On the web, I still can't help but find "rendering text and UI elements to a canvas" incredibly weird. I could see that approach working for games, but for things that might as well be regular old web applications, there are just so many things that can go wrong... (Reader mode and password autofill come to mind, for example.)

nicoburns|1 year ago

I think that ultimately (and despite what they might claim) Flutter just isn't a web technology (it's not suitable for rendering to web). But that shouldn't necessarily take away from it as a technology for native app development. React Native is a little better at this (and actively on rendering better to the DOM), but it isn't great either.

zerr|1 year ago

But it still runs a loop like a game engine - 60 FPS? So when compared to native UI, it's like immediate vs retained mode, right?

sunnybeetroot|1 year ago

Native iOS also has a loop, it’s literally called the run loop.