Is your app as large and important as the OS of the device (Chrome/facebook/etc...) you should probably have similar language across devices.
Is your app very large but not that large? (Slack/teams come to mind) I think you can go either way.
If you are smaller than that (hint: you are) then you should comply with the design language of the platform, even if that means somewhat large changes such as moving buttons from the left to the right. The likelihood that users are constantly using your app on a iphone and android is really low.
I disagree. I think the only apps where a custom UI make sense are games and I’m willing to accept highly specialized business apps that have their own conventions. Thinks like Blender, AutoCad, Logic, etc.
I’d still like to see them try to match a little, but they’re specialized enough I get that may be a better path.
Chrome? Facebook? Slack? Teams? No.
I’m not saying things need to look like MyFirstWin32App built with VB6 in 20 minutes.
But use the system controls and conventions. Custom colors and layouts can be fine. But if you want to make your own UI toolkit then make your own OS too and leave my computer alone.
> Is your app as large and important as the OS of the device (Chrome/facebook/etc...) you should probably have similar language across devices.
No app is more important than the OS, and certainly not Facebook (which has no business being an app in the first place). I made a choice when I got the OS, and I like developers respecting it and not chase the fad of the day with poor approximations of the native widgets (text fields that do not support standard shortcuts, buttons that do not behave as they should, labels that do not support accessibility features, the list could go on). Even huge apps like Photoshop or Office get this wrong everywhere.
I definitely agree on the default (use the native toolkit), but there are no applications big enough to get their own behaviour. Open Source or hobby applications get a pass if the UI is a bit wonky, but that’s about it.
With the exception of games try to use the native GUI. It’s the best choice most of the time.