Today we're all pretty excited that Syncfusion has announced support for WebMAP, which means if you have Windows Forms apps using their controls you can now easily map them to the web versions when you migrate the entire app to ASP.NET Core and Angular 6.
Syncfusion has been around since 2001, providing tools and support for Visual Studio development. One of the things I like about them is their free eBook "Succinctly" series--these cover all kinds of technology topics and frequently include source code.
Syncfusion is one of several tech vendors who have UI component libraries for app developers, and not infrequently their customers come to us to get migrations from Windows desktop to web; of course they usually would like to hang on to the familiar UI library--along with their app's look and feel--by staying in the Syncfusion camp.
Now in the past that was a hard problem, because the earlier versions of WebMAP didn't allow for changing component libraries.This opened up a series of interesting conversations with both customers and control library vendors (like Syncfusion). Our product team recognized that we needed to be able to give customers more choices about the UI library/framework that was incorporated into a WebMAP-generated application. So for WebMAP version 5, we abstracted the UI framework from the code in such a way as to make replacement or switching quite possible, indeed fairly painless.
We like to give customers choices so they can make their own decisions. In the same way that we abstracted the UI framework, we also abstracted the JavaScript framework: WebMAP today uses Angular 6, but could (without an undue amount of work) use React or Vue instead.
Let's look at the code. Here's the HTML for a simple form, using some basic controls:
Notice the controls are named "wm-sf-[control label]." "wm" is for WebMAP and "sf" is for Syncfusion. A similar form, using the default set of web components looks like this:
Note the similarities between the two, but the top HTML will use the Syncfusion EJ2 Adaptor for WebMAP and the bottom one will use the default WebMAP components. The linkup is here, in the packages.json file:
"@mobilize/winforms-components-syncfusion": "[version]";
That's enough to connect the wm-sf-button element to the Syncfusion component library package. Basically the remaining code is unchanged.
Total coolness
Syncfusion has some super cool components for ASP.NET Core. Who wouldn't want to have one of these
or this
in their web application? And now, for customers who already have those kinds of UI elements in their Winforms apps, migration to the web (using WebMAP and Syncfusion's EJ2 Adaptor) means you can.
Today's announcement signals Syncfusion's support for WebMAP, but the code is still in beta. I'd like to show you some of these really exciting controls running in Angular but we're not quite there yet. Sometime in the next few weeks we should have a great demo that you can see and download to run yourself. Stay tuned.