I'm doing an app that can be used on Apple, Android, web and desktop so for many different screen sizes - phone, tablet, laptop, desktop etc. Is it reasonable to design for say three different layouts - small, medium, and large - where the layout for each could be slightly different - or is it more common to have just a single basic layout that populates widgets row by row and automatically starts on the next row when a row gets full.
[Edit] What I mean is that for a large screen I could have one set of widgets and for a small screen I could have a completely different set of widgets - is that reasonable to do or is it too much work. e.g. if the user starts with a large window and then resizes the window to make it small, the appearance and maybe the functionality might change a little bit - is that bad? This link posted by Kaushik is helpful Flutter: How to do responsiveness for "real" mobile/web applications?