In practice, it’s never about the extremes though. As there is a ‘data’ App and a separate ‘web’ AppWeb both styles can be used together.
If we look at how the phx generator creates the data app, we see vertical slicing as far as I can remember. Except for migrations which are all in one folder*. It’s the web app that (historically) uses horizontal slicing and although it can be beneficial, I rather use vertical slicing there too.
LiveView seems to move towards vertical slicing, with the template files next to the rest of the code for a page/view.
*Django puts migrations within the ‘feature’. Con: touch two features at once and you have two separated migration files.


















