5 ms·
I'm going to pile in too late and sing the virtues of .NET core or whatever its called now. Deployment of web apps to containers is a breeze, the language is m
by smackeyacky 5y ago
I'm going to pile in too late and sing the virtues of .NET core or whatever its called now. Deployment of web apps to containers is a breeze, the language is modern feeling. Roslyn is about the most awesome thing I have played with. Razor pages are a breeze compared to the giant piles of dependency hell that client side SPAs or node have become. It feels lean and mean and I can be sitting at a debian box or a windows laptop and the experience in VSCode is identical including deploying code to production on AWS.
But like everybody has said, the desktop UI story is garbage. Fingers crossed Maui turns out to be useful because winforms and UWP are hot garbage. Such a shame from the guys who revolutionised gui development with Visual Basic.
- pjmlp 5y agoMaui is built on top of UWP, in what concerns Windows backend. Have to agree with the desktop development chaos, look like not wanting to take an hard decision. Forms and WPF continue, because they are the golden eggs, the ones that most .NET desktop devs actually care about. WinUI looks like last attempt to rescue UWP, while at the same time in typical Microsoft fashion ignoring the tooling issues surrounding .NET Native and C++/WinRT. MAUI, well they have to do something with Xamarin, and .NET still lacks an official cross platform so Xamarin be it. On macOS they are basing the backend on Catalyst, what I find completely insane, as most iOS devs know Catalyst apps don't feel at home in macOS.
- zeroc8 5y agoI think React has shown how UIs can be done in a better way. That's why we have Flutter, Jetpack Compose and SwiftUI now.
- pjmlp 5y agoReact is UI fashion, uses lots of memory, stresses the GC in managed languages and it was already present in Haskell, it just lacked JavaScript way of pushing frameworks. JetPack Compose was created by React devs, and Swift UI still pales in capabilities to AppKit. Listen to this week rant on Apple's UI Frameworks at ATP podcast.
- lloydatkinson 5y ago> Maui is built on top of UWP, in what concerns Windows backend. No it is not, how is that going to work on Mac? It is it's own thing, and on Windows it will use WinUI not UWP.
- pjmlp 5y agoLearn before commenting. WinUI is UWP stack, that is what Reunion is all about, merging both worlds with WinUI on top. Plenty of blog posts where to find such information.
- lloydatkinson 5y agoHow about before being a condescending person YOU do some reading? https://microsoft.github.io/microsoft-ui-xaml/about.html https://microsoft.github.io/microsoft-ui-xaml/about.html "WinUI 3 works with any app supported by the Windows App SDK. WinUI 3 can be used DIRECTLY as the UI layer for desktop apps, or starting next year, it can be used to modernize a Win32 app's UI gradually, using XAML Islands to mix and match with the following technologies: WPF WinForms MFC ComCtl32" Or here: https://www.thurrott.com/dev/206351/microsoft-confirms-uwp-is-not-the-future-of-windows-apps https://www.thurrott.com/dev/206351/microsoft-confirms-uwp-i... Oh and look here: http://allaboutwindowsphone.com/flow/item/24274_WindowsUWPdevelopmenttobedepre.php http://allaboutwindowsphone.com/flow/item/24274_WindowsUWPde... And finally from the last link: "You can use WinUI 3 as the entire UI layer for your desktop app, replacing your current main UI framework." You are probably thinking of XAML which is common to all. Please do your own research before shitting on someone.
- pjmlp 5y agoMy dear, if you read throughout the mess that was UWP marketing, UWP is basically IInspectable + .NET Metada instead of TLB + App identity. I advise you to read about the low level WinRT and COM programming, instead of articles like those from Thurrot. How much COM and WinRT programming, including XAML Islands have you done? Start with the BUILD sessions from 2019, to see how everything fits together. Learn how WinRT types get exposed to WinUI via XAML Islands, to split APIs from underlying OS version, all written in COM using the same WinRT types.
- zigzag312 5y agoAll upcoming UI frameworks by MS are still hung up on XAML. I get that their existing userbase is heavily invested in XAML, but in my experience XAML doesn't add much value, just unnecessarily layer of complexity, that lacks expressiveness of a programming language and makes interoperability between UI and code more convoluted. There is some "experimental" support for code based UI composition in MAUI, but since XAML is it's primary focus, XAML probably leads design decisions.
- lbriner 5y agoI would question how invested the existing customers are in XAML. I have worked at about 6 companies that all use .Net exclusively and I don't think we used XAML once except for maybe an experiment or PoC. I think the XAML stuff relates more to trying to make things move between devices more easily by using generic ideas like stretching, grid layouts, flows etc. I guess MS are still holding onto the write-once use anywhere ideal which has never made it particularly well in any stack.
- pjmlp 5y agoSo they write their WPF applications in pure C# and VB.NET code?
- tester34 5y agoWhat's wrong with XAML and what could have replace it? Maybe HTML?
- Xevi 5y agoI haven't used it that much, but from my experience it was incredibly difficult/verbose to create any custom designs, compared to HTML/CSS. It put me off so much that I just picked another language to develop my applications in.
- pjmlp 5y agoComing from Windows development since Windows 3.0, I have the exact opposite opinion. With XAML I can make my ideas fly, with Web, despite doing Web since 1998, I rather let our designer do their magic with HTML, CSS, JavaScript, turning <div> into animated drop downs.
- m_fayer 5y agoHybrid Blazor apps are the solution to the desktop story. It's already happening, it's ready to go. It'll take a while to make it official though, too many faces in need of saving. Avalonia is also a very compelling secondary solution.
- smackeyacky 5y agoHybrid blazor sounds like something I need to investigate. Thanks for the heads up.
- ripley12 5y agoIt's somewhat early days, but workable. The search term you probably want is "Blazor Desktop". It's basically Blazor Server but served to a local webview instead of a remote client. .NET 6 will have some convenient ways to do this in WinForms, WPF, and MAUI. But if you're willing to go off the beaten path a bit, it's not too hard to assemble the bits on your own (serve up Blazor on a background thread, consume it in your web view control of choice).
- apercu 5y agoI've been in and around platform development in the .NET space for over a decade (not as a developer, I stopped programming for the web in like 2002 because I couldn't stand the the entire front end paradigm). My biggest issue with .NET has always been how slow it is compared to <insert any popular server side scripting language here>. Is there hope? lol
- stonemetal12 5y agoIt has always out performed Python and Ruby. While it usually falls behind Java in general performance. It seems to win in startup time which is important for scripts.
- gwbas1c 5y agoI've always found that someone complaining that XXX is slow is just writing very bad code. C# is blazing fast, but there's plenty of ways to write boneheaded-slow code.
- gwbas1c 5y ago> But like everybody has said, the desktop UI story is garbage. Strange, I find WinForms very similar to Visual Basic 6. The UI designers are very similar. The API is very similar. C# is just a much better language than VB 6. I personally really like WinForms, but I haven't done anything in it in about a decade.
- DonnyV 5y agoMicrosoft should either use Flutter or make a C# version of something like Flutter. Its simple to understand and doesn't have any magic xaml tag to make things work.
- vips7L 5y agoIsn't this just .NET MAUI?
- Const-me 5y agoFlutter is somewhat similar to UWP, it includes a cross-platform rendering engine. MAUI is similar to old Xamarin, it exposes whatever native controls are available on the platform. Useless for me because I sometimes develop GUI for embedded platforms which don’t have any native controls at all. Even ignoring the embedded use case, I believe that’s not the right approach overall. Native controls are too different across platforms. Commercial success of Electron demonstrates people don’t give a crap about native controls, they want good UX identical across the platforms, in large part because it saves development costs for cross-platform stuff.
- lol768 5y ago> sing the virtues of .NET core or whatever its called now I think this is the only criticisms I can level at Microsoft, their branding is just a complete mess! Core has been dropped from .NET naming but we still have ASP.NET Core MVC (I think?) and we still have EF Core. "ASP.NET Core MVC" is such a mouthful.