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.

February 3, 2023 in Office 365, Productivity

Understanding Organization-Wide Signatures and Disclaimers in M365

To create an organization-wide signature, you'll need to access the Exchange admin center in M365. From here, you can go to "Mail flow" > "Signatures." From the Signatures page, you can create a new signature and apply it to all employees in your organization. You can also edit existing signatures, as well as delete signatures that are no longer needed.
Read More
January 31, 2023 in Application Development, SQL Server

Using Query Store to Analyze Database Performance

Are you concerned about how your database is performing for your application? Did you know that there is a built-in feature in SQL Server and Azure SQL that you can use to evaluate your database for potential problems? Query Store has been available since the introduction of SQL Server 2016, and is enabled by default in Azure SQL and Azure SQL Managed Instances, but it has flown under the radar as a performance tool.
Read More
January 19, 2023 in Application Development

UX and Dev: A Perfect Partnership

There are many benefits of utilizing a UX designer’s expertise during a project, which include making it more efficient for the development team to implement the functionality. At a high level, a UX designer focuses on improving the interactions between a user and an application or website. In the past, these were often left up to us as developers...
Read More
January 9, 2023 in Agile, Application Development

Agile Project Management in Consulting

One of the key benefits of agile project management is that it allows for a more iterative and incremental approach to software development giving a faster Return on Investment (ROI) for the customer. Rather than trying to plan out every aspect of a project in advance, agile teams focus on delivering small, usable features of software on a regular basis. This allows the development team to be more responsive to changes in the project's requirements…
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!