Why not implement .Net ?

A @Giles Evans has posted a couple opinions in the <https://xojo.com/issue/28733>

[quote=@Michel Bujardet]Main visible advantage of .Net is no flicker.

Don’t confuse VB.Net and Xojo.[/quote]

[quote=@Giles Evans]@Tim Jones
It’s the comments left by others that leaves me to question the advantage of .NET to those who would want XOJO to support it. I am relatively new to XOJO, but from a C++ and Assembly I’ll always opt to call the Win32 API directly over .NET 98% of the time. .NET let’s you get started faster if you’re learning, especially for building your form with a visual interface. That’s very appealing for a while, but in my experience you end up finding some very hard limitations.
If I wanted a “Flicker Free” app I would definately avoid .NET at least from C++. Microsoft added the optimizations of double buffering and others to .NET because that was, and still is, a serious bottleneck of the .NET framework. I suspect this “flicker” is more of an issue with the XOJO framework itself needing work on optimizations and will more likely only get worse in a switch to the .NET framework.
Most of .NET is nothing more than an C++ (Object Oriented) Wrapper around the Win32 API and is intended to hide the tedious details of the Win32 API. It succeeds at that in some respects, but fails in others. If most of what you write fits well with what MS tries to support, it can succeed quite well. If you depart into “virgin territory” like direct hardware communications, you can lose the advantage entirely, and even cause a great deal of extra work compared to native code using Win32 directly.
And since XOJO’s own framework already hides the tedious details of the Win 32 API then what would be the advantage of moving to the .NET Framework? Rather than change XOJO itself would it not be better to add .NET, WPF or any of the other select proprietary Microsoft frameworks as add-ons for those who would like them. Since 90% of my programming work still needs to target WindowsXP machines WPF, or a “Modern User Interface”, or recounting the DLL hell of Visual Basic 6 with a more modern .NET versioning twist, would not benefit me personally.[/quote]

[quote=@Michel Bujardet]Giles Evans,

May I respectfully point out that this is a bug report and feature request tool, not a forum. If you want to voice opinions, they will be most welcome in http://forum.xojo.com

I have replied to your last post in forum at Why not implement .Net ? - Windows - Xojo Programming Forum

Please continue the conversation there where it has much more its place than in a feature request where you rebuttal appears like an effort to derail a long file feature request.

You are perfectly free to file your own feature request to ask that Xojo never implements .Net.

This is your opinion, after how many weeks or months of using Xojo ? Don’t you think people like me who have been using Xojo since 2002 have the right to see their voice heard ? I resent that sudden charge on a feature request that has been posted as early as 2013.

Once again, Xojo is NOT VB. Net and there is no reason if and when it ever supports .Net that it may lose the ability to address hardware directly. Precisely, Xojo has always demonstrated the ability to support framework changes transparently, especially on Mac where since 2002 it has seen change in processor, change in system, and change in framework. Code from 2002 can still be compiled in 2017R2 with little to no changes.

At any rate, your opinion is most welcome and valuable in this forum, where it has much more it’s place than in the Feedback system.

As Michel indicates. a bit of clarification is needed here. Those of us requesting this are looking for a way to improve the look and feel of Windows apps created with Xojo. We’re not asking that Xojo itself move to .NET. We just believed at the time that the feature request was created that moving Xojo’s backend Windows UI framework build to .NET instead of Win32 would make that look and feel change more transparent for developers using Xojo.

If I am correct, you can have modern controls without switching frameworks.
Especially as I see LLVM compiler for all platforms being better than to use byte code on Windows.

Indeed the idea is not to change Xojo itself, it is for Xojo to considerably improve display. If this is possible with Win32, fine. But it seems that .Net controls are more stable and less flicker prone. So far I am not aware of any way to use .Net controls in Xojo.

[quote=345888:@Christian Schmitz]If I am correct, you can have modern controls without switching frameworks.
Especially as I see LLVM compiler for all platforms being better than to use byte code on Windows.[/quote]

But Cocoa too use a sort of byte code. Ok, not really but it has a runtime with messages in clear form.
The good of .NET is this would probably solve many issues related to flickering, etc.

Cocoa uses compiled code and Xojo Inc. can use LLVM on all platforms. That would go away if they compile byte code on Windows.

I think you can use more modern controls on Windows without switching everything to .net.

That would be fine. I mean, the main need of .NET for me would be to solve the drawing issues with Windows.

How about skinning? Delphi has a skinning possibility built into the IDE and comes with about 15 skins you can use with a few lines of code. DevExpress has a lot of skins available to give your Delphi Win app any look and feel you want. Looks to me that implementing skinning is much easier than adopting the .Net framework.

I know William Yu is aware of JulianS work on drawing order in https://forum.xojo.com/41627-how-to-fix-canvas-flicker-in-windows-7-8-10 so it may indeed be possible to drastically improve Windows drawing without resorting to .Net.

No matter what, it is never wasted time to discuss ways of improving Xojo.

This would completely spoil the Xojo native controls approach.

JeremieLeroy has a skin kit already. Not sure it is so widely used.

Besides, the issue is not so much skinning, but alleviating the dreadful flicker.

Why? If you don’t use the skinning mode you have the native controls.

[quote=346009:@Michel Bujardet]JeremieLeroy has a skin kit already. Not sure it is so widely used.

Besides, the issue is not so much skinning, but alleviating the dreadful flicker.[/quote]
No offense, but I get the feeling this flicker thing is a bit overrated.

Really, tell that to the customers who do not want to buy your app because it looks funky (read: flickering like hell).
I won’t buy an app that has flickering controls all over the place. It just looks unprofessional. :slight_smile:

Pick any of your popular app for Mac. Generate a Windows executable without any change, and have it run on a real PC. You will see it is far from being overrated.

Most apps created on Mac need extensive refactoring to eliminate that issue.

A well conceived app developed under Windows indeed usually does not exhibit that much flicker, but the whole point is precisely that a lot of us develop primarily on Mac. We stack controls and do things that are no cool on Windows. Mac is incredibly smooth no matter the kind of programming technique, thanks to double buffering. That is not unfortunately the case under Windows.

Before some short sighted fan boy again says that Mac is better, yes indeed it is. But it represents only 6% of the installed base. That is often not enough business for a developer, especially in the corporate world where most machines are PCs.

I would like to be able to use WPF controls like TextBox with spell check. I’m not sure if changing the framework to use .Net would make that possible.

Here is a good example.

[quote=346017:@Neil Burkholder]I would like to be able to use WPF controls like TextBox with spell check. I’m not sure if changing the framework to use .Net would make that possible.

Here is a good example.
OK. But why is this getting so much attention at this moment? This is something that has always been there?

I think it was because Xojo now uses Direct2D and Xojo Inc claims it is faster - which is not always the case. That got the ball rolling.
Also, JulianS discovered something in the z-ordering that could fix some flickering.

Because it is about time the Windows platform got some love. It is pretty preposterous that Mac has been getting constant improvements for over a decade, and Windows hardly got anything done until this year.

Precisely, the fact that it has been there for so long is unacceptable.

When something can’t be helped you try to deal with it. @JulianS has put a lot of work into this and has proven that it CAN be helped. I believe that’s why a lot of people are excited. After all it is a HUGE deal as is proven by the fact the feedback case rapidly made it to the top ten (currently 8th).

In Xojo windows it’s possible (with effort) to make an app that is acceptable, the IDE is a good example. However I don’t think it’s possible to make a smoothly scrolling container control, that doesn’t show some tearing or flickering. Again the IDE probably shows what is the best achievable at the moment. I would be happy if someone could post a sample project to prove me wrong.

From experience I have to admit, unfortunately.

And this is why I develop on Windows, even on a Mac. If it works ok on windows, you normally don’t face much problems on OSX. I only test on OSX every once in a while during development of GUI.