Web Apps vs WinUI 3 Apps for small, custom applications
Recently, a client approached us with a simple ask: they wanted a small application to display periodically updating stock price information, both for their company and a selection of other stock symbols, to be retrieved from a SharePoint list. This article won’t be about the details of how such an application was built, but instead a foundational decision that was one of the first that we had to make: should this be built as a web application or a native application? As part of the consulting process, we guided the client through the various pros and cons of each approach before arriving at the final decision, and in this post, we’ll walk through those criteria and how we put them together to best meet the client’s needs.
It can be natural to reach for a web framework when building a small project. Whether you prefer a SPA architecture like React or Angular, or a different hosting approach, you know that you’re going to get a clean application structure without many barriers to building the small custom application that the client needs. You’ll have access to strong libraries of controls to make setting up the UI easy. The client won’t have to do much work configuring the machines that will run the app: so long as they’ve got a web browser and Internet connectivity, they’re good. And naturally, having a web app hosted on a single machine makes updates and scaling up very easy.
So, with all of that said it probably shouldn’t be surprising that we considered a small web application to a strong fit initially for this project. But there is one big caveat to the approach, and that is the necessity for the client to have the web host set up, which is another resource that needs to be maintained somewhere. Perhaps if the web host is set up in the cloud this is less of a concern, but if the client’s not willing to do that (and this one wasn’t), then this can be a major obstacle.
This brings us back to the possibilities of building a native app. And I should perhaps clarify that we mean a native Windows app in this case. The good news is that building a small app for limited distribution on Windows doesn’t need to be that big of a hurdle when using WinUI 3. Microsoft has a strong library of sample controls to use, and while XAML is a slightly different beast for laying out controls compared to languages used on the Web, it’s easy enough to get one’s head around. And while the scalability of web apps is nice, in this case, the client was very certain about the number of machines needed and had the expertise to configure them just as was needed.
While small web applications can be an ideal tool for small custom applications and are often easy to build and deploy, it’s worth remembering that they’re not the only tool available for the job. In cases where the hassle of standing up a web host is an issue for a client, and the footprint of the application is known to be small and fixed, a native application can be the better option.
Let us build something amazing together
Connect with us.
With over 20 years of experience working with Microsoft Technologies, Imaginet can help you choose the right Microsoft 365 solution to adopt an effective hybrid workplace model and improve employee engagement. Contact us to get your free virtual consultation.
Like what you read?
Check out our recent articles.