With Windows 10 and Visual Studio, developers can (in theory) write one program that will work on any device that runs Windows 10 — a desktop PC, a Windows 10 Mobile device (yeah, right!), a Web site, a Raspberry Pi, etc., etc.
This technology is called Universal Windows Platform (UWP). I predict this idea will go nowhere. In my world, I really don’t want to target multiple user platforms. And if I do, I’d rather do it the old-fashioned way — write core code (typically backend logic) that is common to all the target user platforms, and then write separate UI code for the platforms. Difficult? Yes, very. But in my mind, UWP creates more problems than it solves and leads to applications that are weak on all platforms that they run on.
Now to be sure, I can imagine one or two scenarios where UWP could be useful. But for me, and what I do as a developer, UWP is a non-starter.
I created a little Hello World UWP application. The code base was large and complex, as you’d expect. I hate complexity. For me, the simpler code is, the more beautiful it is. UWP code is about as ugly as I’ve seen (well, COM with C++ and Windows Communication Foundation are pretty hideous too), probably in large part because UWP uses XAML, which I do not like at all.
Most of my colleagues I’ve talked to have the same negative opinion of UWP that I have. But, a couple find UWP tolerable for what they do. I’m pretty sure a developer’s like or dislike of UWP will depend entirely on what project(s) he’s working on.
UWP – for me, thanks, but no thanks.