WiseJ toolchain for .NET (C# / VB.NET)

In looking for a way to implement something for my client’s strategic partner, I identified a major pain point with the existing app (which I happen to know is done in ASP.NET MVC 5, that is, .NET Framework rather than .NET Core / 6+, as it was implemented by another team with my old client). This pain point is the difficulty in maintaining user state, especially with relatively unsophisticated users who might use the back button or type in a different URL and expect the back button to restore their work context, or expect to leave it running, go home, come back the next morning and have it intact. Standard web technology is “leaky” at this, at best. What is needed is something much closer to a standard line-of-business desktop app in terms of statefulness and control.

Since this app will need to be developed quickly (user is being abandoned by former client this July), and it will likely fall on me to do it, I also want something comfortable for my somewhat dated front-end abilities. Of late I’ve been doing WinForms admin apps to support operations, and this has come back to me very readily; this is what I’m most productive doing.

The perfect solution appears to be WiseJ, which is a set of libraries and a Visual Studio plugin that produces a development paradigm / developer experience very similar to WinForms (porting WinForms solutions to WiseJ is easy, for example) yet deploys to a web server.

Comparison of WiseJ to ASP.NET: Wisej.NET and ASP.NET: Two Sides of the Same Coin - CodeProject

Comparison of WiseJ to Blazor: Wisej.NET vs Blazor - CodeProject

I’m going to be evaluating this. There’s a Community edition that’s free, that would probably suffice, but my client would happily spring for the paid editions ($1K and $2K-ish, the latter being Enterprise edition with priority support). I will let everyone know how it goes. A concern would be scalability, but this is an app that would be used by, at most, 2 or 3 users at a time and reviews indicate its ability to handle huge data sets is robust, plenty for my needs anyway.

There’s a chance this opportunity might not happen but if WiseJ checks out, I will probably use it to migrate some of those admin apps I mentioned to web for greater deployment flexibility.

Hm, they just released a “hybrid version” for targeting Windows / MacOS / IOS / Android. Probably has version 1.0-itis, but I’m willing to bet already giving Xojo a run for its money.

Neat

I’ll have to give this a look

1 Like

The hybrid version is built on top of .NET MAUI. I won’t be evaluating this version, but it’s very interesting, particularly after .NET 9 which should have a strong focus on bug fixes in MAUI. WiseJ seems to have its own rendering engine in the mix, so not sure how it differs from the MAUI approach as far as control sizing / positioning / appearance goes.

Interesting thing about WiseJ is it has some real history under its belt, and some heavy hitters backing it, notably Dino Esposito. Its roots go back to 1998. I don’t know how I’ve missed it until now.

I think I heard of this before, but for some reason I never pursued it. The idea that I could maybe take some of my Winforms programs and using WiseJ to create a X-plat version is extremely enticing.
Thanks for bringing it up. Looks like it might be easier than the struggles I’ve been having with Maui and Blazor.

Has anyone gotten the Hybrid to work? I just installed WiseJ via the .vsix file, opened a new project (Hybrid/Local) and tried to run it. However, it creates a library, not an .exe. Haven’t been able to find any info online regarding this, so I’m sure I’m missing something very simple. Docs do say that the WiseJ applications need to be libraries, not executables, but if so, how do I make an executable for Windows or Mac?
VERY little info whatsoever regarding Mac building/debugging, which is disappointing.

Getting old. I guess I did try this before but it was pretty underwhelming.
https://ifnotnil.com/t/anyone-ever-heard-of-this

I’m not evaluating the hybrid version as I don’t need it and it’s probably a bit of a pioneering thing … it runs atop MAUI and there’s a lot of scuttlebutt that MAUI itself is buggy and that this year will focus on bug fixes / robustness / testing so .NET 9 (November of this year) will probably be needed to help address all that. So I regard the hybrid version as first-mover territory right now.

Deployment on IIS is not an issue for me, in fact the client prefers it. The client will happily spring for the enterprise license if I want it (and I think I do for this first effort) but if I’m able to avoid using “premium plugins” and get to maintenance mode, the community edition is probably fine. Even if we retain the enterprise license it’s equivalent to like 10 hours of my time once a year and not a significant factor in the client’s eyes.

The main potential problem I see is scaling on the server with lots of users, but like a lot of line-of-business applications the absolute worst case # of users is probably 100, more likely around 20 max simultaneously. And from what I have read it DOES scale just fine in terms of large result sets, such as navigating a browser with a million rows.

I was able to get a Web app to build and work on Windows, no joy at all on MacOS.
Once again, yet another program that only cares about Windows. I don’t see the point.
They don’t give support unless you buy the product, which I’d be happy to do if I could get it to actually work. The docs and vids are not helpful.
Another disappointment so far.

A web app malfunctioning or rendering different would be browser-specific, not OS-specific … or are you trying to deploy a desktop app showing a web app in a browser control, or … ?

The built executable program doesn’t run. i.e, the macOS kestrel (i assume) server.
No problem creating a Blazor or Maui app that runs on MacOS.

Frustrating few days trying to get Wisej to work.
You know, I feel like so many of these “cross-platform” solutions don’t even have any developers who own a Mac.
Xojo still, even after all this time, still win the “X-plat” award for just working out-of-the-box on both platforms.
Must be an impossibly hard thing to do as everyone else seems to fail.

That’s why I use javafx and nori for web. Simply. I have xplat running on all platforms and that’s it. And yes, some competitionseven como wins no question. That’s why it is so sad.

1 Like

Again I’m not looking at the bright shiny new object (cross platform, which they call Hybrid) but the well polished old object (web target) so can’t comment. I would not really even be exploring their cross platform solution since it depends on MAUI and that isn’t fully baked yet. My guess is they are devoting most resources to Windows, IOS and Android and that’s the happy path right now.

The established product is over 20 years old, Hybrid is about 3 months old. I’m not happy that they seem to have adopted the practice of releasing v 0.x products for first adopters but at least I know to avoid it.

After looking more closely at their licensing (per dev and per server), if you want named support and priority bug fixes for the non-Hybrid product that would amount to roughly $2K/yr which is fine for what I need to do (and for most of their targeted enterprise customers I suppose) but it’s not everyone’s cup of tea. The only good news is their licenses are all perpetual which means you can continue to use them after they lapse so long as you’re happy with the version in effect when it lapsed. And in fairness you can get pretty far with just the free community edition so far as evaluation goes, if you don’t need any of their premium widgets anyway.

1 Like