What would the usage of .NET give me, that i don't have using Win32 - and sometimes maybe googling for some 50-100 Lines of code i can reuse?
I am developing Win32 since it exists (> 15 years). Its straight forward and very robust, although sometimes it needs some more calls than you'd expect, and of course you need to keep track of handles etc. But our (250.000 LOC) application is installed in less then 1 Minute and it very rarely has any compatibility problems.
I have followed several discussions on SO about .NET versus Win32 (i.e. Win32 vs .Net). But they don't answer this questions.
The . Net frameworks we use today are still based on Win32 in essence, and compare better to COM for contemporary developers that need to consider platforms, performance and combatibility issues.
Win32 is essentially deprecated and the native toolkit from Windows 8 on is the WinRT components/engines in "Windows. UI. *" which natively speak XAML (and natively here means these are C++ components baked into the OS). WPF has much more in common with the modern Windows.
NET is cross-platform and runs on Linux, macOS, and Windows. . NET Framework only runs on Windows.
Win32++ is a C++ library used to build windows applications. Win32++ is a free alternative to MFC. It has the added advantage of being able to run on a wide range of free compilers, including Visual Studio Community, Clang, and the MinGW compiler provided with CodeBlocks and Dev-C++.
The answer is quite simple: A higher level of abstraction and decoupling from the "real" things behind the scenes. That's why .NET can be implemented on other operating systems.
In fact this is all possible without .NET but it isn't practicable. Short Example: The WCF in .NET gives you a first class IPC and SOA Framework that everybody can use. It is built in functionality. In win32 you get the same self coding, with third party libraries or whatever. The user base is small, you don't have that big community supporting you with your issues, and it is hard to implement at all. The .NET Framework gives you these things out of the box.
For a vast amount of applications .NET will speed the develop time and make the development just cheaper.
For special kind of applications the opposite is true. E.G. it is (nearly) impossible to develop real time applications with .NET because GC on Level 2 freezes all your threads.
Supplemental:
The .NET framework 4.5 includes a augmented garbage collector. It enables a multithreaded background garbage collection for the server garbage collector ( enabled with the <gcServer> element in app.config) which doesn't freeze the application threads.
Unfortunately the Mono garbage collector is not nearly that advanced, so the basic statement is still true for Mono.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With