Skip to main content

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.

Let's Talk

Like what you read?

Check out our recent articles.

September 22, 2022 in Productivity, SharePoint

Using Entitlement Management to Provide External Access to SharePoint Online

Azure Active Directory (Azure AD) entitlement management is an identity governance feature that enables organizations to manage identity and access lifecycle at scale, by automating access request workflows, access assignments, reviews, and expiration.
Read More
September 13, 2022 in All Posts, Productivity, SharePoint

Implementing External Email Tagging in Outlook

In this blog, let's discuss implementing an 'external' tag identifier on your business email. This feature implements an "External" tag identifier on Outlook for email messages received from outside your organization. Microsoft created this feature in hopes that the external tag will help users easily identify spam and phishing threats from external senders. When someone outside your organization receives an email, an "External" title will be present in Outlook on the web, Outlook for Mac,…
Read More
September 6, 2022 in All Posts, Productivity, SharePoint

How to use SharePoint REST APIs with Power Automate

Hi everyone! In this post, I would like to chat a little about using Power Automate to evoke the very useful and powerful SharePoint REST API. Let’s get started!
Read More
August 23, 2022 in All Posts, Application Development, Productivity

Your Estimates Are Wrong (… and What to Do About It)!

Estimates are always wrong. It is the sad reality of our industry. And they can be wrong for many reasons. From missing or poorly defined business requirements to false assumptions, from lack of technical expertise to overestimation of development team capabilities, there are a myriad of issues that can arise during a project that can cause even the most carefully constructed estimate to end up wildly off the mark. 
Read More
Carl Hyde

Carl Hyde loves developing software, particularly low-level systems aspects, though I have no problem with front-facing work as well. In the past, I've done a great deal of work in C++ and C#, and would consider them, as well as Java, as my primary strengths.

Let‘s Talk.

Let's talk!