XamRight: 95% Effectiveness in Binding Analysis

A central component of XamRight is it’s ability to analyze apps to match views, bindings, view models, and properties without any configuration. This analysis powers bug detection, Xaml autocomplete, and other handy features in daily Xamarin development. When we last published our benchmarks, XamRight achieved 88% effectiveness against the suite of open source Xamarin.Forms appsContinue reading “XamRight: 95% Effectiveness in Binding Analysis”

Inefficient Xamarin.Forms Layouts

Unnecessary attributes and layouts on a Xamarin.Forms page can slow down the performance of your app – https://docs.microsoft.com/en-us/xamarin/xamarin-forms/deploy-test/performance. This guidance has been around for a long time, but we wanted to know what kind of impact it really can have. Putting it to the test We created two similar ListView layouts. The first layout intentionallyContinue reading “Inefficient Xamarin.Forms Layouts”

Tab Retap in Xamarin.Forms, Now With Icons!

A while back, I wrote about how to handle reselecting/retapping of tabs in a Xamarin.Forms TabbedPage (covering iOS and Android in part 1 here and UWP and NavigationPage in part 2 here).  The basic problem is that app designs frequently want to react to a user selecting the already-active tab on a TabbedPage — reselecting,Continue reading “Tab Retap in Xamarin.Forms, Now With Icons!”

Getting whitespace right with Roslyn CSharpSyntaxRewriter

Most agree that Roslyn is a great C# code analysis and refactoring tool. One particularly powerful tool Roslyn has is it’s CSharpSyntaxRewriter [1]. The rewriter allows you to walk down the namespaces and classes of a project and add and edit code where necessary. While the documentation here [2] and the RoslynQuoter [3] can comeContinue reading “Getting whitespace right with Roslyn CSharpSyntaxRewriter”

ASP.NET Core with AWS Lambda and Cognito

We are wrapping up a project for a client consisting of mobile apps (Android and iOS, built with Xamarin Forms), and a fairly small management server deployed to AWS. For handling user account management, AWS Cognito seemed like the way to go, but there are a few different ways you can use it with ASP.NETContinue reading “ASP.NET Core with AWS Lambda and Cognito”

XamRight for Xamarin Native Code

Even when developing a cross-platform Xamarin.Forms app, you still often need to write some platform-specific code to get the most out of each platform.  Apart from analyzing Xamarin.Forms Xaml code, the latest version of  XamRight also introduces error checking for Xamarin.Android and Xamarin.iOS C# code. Here we will look at some of the common errorsContinue reading “XamRight for Xamarin Native Code”

Benchmarking analysis accuracy for MVVM code

One of the key motivators for developing XamRight was to have a tool that would support a wide range of MVVM patterns in Xaml development without requiring additional configuration.  You shouldn’t have to adapt your code to suit the tool — the tool should adapt to your code! To do that, we developed XamRight, withContinue reading “Benchmarking analysis accuracy for MVVM code”

Creating View Model Properties with XamRight 1.646

We are thrilled to announce the latest version of XamRight, version 1.646, which has a lot of fixes and improvements across the product, as well as a major feature – creating a new property in the view model when editing the Xaml view. XamRight was developed to recognize a wide variety of ways that viewContinue reading “Creating View Model Properties with XamRight 1.646”

Deep Dive into LayoutOptions in Xamarin.Forms Part 2 (Grids)

In a previous post, I started methodically working through how LayoutOptions work inside different containers.  In this post, that topic is continued, detailing the interactions between LayoutOptions and Grid. While LayoutOptions values on child views of Grids do aid in positioning the views, LayoutOptions values do not have the same amount of control over theContinue reading “Deep Dive into LayoutOptions in Xamarin.Forms Part 2 (Grids)”

Have I Reached the End of my ListView?

Building on a previous post about seeing how a user interacts with a ListView in Xamarin.Forms, the next question is, “Has the user scrolled to the end?”  This can be useful, for instance, if the user is scrolling through a long feed of data, and only a portion is returned at a time.  When theContinue reading “Have I Reached the End of my ListView?”