So basically, this is what I kind of seeing happening if we to look at changing up the assemblies (which I agree, there are too many, but done for valid reasons).
Prism
Prism.Forms
Prism.iOS (ViewModel locator may not make sense)
Prism.Android (ViewModel locator may not make sense)
Prism.Phone
Keep in mind, that not every platform has the concept of modularity or composition, and/or does not support it. For example, mobile apps don't support this concept, instead a navigation framework would be needed. Also, we can't combine the Unity and MEF assemblies since that would limit the extensibility aspect of prism. Not everyone likes Unity of MEF, so we can't lock that down.
Basically all this does is get rid of the Prism.SharedInterfaces, and automatically brings ViewModelLocator into your Prism apps, whether you want to use it or not. The original thought was that VML was only there is you wanted it, so you didn't have to bring it in if you didn't want to. With this change we are forcing you to have that dependency, even if you don't use it. What are your thoughts about that?
Prism
- Prism.SharedInterfaces
-
Prism.Mvvm
-
Has all the modularity and composition
-
renaming Prism.UnityExentions
-
renaming Prism.MefExtentions
Prism.Forms
Prism.iOS (ViewModel locator may not make sense)
Prism.Android (ViewModel locator may not make sense)
Prism.Phone
Keep in mind, that not every platform has the concept of modularity or composition, and/or does not support it. For example, mobile apps don't support this concept, instead a navigation framework would be needed. Also, we can't combine the Unity and MEF assemblies since that would limit the extensibility aspect of prism. Not everyone likes Unity of MEF, so we can't lock that down.
Basically all this does is get rid of the Prism.SharedInterfaces, and automatically brings ViewModelLocator into your Prism apps, whether you want to use it or not. The original thought was that VML was only there is you wanted it, so you didn't have to bring it in if you didn't want to. With this change we are forcing you to have that dependency, even if you don't use it. What are your thoughts about that?