Harro de Vos
Here my 2 cents:
If you split up your application into different Mendix applications you can solve this (microservices). So let your core modules be their own environments. This way you can have one team building the Insurance app and the other the CRM app etc.
Microservices would also help for this. Because each enivironment can have a different size depending on how much use it is getting.
Hmm, reuse is more then just HTML. Code reuse is also part of this. With a microarchitecture you do need to think about which microservice needs which data from the other services. And the theming can be reused over the multiple applications. Might need some more discussion about this topic.
Yes you have the API but indeed this might be an issue. And do note the microarchitecture approach probably needs an enterprise license. You need to do some calculations here.
Hope this helps a bit.
I think Ronald has answered the questions about usabillity of Mendix well.
I was triggered by your question because of the idea of using the Model View Controller (MVC) pattern. Using a pattern like this is not common in the Mendix world, although it can help a lot to make your application more stable and maintainable. The focus of Mendix developers is often to deliver the functionallity as fast as possible. Using a layer-pattern like MVC slows down the initial development a bit. But as soon as your application grows, you will be very happy to have a structured way of building your application.
It will be to long to explain the whole MVC pattern for Mendix here (I might write a whitepaper about it some time). But the idea is to split the business logic in validations and operations and have all the commits done in one place, only after all validations are met. This single place to call all business logic (the controller) can be used from the view, which can be a responsive or mobile form, an API or a batch process. Have one place to call all business logic is also ideal for automatic testing.
If you send me an email I can explain it some more if you like. My mailaddress is email@example.com