You may achieve responsive layout with both GridLayout and StackLayout. We prepared a blog post that illustrate responsive behavior integrated with the components:
It depends on the project specifics, but you can dynamically toggle the layout items based on the resolution and you can adjust the rows and columns count.