Its amazing, not a day goes by where a new technology comes out to disrupt the development pipeline. Older technologies may be retired by a vendor and there is the inevitable scramble to adapt to the new. As we are fast approaching 2024 and in my world a new release of Microsoft.Net I find I am focusing on some of the newer stack pieces such as Blazor, and Maui. As I never want to fully train on the job, though there is always a level of learning on all projects, it is my goal to have enough foundational knowledge to be able to start building a solution for a customer on day 1.
Maui is fairly new to me and I wanted to get back into some mobile development. There are may platforms out there from Apple (Swift, xcode) , and Google (Flutter) as well as others but since I am a Microsoft technology focused developer MAUI has made the most sense for me.
I have a customer called Alliance Environmental out of California that I have been working with for more then 15 years supporting and developing for their CRM system needs. Its been a great relationship and one I expect to continue for many years to come. The were using the Infor CRM mobile client. This client was Javascript based and provided the basic needs of accessing the CRM data. The problem is as in with any general solution that there are needs and functionality that is difficult to provide and the platform was limited to how to achieve the greater need of the service based business. That being said its been a while since their users have used that mobile client. It seemed to me to be a great opportunity to build out a POC on Maui and determine if the platform could indeed provide the capabilities needed to support the user base and their unique business cases.
So I rolled up my sleeves and did what I have done thousands of times in the past, opened up Visual Studio and created a new project. I took a pretty Agile approach and worked towards a MVP (Minimal Viable Project), creating the HTTP client access to the Infor CRM SData endpoints first and then building simple configuration and login views. Once I got that working I started to work on framework components such as DetailViewModelBase and ListViewModelBase. Its always good to think about the reusability of your component libraries and I focus on the extensibility of a platform from day one. So in about 8 or so hours I had login pages, and a main page showing navigation options. The great thing about MAUI is i can develop against windows and then deploy to devices or simulators at later times.
The navigation page started to come together and looks a little like:

Each nav button clicks through to a standard list/search view where a different data template is used to render the list results. Shown below is the accounts search screen.

By clicking on one of the Account items the detail view opens up displaying the most relevant information as well as child lists.

Now I have not been working on this project for long but in that short time I have been able to get networking, security, picklists, list views, detail views and child lists all working in a consistent and repeatable fashion so implementing new entities/workflows have been greatly simplified. Now this is only a POC and I am hoping that it becomes a product. Maybe of I get enough interest I can make it a more generic platform for partners to provide to their end customers. Only time will tell but my walk through MAUI as a mobile platform has been a success in my books.
Call to Action : If you are looking for a mobile application to be developed please think about including BITtelligent Software as a possible vendor to build it out for you. We would be more then happy to work with you in developing solutions that fit your needs.