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.

March 30, 2023 in Managed Services

Reporting Suspecious Activity Feature – Azure Active Directory

Azure Active Directory's Reporting Suspicious Activity feature helps you detect and respond to suspicious activities in your organization. Get real-time alerts, investigate suspicious activities, and take action quickly with our advanced security tools. Protect your data and stay secure with Azure Active
Read More
March 16, 2023 in Application Development

Choosing the right technology stack

Choosing the right technology stack is crucial to the success of any software development project. It involves selecting the right set of tools and frameworks that can meet the project's requirements and help deliver high-quality results within the given time and budget. At Imaginet, we understand the challenges and complexities that come with selecting the right technology stack, and we are committed to helping our clients through the process. Here are five tips to consider…
Read More
March 9, 2023 in Power Platform, Productivity

The Ultimate Guide to Creating High-Performance Power Automate Workflows

Learn how to create powerful Power Automate workflows that are efficient, effective, and designed for success. This ultimate guide covers everything from setting up your workflow to advanced customization options and best practices. Get started on your journey today!
Read More
March 1, 2023 in Application Development

Optimize Learning & Efficiency of App Development with ChatGPT

The article discusses how artificial intelligence (AI), specifically the AI-powered language model ChatGPT, can be integrated into software development processes. ChatGPT can be utilized for tasks such as providing explanations for coding concepts, giving recommendations for improving code efficiency, simplifying complex code, troubleshooting and debugging code, and generating examples for practice exercises.
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!