Currently in Preview with an expected release date in spring, Xamarin.Forms v4 includes some exciting new features for the cross-platform native app framework.
Visual Studio 2017 and 2019 are both supported but support for 2015 has been dropped. Also of note is that none of the samples in the Preview support Universal Windows Platform (UWP), indicating that the (Microsoft) Xamarin team is giving preferential treatment to iOS and Android.
Let’s take a look at some of the new features.
Xamarin is particularly excited about its new Shell framework
, for quickly putting together a cross-platform application.Shell is designed to make it easy to set up navigation, replacing the cumbersome MasterDetailPage/NavigationPage approach with a new URI-based navigation system and 3 tiers of new elements to clearly describe your application:
- express the high-level architecture of your application in a single AppShell.xaml file
- use a hierarchy of common UI navigation patterns (flyout menu, bottom tabs, top tabs) alongside a URI-based navigation service so you can easily jump directly to any part of your app
- use an extensible template-based infrastructure to easily customise elements of the UI, along with all the existing functionality of Xamarin.Forms
Shell should certainly make it easier to get a new app up and running quickly, but it might be overly simplistic for more complex apps. There’s no doubt it will be useful for simple apps with a short development turnaround and for prototyping larger apps quickly.
Historically, Xamarin.Forms has generated applications that use the native controls of their platform, so the iOS, Android and Windows versions of your app would look distinctly different. If that wasn’t what you wanted, you could get them looking much the same using styles, effects, custom renderers and plenty of time.Visual
is Xamarin’s new way to make this much easier by providing a consistent theme for your controls by default. They are starting off with the Google Material Design styling, but themes based on the standards for other platforms are likely to come along and, in theory, you could create your own theme and plug that in too.
Announced back in 2016, CarouselView
has been a long time coming. It provides a vertical or horizontal flow of “cards”.The preview doesn’t include iOS or UWP options, only Android. Hopefully, it won’t be long before they flesh out the implementation.
Visual Studio App CenterVisual Studio App Center
is a front end on Azure DevOps (previously Visual Studio Team Services / VSTS), specifically for building and deploying apps. Our impressions of it so far have been very positive and the App Center team have been busy over the last year improving the options and configuration available to bring it more in line with what’s possible in DevOps.App Center has now also subsumed HockeyApp, Microsoft’s service for recruiting and managing test users as well as distributing test apps and dealing with collecting crash reports. That simplifies another aspect of app development by bringing it under the App Center roof.Our ContrOCC Remote
team will be adopting App Center soon.