1
  1. Does Xamarin.Forms have a built-in IoC navigation service? I mean something like Prism, where you could register your routes.
  2. If yes - where is the documentation?
  3. If not - will Xamarin.Forms have a built-in navigation service in near future?
  4. Also - if not - what would be the best MVVM fw for Xamarin.Android, Xamarin.iOS, Xamarin.WinXYZ and Xamarin.Forms? And why?

It seems to me that it comes down to battle between Prism and FreshMVVM - this brings me to my most important questions:

  1. Which of these two is performing better? (Which one is faster?)
  2. Which of these is more likely to lead the way of MVVM frameworks considering mobile development in the future?
pax
  • 1,547
  • 2
  • 16
  • 46
  • There is and you can find the documentation [right here](https://developer.xamarin.com/guides/xamarin-forms/application-fundamentals/navigation/), along with all other documentation. – Gerald Versluis Jul 25 '17 at 14:38
  • 1
    Then yes, ask that. And what's up with the 'dude' and 'where the hell'? Is it that hard to ask a question like a normal person? Do you think this way of communicating will get you a lot of help? Please read up on [how to ask](https://stackoverflow.com/help/how-to-ask) a proper question. – Gerald Versluis Jul 25 '17 at 14:51
  • You were right - I removed the "where the hell" phrase from my question. However I stand by the word "dude" in my comment :) – pax Jul 25 '17 at 16:20

2 Answers2

0

Question 1: Yes, Xamarin.Forms have a built-in navigation service.

Question 2: Xamarin.Forms navigation

Edit 2 for question 1: No, there is no IoC Navigation built in Xamarin.Forms framework.

But if you want some IoC navigation maybe this a good one: Xamarin Forms - View Model First Navigation avoiding big frameworks like Prism, MVVMLight or MVVMCross. If not this frameworks works well for this purpose.

soydachi
  • 851
  • 1
  • 9
  • 24
0

No Xamarin Forms does not offer navigation like Prism. They had a goal of making the built in Navigation similar to Prism, but that has since disappeared from their roadmap. There is also no direct IoC concept built directly into Xamarin Forms.

If you are developing native UI's then Prism probably isn't for you as it is purpose built for Xamarin Forms. In that case I might say you should look at MvvmCross. It is battle tested in a lot of classic Xamarin apps.

If however you are developing with Xamarin Forms, then Prism would be the best to use. My opinion may be biased, but it's also the public opinion of many of those on the Xamarin team. Remember Prism was originally started by the Microsoft Patterns and Practices team. While Prism for Xamarin Forms was started after that, the foundation of what Prism is and how it works, helps keep developers developing using proper MVVM patterns.

Dan Siegel
  • 5,724
  • 2
  • 14
  • 28
  • Hi Dan, thank you for your answer. I'm leaning to accepting it, but first I'd be grateful if you could elaborate a bit. Why is MvvmCross better when doing native? Why is Prism better when doing Forms? – pax Aug 07 '17 at 07:12
  • MvvmCross was actually implemented for the Xamarin Native (Prism was not). When it comes to Forms MvvmCross would probably be my second choice to Prism. What ultimately gives Prism the single largest advantage beyond simply being what I like, is that Prism has always been designed to work with XAML Views. The other thing is Navigation. Prism's NavigationService is something that really makes working with Xamarin Forms ridiculously easy and IMO blows every other framework out of the water. – Dan Siegel Aug 07 '17 at 16:43
  • Last question - If I'm working on a really UUUGE Xamarin.Forms project and I know I'm bound to tinker with Android and iOS projects - (not only PCL. Wouldn't it be a better idea to use MVVMCross instead of Prism? – pax Aug 08 '17 at 09:26
  • I decided to accept your answer and go with Prism for now. JimBennet's answer on XamarinForums kind of confirms what you've said/wrote: https://forums.xamarin.com/discussion/91020/choosing-right-mvvm-frameworks-in-building-cross-platform-mobile-apps – pax Aug 08 '17 at 10:09