Quintic
Limitations & Bugs

I have been developing a Coding Game App for both iOS and Android using Xamarin Forms for a few months now. Several aspects of Forms are really good, the separation of project code, being able to switch easily between target OS and having decent emulators for both environments.

The problem is the limitations of the UI make it extremely difficult to to get the end result I want in both environments. There are also some annoying bugs in the code that are difficult to work around. A couple that I have come across

Limitations

Text Editing Controls

Very limited set of text Editing controls. To achieve what I needed I had to resolve to using an HTML display control and encapsulating all my output in HTML tags.

Message Pop-ups

Forms does have support for Error Message pop-ups and such like, but nothing beyond displaying a text string, with a possible ‘OK’ button. Anything else needs to be implemented as a new page that you navigate to. Which is sort of OK, but can make the program structure seem un-natural

Bugs

Z-Depth and Visibilty

There is no Z-Depth attributes on ‘components’ (or views, as there are called in Forms), which means you have to implemement it by layering the components. Which works, most of the time, but occassionally I have encounterred focus issues where controls have been visible, but could not be activated.

REST

REST support seemed to be very good, and then I encounterred, what I beleive to be a Deadlock situation with the HttpClient class, but only on Android. I would say it was intermittent, but that is inaccurate. Once a build demonstrated the issue it would always hity the problem. Basically, the first call to HttpClient would hang – never return, and you had to wait for the thread to be cancelled. Once it was cancelled then subsequent calls worked fine.

As I said, never encounterred the problem on iOS, and with Android you could have some builds that displayed the issue on the Emulator, but not on a p;hysical device, or the other way round. But if a build did display the issue on the emulator/device, then it would consistently display the issue on every startup.

Conclusion

Support for Xamarin Forms is going away, with MAUI now the Multi-Platform Application UI development environment of choice from Microsoft. So I tinnk its about time I migrated over to MAUI.

Lets see what joys that brings.