Clarion to Blazor

Hi,
for the last 3 years I am moving a large clarion legacy system to modern Blazor Server frontend and .Net backend on MSSQL database. While I cannot of course sell any of the new code base, not even part of it, since I am not the owner, I am still available for consultancy if you are planning to do the same or similar. Reach me please on linkedin if interested (check my profile here)
Thanks

What is the AI support for Blazor like Cikic, I imagine it would be reasonable?

I briefly looked at it a while ago and I’m not sure if it ever gained a following? Are there support groups around, like there are for Clarion?

I do not want to convince anyone to move from Clarion. My post is for those that think like me that Clarion is dying and that Blazor could be valid alternative since with one code base you can do web and desktop. I can help here with practical advises, thats all. As for the developer base and support I briefly asked search assistant to compare the two systems and this is what I got

I am in the process of moving 25 years of work to Blazor. I primarily use Claude. We have made a few agents to determine browse or form configuration, agents that can trace.function calls, and so on. It works quite well. However, in many cases it is better just to explain what you want, than how you made it in the past. The biggest issue is the non-deterministic nature of LLM. Unlike Clarion templates, you.can’t predict the result. Sometimes I think I would have been better of making wizards with Claude, and let them write the code

Super, at least I am not alone in moving Clarion to Blazor. I have solved frontend, backend, printing, label printing issues, things like splitting to client/server behaviour the standard Clarion behaviour. So in my case the complication is that I did not want to repeat the bad practice to have one project doing both backend and frontend. With Blazor this is in fact still possible. Instead I have a proper completely divided API that I can reuse in case for different frontend and even mobile. This was the biggest complication in my case.

Good luck for your conversion.

Thanks. I have had great use of Clarion during this process too. The thing is that every table is defined in norwegian, but the future developers are all non-norwegian. So I needed to translate every piece of code and file declaration to english. First thing I did was making a Clarion utility template that generates language files for each file. Here I translate every field (using Claude, actually). Then I run a separate utility template that generates a EF model in english, changing datatypes where required, (byte to boolean), specifiyng string length and such. Claude is instructed to look for attributes in norwegian, and usually manages to make a 1:1 map. This way I can maintain and add features to the Clarion app, without having to maintain the EF code specifically.

Interesting, I see your approach is different than ours. It seems as you want to continue doing Clarion and in parallel Blazor. We opted to completely remove Clarion once the conversion is done.

Too many features to replace in one go. We start with things that regularily cause performance issues.

With claude generating good CPP why even bother with Dot NOT.. go straight to modern CPP. means you can by pass DOT NOT… would not be surprised to see SV come out with some surprises now that they could get Claude or some other AI to work on there code base..

Genuine question: why C++?

I can certainly understand the argument for moving away from Clarion if that’s the direction you’ve decided to take, but I’m curious why you’d choose C++ as the destination for a business application.

One of Clarion’s strengths has always been productivity — particularly database-centric business applications — so if I were replacing it today I’d be looking for something that retained as much of that productivity as possible.

C#/.NET seems a much more natural fit to me: huge ecosystem, excellent tooling, very good AI support, cross-platform options and none of the excitement that comes with manually managing memory in C++. :slightly_smiling_face:

There are obviously places where C++ is absolutely the right tool, but I’m struggling to see what advantage it gives you for replacing a typical Clarion application. Is there something specific about your application or architecture that made C++ the better choice?

I can not comment on C++, you know your situation. In my situation C# is better simply because it is easier and onboarding people having mostly Clarion experience is easier than with C++. But anyway the observation about AI helping SV creating new things is the interesting one. Yes it is quite possible. The thing is that or you start selling Clarion to new people or your business will die together with the sadly and natural demise of current Clarioneers.

Because we stop running windows 20 years ago and swapped to linux and today even azure support linux in the cloud… CPP has a HUGE eco system…

Ah, that explains your choice a little more, although I’m still curious why C++ specifically.

.NET hasn’t required Windows for quite a long time now. Modern .NET is open source and cross-platform and runs very happily on Linux — including for ASP.NET Core/web applications, APIs, containers, etc.

So if the reason for ruling out .NET was that you moved away from Windows 20 years ago, I think you may be judging today’s .NET by the old Windows-only .NET Framework.

And yes, C++ certainly has a huge ecosystem — I’m not questioning that. I’m more interested in what advantages C++ gives you for this particular type of business application over something like C#/.NET.

because more people involved knew CPP … now claude and modern CPP means does the programmer have to know CPP to use CPP? maybe not..Maybe SV will be able to use AI to surprise in the future.