.NET implementation

There has been a feature request pending since 2013, asking politely to implement the .NET framework under Windows.
<https://xojo.com/issue/28733> currently 8th ranking.

Today was a post on that FR that resumes very nicely the current state of things :

[quote]@Vaughn Cordero Today at 1:15 AM
Is there any reason why the frameworks cannot be selected in the build options, like Carbon/Cocoa was in the past?[/quote]

Indeed, why ? .NET has been standard for Windows since XP Service Pack 1, back in 2002.

Cost/benefit ratio? Available resources? Strategic planning?

Apple bias ?

Its missing from this what exactly your asking for, .NET has many UI frameworks. Some of which are just layer on top of Win32 (so you still get all the flickering and all that if things are poorly handled like their now).

You have Windows Forms, WPF, and UWP. UWP is only for Windows 10 but probably the only one that makes sense to chase, and gives you access to their phones and tablets and App store.

For Desktop apps, .NET has the distinct advantage not to flicker, since it is entirely double buffered. It would have made sense if only for that to implement for some like 14 years.

UWP apps is based on .NET indeed, but with a different application model. So if Xojo had moved to .NET already, it probably would not be that difficult. At any rate, with Project Centennial Desktop Converter, one can produce UWP apps, even from Win32.

Duh.

[quote=286517:@Michel Bujardet]For Desktop apps, .NET has the distinct advantage not to flicker, since it is entirely double buffered. It would have made sense if only for that to implement for some like 14 years.

UWP apps is based on .NET indeed, but with a different application model. So if Xojo had moved to .NET already, it probably would not be that difficult. At any rate, with Project Centennial Desktop Converter, one can produce UWP apps, even from Win32.[/quote]

Windows forms per see is not why it flickers less. Their using Win32 too, but issue is that Xojo’s usage of Win32 has always been horrible. Win32 should not mean flickering after all Adobe and MS applications built only in Win32 did not flicker. And you can make flickering application in Windows Forms (yes its a bit harder than in Xojo).

Only WPF and UWP have actual double buffering that is not just better handling of the Win32 than Xojo does.

You also must remember if you go .NET then your application will no longer be native code. Instead interpreted CLR code.

Personally my wish would be given where we are at now would be (those are best cases regardless of time constraints):

Keep Xojo native compile for Win32 (fix what is done wrong regarding the massive flickering, get programmer who knows how !)
Windows Forms (Don’t go there, Given where we are in time then this one is dead)
WPF (Dont go there given where we are in time, birth of this one took amazing time and it was adopted slow and its already out in the cold given UWP)
UWP via .NET - Add it as new platform

UWP is not based on .NET and do not need .NET. UWA, therefore do not require .NET. UWA can also be written in C, C++ and HMTL/CSS/JavaScript and these are not .NET. They just need to call into the UWP APIs.

What is needed is UWP core API support (which is an extension of Windows Runtime). I would say for Xojo keep and improve on Win32 and add UWP core API (Windows Runtime) to see the daylight ahead. So in Xojo IDE, you choose Win32 or UWP.

Do note that this will break cross-platform capabilities.

I dont see why from the information you posted. Can you expand a bit on that?

From my point of view, Xojo could maintain cross-platform capabilities regardless, it is the compiling and linking layer that needs to bind to the runtime libraries below. You would have a Xojo block where you see C# / VB. Perhaps my view is too simplistic?

The whole subject of Windows long term support and development is interesting.

UWP uses .NET controls.

XAML UI Elements or Controls. They are different from .NET controls which are still Desktop controls dependent on Win32.

[quote=286577:@Louis Desjardins]I dont see why from the information you posted. Can you expand a bit on that?

From my point of view, Xojo could maintain cross-platform capabilities regardless, it is the compiling and linking layer that needs to bind to the runtime libraries below. You would have a Xojo block where you see C# / VB. Perhaps my view is too simplistic?

The whole subject of Windows long term support and development is interesting.[/quote]

The UI in Windows 10 is totally different totally alien from Desktop (Microsoft’s new terminology for classic Windows app). Gone are menu at the top but now Hamburger menu at the left vertically. This is only one example, many things have changed. You can fire up Money and Weather apps in Windows 10 to get the feel. You can’t layout once and have them all look native in cross-platform. I don’t think Mac users will want their macOS apps to look and work like Windows 10 apps.

This Channel 9 video is about 50 minutes. Download and skip through to get a feel of whats in Windows 10. You will notice is no longer Windows as we all know it.

XAML Controls in UWP

VS creates UWP apps and provides .NET controls as well as XAML ones.

I just checked. When I create a Windows - Universal project, VS presents only XAML Controls.

You are quite right here. Now, from my simplistic perspective, I sill do not see this as a cross-platform breaker. A menuitem may well be translated as a top menu in OSX, Linux and classic Windows, and as a sideband in UWP apps.

Now, I don’t claim that this is easy by any stretch of the imagination. But still, it is “just” how the menu concept is displayed.

To be sure, my VS Toolbox look exactly the same as in this video at 5:30 min into the video. The choices are Common XAML Controls and All XAML Controls.

UWP-002 - Creating your First Universal Windows Platform App

[quote=286600:@Louis Desjardins]You are quite right here. Now, from my simplistic perspective, I sill do not see this as a cross-platform breaker. A menuitem may well be translated as a top menu in OSX, Linux and classic Windows, and as a sideband in UWP apps.

Now, I don’t claim that this is easy by any stretch of the imagination. But still, it is “just” how the menu concept is displayed.[/quote]

The UI layout in Windows 10 is vastly different from Desktop. Now, you “draw” the UI once and it will work in Mac, Windows Desktop and Linux but this UI will not do for UWA. We will have to draw a separate UI for UWA that will not be used for cross-platform. And all controls features must be duplicated/available in existing cross-platform controls and UWA controls otherwise your code-behind will not work or you have to adapt to different platform specific features.

I don’t see how we digressed so much from the need to implement .NET in Windows Desktop, to UWP apps.

That said UWP app Design Guidelines are not without similarities with iOS. In other words, they are not that alien. They are simply closer to web design than early 80’s fashion.

IMHO UWP would probably be too much to gobble for Xojo. They are still reeling from iOS, and it is not even finished implementing.

Maybe Björn is right, and Win32 could, after all, flicker less, with some amount of love without going all out .NET. Fact is, Windows is still obviously the lesser child, in need for improvement.

My experience with FYI, Real Software, Xojo is… they will implement their choices in Xojo ! Whatever we can tell will be hazardous opinions and will mostly wrong (excepted their choice).

That said, I have fun reading this discussion :wink: