Web Apps vs WinUI 3 Apps for small, custom application
Web Apps vs WinUI 3 Apps for small, custom application
Recently, a client approached us with a simple ask: they wanted a small web 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.
Thank you for reading this post! If you enjoyed it, I encourage you to check out some of our other content on this blog. We have a range of articles on various topics that I think you’ll find interesting. Don’t forget to subscribe to our newsletter to stay updated with all of the latest information on Imaginet’s recent successful projects
discover more
SQL Saturday Part 2: Learning About Microsoft Fabric
SQL Saturday Part 2: Learning About Microsoft Fabric February 29, 2024 I’ve been digging into Microsoft Fabric recently – well overdue, since it was first released about a year ago.…
My Trip to SQL Saturday Atlanta (BI Edition): Part 1
My Trip to SQL Saturday Atlanta (BI Edition): Part 1 February 23, 2024 Recently, I had the opportunity to attend SQL Saturday Atlanta (BI edition), a free annual event for…
Enabling BitLocker Encryption with Microsoft Intune
Enabling BitLocker Encryption with Microsoft Intune February 15, 2024 In today’s data-driven world, safeguarding sensitive information is paramount, especially with the increase in remote work following the pandemic and the…
Let’s build something amazing together
From concept to handoff, we’d love to learn more about what you are working on.
Send us a message below or call us at 1-800-989-6022.