🕓 5 MIN This article will review …
Good engineers integrate when and where it makes sense regardless of the territory being charted. Great engineers and community members explore that uncharted territory and map it out for others. This is what one of our clients and contributors – Kahua – faced when facing a business challenge. They solved it and shared some tips on how to go about it for anyone who walks the same path.
Kahua needed to create a large number of dashboards and reports across platforms and devices on top of the Uno Platform powered Web Application and soon mobile and desktop applications.
On the technical side, this meant connecting two advanced and complex frameworks with an enterprise application and bringing forward what all three entities do the best.
DevExpress is a widely used powerful reporting framework which is highly configurable and works cross-platform.
Uno Platform provides multi-platform support for applications built with C# and XAML.
Kahua is an enterprise application which provides complex configuration, user-defined applications and runs on .NET.
Base libraries are jQuery, jQuery-UI and Knockout. Those need to be loaded and initialized before other libraries are loaded in the browser. DevExpress library DevExtreme contains checks and will fail to load if they are not in place. DevExpress AnalyticsCore library contains a check for DevExtreme. Finally, DevExpress DocumentViewer library has to be loaded last and contains component configuration to set up UI Reporting DocumentViewer.
This is just the beginning; more work is needed for DocumentViewer configuration, passing state from .NET user control to Reporting component and back. Maintaining multiple DocumentViewer components in DOM tree etc.
Exe net6.0 NU1701 true $(DefineConstants);TRACE;DEBUG portable true false
The dll is licensed but DevExpress provides a free 30-day trial version which you can download here.
When integrating complex frameworks, start with the smallest example. Take the Hello World example from one framework and try integrating the second one into it. Instead of integrating the DevExpress framework directly into Kahua + Uno Platform solution, I’ve started with Uno example from their web page.
Read documentation and examples of used frameworks.
// Use this line if you use an ASP.NET MVC backend invokeAction = "/WebDocumentViewer/Invoke" // Uncomment this line if you use an ASP.NET Core backend //invokeAction = "DXXRDV"
Once the integration works, replicate it in the main project using the simplest use case. You’ve already learned integrated frameworks and found the main pitfalls.
Kahua provides capital project management and collaboration software focused on real estate, engineering, construction, education, and government sectors. Kahua’s solution helps manage project and program costs, documents, and processes from inception through implementation to improve efficiency and reduce risk.
For those new to the Uno Platform, it allows for creating pixel-perfect, single-source C# and XAML apps that run natively on Windows, iOS, Android, macOS, Linux and Web via WebAssembly. In addition, it offers Figma integration for design-development handoff and a set of extensions to bootstrap your projects. Uno Platform is free, open-source (Apache 2.0), and available on GitHub.
To upgrade to the latest release of Uno Platform, please update your packages to 4.7 via your Visual Studio NuGet package manager! If you are new to Uno Platform, following our official getting started guide is the best way to get started. (5 min to complete)
🕓 5 MIN This article will review …
🕓 3 MIN The MAUI Community Toolkit …