Esri / runtime-questions

Welcome to the 2017 Esri Developer Summit and the session called, "Everything (or Anything) You Wanted to Know About the ArcGIS Runtime SDKs but Were Afraid to Ask"
12 stars 7 forks source link

Multiple Platform options #152

Closed yobohadi closed 5 years ago

yobohadi commented 6 years ago

What is my best option to support Windows 7, 10, iOS, and Android devices? I was leaning toward Xamarin but it looks like UWP does not support windows 7, would I need to maintain a WPF and UWP/Xamarin project?

michael-tims commented 6 years ago

Qt will also support all of these platforms with the same source code with the exception of UWP which is currently not available in Qt.

dotMorten commented 6 years ago

If you want to use .NET and need to support Windows 8, yes you will need to maintain a WPF and a XAML app. However you will only have to create the views on each, since you can reuse your models and viewmodels across all the platforms, and thus very little code isn't shared. IMHO this is probably the biggest argument for using MVVM - especially when building cross-platform.

yobohadi commented 6 years ago

Morten, pardon my ignorance but can you expand on creating views on each?

dotMorten commented 6 years ago

@yobohadi You would create two apps: One Xamarin.Forms app, and one WPF app. These apps have the MapView controls and all they other view controls (buttons etc) in them. You'll then create a shared project where you create all your cross-platform code which is essentially your models and view models. You'd use these to bind into you XAML views, so that only you XAML is different, but all your actual code is shared. Most of our .NET and Xamarin Runtime sessions shows this pattern in use, as well as our online demo samples, so I'd recommend watching the session recordings.

mbranscomb commented 5 years ago

For reference examples see: -https://developers.arcgis.com/example-apps/maps-app-dotnet/