4 ms·
Looking for some advice here. I’d be interested to develop simple GUI’s at work. I don’t have much experience of that. I have a license for VS2015 to maintain l
by Bootvis 3y ago
Looking for some advice here. I’d be interested to develop simple GUI’s at work. I don’t have much experience of that. I have a license for VS2015 to maintain legacy VB and C++ but I think an upgrade could be arranged. I’m comfortable doing web dev but the browser remains limiting. In my situation, would learning native gui development be worthwhile or is it much easier to stick to websites and/or Electron?
- tight-ship 3y agoMuch easier to go with Electron. The choice is made for you. With native Windows, it's a dozen different solution and you waste timing playing future teller to imagine which one won't be abandoned in the future. At least with Electron you can reuse your skills with websites and it's pretty established now. Yes, it's not as fast but it's fast enough.
- MattBDev 3y agoUsing WinUI is really easy to do. Whether you're using WinUI 2.8 with UWP or WinUI 3. So native GUI development isn't difficult at all. XAML is similar to HTML in a lot of ways. If you have your mind set on web development and want a native GUI, you could go with React Native for Windows.
- pjmlp 3y agoYeah, if one wants to have fun debugging all the issues that are still open since Project Reunion was announced in 2020, with less capable tooling than .NET Native and C++/CX, specially fun having to deal with CsWinRT and C++/WinRT, the latter already in maintenance, stuck in C++17, as the team is now having fun with Rust/WinRT. At least Native AOT might support WinUI in .NET 9, something to look forward to, for anyone that still cares outside Redmond.
- m_mueller 3y agoI think the alphabet soup thrown around in this thread alone is indicative for what‘s wrong with Microsoft‘s native user interface story…
- pjmlp 3y agoI can throw similar alphabet soups from other ecosystems, either one is in and gets them, or not.
- tonyedgecombe 3y agoNot really. Apple has a much more consistent story on UI frameworks.
- pjmlp 3y agoNot being around Mac OS long enough?
- m_mueller 3y agosuch as? If I remember correctly (has been a few years), over the last 15-20 years there were iOS: UIKit -> SwiftUI MacOS: AppKit -> Catalyst -> SwiftUI there was definitely some churn within each one of those from version to version, but no complete rewrite needed afaik.
- pjmlp 3y agoI advise then to pay attention to Apple developer podcasts for rants regarding each of them, and porting issues, you can start with ATP.
- m_mueller 3y agoI listen to almost every ATP. I know the rants. None of them were along the lines of: Apple forces me to completely rewrite Overcast, or else it won't work on the next iPhone.
- tonyedgecombe 3y agoI wouldn't even include Catalyst in the list. It is only relevant to a small subset of developers.
- Const-me 3y agoI’ve just created and compiled an empty WinUI3 project, and I got 131 MB of binaries just for the AMD64 architecture. The EXE from that folder crashes on startup with DllNotFoundException “Unable to load DLL 'Microsoft.ui.xaml.dll' or one of its dependencies” Apparently, Microsoft couldn’t even setup the project template, need to manually edit the project file adding WindowsAppSDKSelfContained setting. After that it launches, but the binaries are now 151MB in 386 files, for a single AMD64 architecture. By comparison, an empty WPF application compiles into 171 KB of binaries in 5 files, and the binary is CPU-agnostic, it runs on all CPU architectures. It depends on the .NET 7 runtime, but the runtime for my processor only takes 55MB to download. And if you’re unhappy about the runtime, you can instead target the older .NET framework 4.8 which comes preinstalled on Windows 10 and 11.
- pjmlp 3y agoIf on .NET, Windows Forms, WPF, or the community projects from Uno and Avalonia. For C++, you're better off with Qt, wxWidgets. You can use Visual Studio Community if the licence still fits your work, or in the case of Qt, Qt Creator alongside a recent VS or MinGW.
- tonyedgecombe 3y ago>For C++, you're better off with Qt, wxWidgets. Only if you need cross platform.
- pjmlp 3y agoYou certainly never had the pleasure of using XAML C++, with C++/WinRT and IDL files, after the downgrade of using C++/CX. On the Microsoft tooling stack even MFC offers better development experience on Visual Studio. I left it out on purpose, because I doubt the OP would like to use MFC, and I wouldn't even recomend XAML C++ development experience to my enemies.
- dancemethis 3y agoIt's still worthwhile, and it will be for the foreseeable future. If you want to dabble in desktop with C#, Avalonia is the best way to go nowadays. I'm having a blast with it working on a couple of projects for my assigned client, and in a couple of personal toy projects.
- Aleklart 3y agoThe art of creating your own desktop GUI library is probably already lost, so react/electron will be the best option. In fact you don’t even need electron. Just make it a web service. People prefer web, they used to web.
- benhurmarcel 3y agoIt can be pretty hard to deploy a web app in a corporate environment. Just getting an instance on a server is an uphill battle. Easier to have people run a local app.