4 ms·
GDI, Win32, and XAML are the only ones that come to mind for me, am I missing some? 3 frameworks in 3 decades seems reasonable considering they all still work.
by cptskippy 8y ago
GDI, Win32, and XAML are the only ones that come to mind for me, am I missing some? 3 frameworks in 3 decades seems reasonable considering they all still work. The same can't be said for MacOS
If you're referring to Silverlight, that was never a serious desktop UI framework. It was initially targeted as a Flash /Java killer but pivoted to cross platform desktop apps when it became clear that it would never be adopted on Mobile and that Apple/Google were actively trying to kill Flash on the desktop.
That being said, we got XAML from Silverlight and it's not terribly difficult to covert ti a XAML or even UWP app from a Silverlight codebase.
- maxxxxx 8y agoYou are missing Winforms and several XAML frameworks (WPF, Silverlight, WinRT and UWP). Even if you use one of the XAML frameworks porting any app of decent size is really hard to almost impossible. I think trouble started with .NET. Since then there was a change in direction almost every 2-3 years. Edit: Forgot WinJS...
- pjmlp 8y agoBecause before the reorganization, .NET used to be part of DevTools, while C++ and related tooling was part of WinDev. So since .NET was introduced there has been an ongoing power struggle between the two camps regarding how the future of Windows development should look like. The whole Longhorn/Vista debacle was more a side effect of those political issues than actual technical problems. Likewise with lack of management support for bringing Singularity and Midori outcomes into mainstream Windows, or trying to replace .NET with WinRT. The reorganization was supposed to help sort out such silos, apparently it wasn't successful at that.
- maxxxxx 8y agoI guess the MS org chart is still accurate: http://www.globalnerdy.com/2011/07/03/org-charts-of-the-big-tech-companies-plus-an-enhancement/ http://www.globalnerdy.com/2011/07/03/org-charts-of-the-big-...
- slededit 8y agoEverything lives on top of win32. Even UWP is a wrapper around win32, if you look at the modules list you'll see gdi.dll in the list. In a sense the rest of these frameworks are all just libraries. You can choose the one that makes your life easier but win32 will do the heavy lifting. Because of this its relatively easy for them to add support for new features to the various frameworks. They just wire up the win32 calls as necessary.
- maxxxxx 8y agoI don't think that's correct. In Winforms and MFC every control is a Win32 window. As far as i know WPF has only one root window and then does all the drawing by itself on a canvas.
- slededit 8y agoHow it uses windows is orthogonal to whether it’s based upon win32 APIs. The framework may add some of its own controls, but copy+paste and even touch hit testing are win32. This is very unlike say KDE vs Gnome. I used to work on the office UWP apps, and I’ve seen the underlying code.
- azinman2 8y agoWhat do you mean same can’t be said for macOS? Carbon and Cocoa. Cocoa has been around since 2001 (17 years), and is still going. Since 2007 UIKit has been around (11 years) and doesn’t seem as if it’s going anywhere either. I personally think Apple has the nicest UI frameworks to develop for, and the longevity is quite good. The frameworks (particularly UIKit) regularly get meaningful updates to make it modern, and now there’s an entire new modern language that’s 100% compatible while moving things forward. Disclosure: I happen to work for Apple, but this was my previous opinion having spent many years using all the major frameworks/platforms out there.
- cptskippy 8y ago> What do you mean same can’t be said for macOS? I wasn't so much taking a shot at Apple as I was trying to point out the stability of Windows. The reality though is that APIs on either system outlive the usefulness of most applications. In a purely technical sense though you can't run a 2001 era Cocoa App on a 2018 Mac without recompilation. You can't run a System 7 era App on a 2018 App without at least minor API tweaks (Cocoa isn't 100% compatible with System 9's API). You can run a 1990s era Win32 App on a 2018 Windows 10 PC without recompilation.