Blazor is a powerful framework from Microsoft used for building interactive web UIs with C# instead of JavaScript. A key feature of Blazor is its flexibility in how applications are hosted and run. The choice of hosting model—Server, WebAssembly, Interactive Auto, or Hybrid—depends entirely on the specific needs of the application, such as scale/performance requirements, offline capabilities, and access to native device features.
But which flavor of Blazor should you use? Well, that depends...
The Blazor Server hosting model is the easiest to set up and use. It runs your application on the server, and when a user interacts with the application, UI events are sent to the server over a real-time (SignalR) connection. The server processes these events, calculates the necessary UI changes, and sends only those small changes back to the client to update the display. This results in a very thin client and a fast initial load time, as almost no application code is downloaded to the browser.
Best reasons to use this hosting model:
In contrast, Blazor WebAssembly runs your entire application directly in the web browser using a WebAssembly-based .NET runtime. The application's C# code, its dependencies, and the .NET runtime itself, are all downloaded to the client. Once downloaded, the application executes entirely on the user's machine, enabling full offline functionality and leveraging the client's processing power for a rich, near-native user experience.
Best reasons to use this hosting model:
The Blazor interactive auto mode allows you to use both server and WebAssembly components in a single project, giving you precise control over how your app behaves.
Best reasons to use this hosting model:
Blazor hybrid is a bit different. It's not used for building web applications. It's allows web developers to use their skills to build mobile apps that run on devices at close to native speed. Microsoft Maui is the core platform, which is native and cross-platform. It normally uses XAML for coding user interfaces. When using Blazor Hybrid, however, you can also use Blazor web components alongside XAML or in place of it.
This model provides the best of both worlds: the ability to build a rich, cross-platform UI with web technologies while having full access to the native capabilities of the device, such as the file system, sensors, and notifications.
Blazor hybrid is the perfect solution for developers looking to create desktop and mobile applications that can share UI components and logic with an existing Blazor web application, or for new mobile app projects.
There's usually more to the story so if you have questions or comments about this post let us know!
Do you need a new software development partner for an upcoming project? We would love to work with you! From websites and mobile apps to cloud services and custom software, we can help!
Planning out a long-term strategy for your web project can really pay off. We were recently reminded of that when we were asked to create a mobile app (iOS and Android) for a web-based platform we designed and built several years ago. The platform is Coursabi, a learning platform that ensures growth at each milestone for everyone on your team. You can check it out at https://coursabi.com.
When we created the technical strategy we knew that a mobile app was a likely roadmap item. So we chose ASP.NET Blazor as the core platform technology. It allowed us to build a web app that felt like a single page app (SPA). And it gave us several hosting models: server, WASM (WebAssembly), and hybrid mobile. The most intriguing aspect of the Blazor Hybrid model is that unlike hybrid apps of the past, there is no web server running on the mobile device. Instead, all the C# code is compiled to native .NET code, and the web view (an embedded web browser) is only used to render the user interface. So the app runs as a native mobile app!
We knew that some features of the platform would have to be altered, since the mobile app has no web server. For example, Coursabi supports the SCORM format for external learning content. And due to security restrictions, they needed a host with a trusted root certificate. So moving that out of the platform and handling the routing changes were both necessary, but totally doable.
Another benefit of a mobile app version of the platform is that in many ways it also simplifies the security model, since the app is only running on the local device, whereas a hosted app needs to manage user state, among other concerns.
If you have an ASP.NET-based web application, you can still leverage Blazor Hybrid to turn it into a mobile app. It just needs to first be migrated into a Blazor app. I'd also recommend reviewing your web app for opportunities to make it as mobile-friendly as possible. You don't want your mobile app to look or feel like a website. But those changes not only get you a great mobile app, they also improve how your app looks and feels in a mobile web browser. So you get twice the value.
There's usually more to the story so if you have questions or comments about this post let us know!
Do you need a new software development partner for an upcoming project? We would love to work with you! From websites and mobile apps to cloud services and custom software, we can help!
Fynydd partnered with Blue Sequoyah Technologies to build a community-driven learning platform named Coursabi, which gives learners a simple but powerful way to grow as they follow their learning journey. Their dashboard shows them progress to-date and what assignments are next. They can explore the content library for elective learning, sign documents, and complete forms. And the community gives them a way to learn from peers and content authors.
Coursabi Mission Control is where authorized users can create and organize training content like documents, forms, and courses. There are also libraries for audio and video content, as well as imported learning modules. People and learning assignments are managed here. And administrators and training managers can stay up-to-date using dashboards, reports, notifications, community activity, and so much more.
Blazor
C#
CSS3
HTML5
JavaScript
Microsoft .NET
Sass/SCSS
Amazon Web Services
C#
Github
Microsoft .NET
Microsoft Windows
SQL Server
There's usually more to the story so if you have questions or comments about this post let us know!
Do you need a new software development partner for an upcoming project? We would love to work with you! From websites and mobile apps to cloud services and custom software, we can help!
Fynydd was asked to build a hybrid iOS, Android, and web-based learning app platform for enrolled and public students at Bossier Parish Community College (BPCC) in Bossier City, Louisiana. This was a full-stack platform that included a data tier, API service with management interface, client apps (App Store, Google Play Store), and responsive website.
The goal of the project was to research the efficacy of gamification strategies with regard to testing up and testing out of courses prior to enrollment. Secondarily it provided a great way for students to study and hone their knowledge during each semester.
The platform provided various curriculum through video courses, which each had check your knowledge quizzing as students progressed. Students could earn badges as they advanced through their learning journey and also challenge each other to quiz games for additional badges and bragging rights via a leader board.
Some of the features of the platform include:
Android
Angular
CSS3
HTML5
Ionic Framework
iOS
JavaScript
Sass/SCSS
Amazon Web Services
C#
Github
Microsoft .NET
Microsoft Windows
React
SQL Server
There's usually more to the story so if you have questions or comments about this post let us know!
Do you need a new software development partner for an upcoming project? We would love to work with you! From websites and mobile apps to cloud services and custom software, we can help!
Lehigh Valley Health Network (LVHN) is proudly part of Jefferson Health. LVHN's mission is to heal, comfort, and care for people and communities by providing advanced and compassionate health care of superior quality and value supported by education and clinical research.
Lehigh Valley Health Network (LVHN) partnered with Fynydd to build a curated, locked-down "kiosk" learning and entertainment experience for in-room patients. It would be deployed on Apple iPads and rolled out to a limited number of random patients. IT would gather analytics on usage through tracking of the patient's Internet access and in-person feedback. The goal was to try a new approach to educating patients about their care team, as well as what to expect when they go home, and a more enjoyable experience while in the hospital.
HIPAA requires that the device be completely cleared of all personal information between patients, and nurses needed a simple way to reset the devices, and keep patients from navigating into device settings, the App Store, and other areas that would create HIPAA and security concerns.
The first thing we had to do was ensure that HIPAA compliance was possible. After some research, we discovered that by using iOS "Guided Access Mode", we could keep patients in our app, even if the device was locked. We also discussed being able to write a system which would auto-wipe any browser or other history and input from the device whenever the user was taken to the "Acceptable Use Agreement" screen, asking for consent. We also created a shortcut for hospital staff to get there and a passcode so only hospital staff could initialize the app.
The app had lots of information about a patient's care team, what to expect during their stay, and what to do when they get home. They also had access to specific web resources, including a custom YouTube interface with curated LVHN videos.
During the testing phase, armatures which held the iPads were connected to the hospital beds, making it easier for patients in most any condition to use the device. There were no support calls, LVHN IT was able to get the analytics they needed, and some lucky patients got an even better experience.
Some of the key features include:
Apple iOS
Github
Swift
Amazon Web Services
ASP.NET
C#
Github
Microsoft Windows
SQL Server
YouTube
There's usually more to the story so if you have questions or comments about this post let us know!
Do you need a new software development partner for an upcoming project? We would love to work with you! From websites and mobile apps to cloud services and custom software, we can help!
The Endo Pharmaceuticals sales department needed to improve the previous year's compliance training per regulatory requirements.
The previous platform was a step in the right direction, but had some hiccups regarding availability and consequently, a timely pass rate. Reporting on the activity and results, especially during the training period, was minimal, so executives had no way to know how the training was proceeding, in case they needed to intercede early and make adjustments, or report back successes.
It was clear from their challenges that there were some real opportunities to improve the entire training process. So Endo chose Fynydd to be their technical partner. We started by addresses availability. It became clear that the primary bottleneck was with the video hosting as it was on-premises. We worked with Endo to establish a private, secure, video content delivery network (CDN) at vimeo.
The next focus was on reporting. We gathered all the requirements and created a strategy for presenting regional analytics that gave stakeholders exactly what they needed to see.
To make it all happen, we chose Umbraco CMS to speed the product to market and provide the underpinning for membership, authentication, and of course, content management. The result was stunning. Over 2,500 people were trained in 2 weeks. There was 100% availability, and most importantly a 100% pass rate. And there were less than 10 support calls.
Some of the services we provided include:
Some of the key features of the platform include:
CSS3
HTML5
JavaScript
Sass/SCSS
Amazon Web Services
C#
Github
Microsoft .NET
Microsoft Windows
SQL Server
Umbraco CMS
Vimeo
There's usually more to the story so if you have questions or comments about this post let us know!
Do you need a new software development partner for an upcoming project? We would love to work with you! From websites and mobile apps to cloud services and custom software, we can help!