I have multiple clients that need their stores to behave differently i.e. additional fields for orders, different ways of saving data etc. etc. Is it possible with Magento 2 to write for example a different controller for submitting the order within 2 storefronts? So client A and client B have have their own CheckoutController? Is that level of code separation available in Magento 2.x or do you need to have a different codebase for each client?
In a multi site scenario magento has only been Designed where different storefronts share functionality but have different configurations such as catalog or payment and shipping.
However if you start to break this up into separate journeys will need a lot of custom code.
Eventually you will reach a point where you wish you have separate stores as changes on one inadvertently affect the other.
I've seen things like this
But I dont think that's what you want