11 ms·
Delphi was so ahead of its time (a mandatory remark)... I've used Delphi 1 to 4 then moved on to other things. Using .NET since 1.0 beta, and it still remains
by cryptoalex 1y ago
Delphi was so ahead of its time (a mandatory remark)... I've used Delphi 1 to 4 then moved on to other things. Using .NET since 1.0 beta, and it still remains my favorite stack. The project I am currently building is a software infra for building E2EE applications, and it requires a little bit of everything - mobile apps for key management, desktop/cli apps/client libraries for actually encrypting data, sometimes a web based app, and a zero trust backend. Using Xamarin/MAUI for mobile apps, Blazor WASM for Web, Blazor Hybrid / MAUI / Avalonia UI for Desktop. All of the frameworks have their quirks, so it may take a bit of time to learn your patterns, build your base classes, but after that you pretty much enjoy the productivity of a modern high level language.
- What programming languages and frameworks are popular for desktop apps?
- for me - Blazor Hybrid / MAUI / Avalonia UI / WinForms
- Are there any go-to IDEs, build tools, or libraries that make development easier?
- I use MSVS 2022, VSCode for .NET, IntelliJ for $$$ at work. There are of course UI control libraries, I am using MudBlazor for Blazor WASM / Hybrid, other than that I use built-in controls that come with each framework. I try to use as little as possible of 3rd party libraries b/c my apps are security-sensitive.
- Do the above answers change if you care about code performance or efficiency (whatever that means to you)?
- in my case no, I am able to find what I need in .NET ecosystem. Modern .NET supports ahead-of-time compilation compiling to native code, and that helps to reduce start-up time which is important for Desktop / CLI. Ironically, for a long running processes, like a web service, the just-in-time compilation sometimes produces code running faster than ahead-of-time compilation, b/c it learns most common execution paths at runtime, and is able to recompile on the fly, optimizing for most frequent execution paths, giving a non-trivial performance boost in some cases
- Is native desktop app development still viable as a career, or are most greenfield projects shifting to web-based alternatives
- depends on the app/use case. For my project, desktop is the first class citizen, but I am building E2EE apps, i.e. end-to-end-encryption apps, aka client-side encryption, and native / Desktop / CLI is a better fit for E2EE in most of the cases compared to web apps. For those Web apps that I have it is still E2EE but in the browser (still client side encryption)
- hermitcrab 1y ago>Delphi was so ahead of its time Borland had an amazing knack of snatching defeat from the jaws of victory.
- rramadass 1y agoTurbo C++/Borland C++ (with Object Windows library) was the best C++ IDE on MS-DOS in the early/mid 90's. All their tools were excellent. They were leading the industry in the usage of C++ on PCs and should have built upon that advantage; but then they lost it all to MS Visual C++ (with MFC library) when Windows came along. It was one of the earliest and best textbook case of management screwing up a technical company.
- hermitcrab 1y agoI went to a talk by MS Visual C++ product manager, years ago. IIRC he said that Borland did all sorts of really difficult stuff to make their C++ compiler better and more standard compliant, whereas MS concentrated on easier and more marketable stuff like wizards.