
Deep Dive into .NET Universal Windows App Development - pjmlp
http://channel9.msdn.com/Events/Build/2015/2-790
======
StevePerkins
This comment thread baffles me.

Java guy here. I've had some limited professional exposure to ASP.NET web apps
over the past five years, but have really taken an interest in diving into the
Microsoft stack over the past year or two since all of the cross-platform
activity started happening. I'm mostly interested in ASP.NET, as I do little
to no development in the desktop or native mobile app space, but I've been
interested in at least learning more about those areas.

My understanding has been the following:

[1] WinForms is a very ancient framework for writing traditional desktop
applications. It inspired ASP.NET's WebForms, an ancient framework for writing
web apps. Both are still used by greybeards, but are effectively considered
deprecated legacy tech.

[2] WPF is the current standard for writing traditional desktop applications.
It uses XAML markup files to describe a GUI, with each XAML file being backed
by a C# class storing the event-handling logic.

[3] "Metro" and "Windows 10 Universal" are emerging frameworks. Trying to
achieve some level of convergence between desktop and mobile app development.
Pushed hard by Microsoft, but no one cares because there are few users of the
Windows Store or Windows Phones.

I am accustomed to seeing "WinForms is dead" Internet discussions, with people
chiming in to point out that it still lives on in many shops. However, I've
never seen a "WPF is dead" thread before.

Are you guys saying this because you're moving on to "Metro / Windows 10
Universal" even for desktop application development? I don't know anyone going
in that direction yet, but then again Hacker News is a bit of a startup niche
that poorly represents the technology industry as a whole.

 __DISCLAIMER __I haven 't actually watched this video yet... it's almost an
hour long, and I'll have to do so later. A "TL;DR" would be cool, but I'm
assuming that the gist is XAML still having a role within these newer
frameworks that I haven't explored yet.

~~~
jeswin
I have 15 years of professional experience on the Microsoft platform. I'll
tell you why people are pissed.

Especially among MS developers, there are many people who don't read read HN
or any other tech industry site. They rely or depend on MS to provide them
with career advancing technical advice, but for the last eight years they have
been consistently let down. Microsoft's preferred flavor changes every two
years; Win Forms, SilverLight, WPF, Html5, now Universal Windows Apps. Add
Metro-flavors of some of these.

This isn't working, at least for Business Users. Customers are switching from
their Native Windows apps (often Win Forms, rarely WPF) to HTML, iOS and
Android. Businesses will not build another Windows platform Native app;
although some consumer apps might be written.

Developers are seeing their hard-learned technology go down the drain. That
was time they could have learnt something new or spent with family. Developers
who are in IT/Software for just the job/money find in relatively difficult to
just go and learn the web. Many of them could have done it 10 years back (when
they were younger), they can't do that so easily now. The last time MS' advice
helped was when they had an iron hold on the industry (aka the Monopoly).

Here's some advice for MS: Build on HTML, perhaps partner with Mozilla. See if
you can get it to work as fluidly as Native. They still have perhaps the most
formidable research team out there among Software Companies. Closed, Windows
Native apps are over.

~~~
StevePerkins
> Especially among MS developers, there are many people who

> don't read read HN or any other tech industry site. They

> rely or depend on MS to provide them with career advancing

> technical advice, but for the last eight years they have been

> consistently let down. Microsoft's preferred flavor changes

> every two years...

Ahh... thanks, this makes sense. Things are somewhat similar on the Java side
with Oracle, but not quite. In my opinion, the biggest contributing factor to
the strength of Java's ecosystem is that the community has a healthy level of
distrust toward Oracle.

Oracle promotes new things all the time. Sometimes they catch on and get
widely adopted. Sometimes the community by and large completely ignores them,
and uses another third-party framework instead (e.g. Spring). Oracle is
begrudgingly respected, but I wouldn't say that their word rises to the level
of "default" in the Java community.

Microsoft guys seem to have much tighter bond with the mothership, and put a
great deal more trust in Redmond's agenda. They are much less likely to
explore alternatives that come from outside of Microsoft (e.g. I see a lot
small microservices for which Nancy makes a lot of sense, but which are still
built on ASP.NET "just because"). This causes the wider ecosystem of
alternatives to be much weaker than that of Java and other common stacks.

I'm very excited about the future, as C# is a much better language than Java,
and Microsoft is at least saying all the right things lately about wanting to
see more innovation from the community and less blind reliance on Microsoft.
It will be interesting to see whether Microsoft can attract enough newcomers
like me to offset the alienated longstanding crowd.

------
M8
After having to switch from WPF to crap-HTML5 due to the Great Silence and
lying Guthrie's betrayal: not betting my carrier on a Microsoft-only tech
again.

~~~
skrebbel
I have absolutely no idea what you're talking about. Care to elaborate?

~~~
M8
They suddenly stopped actively developing WPF 5 years ago, now it's just some
small unimportant team cleaning up the backlog. I went to a conference where
Guthrie told us that Silverlight 5 is the future. Less than a year later and
he was focused only on ASP and JS. As if it's OK.

~~~
M8
@LogoThete I work in enterprise and don't care about wider landscape.

~~~
ownagefool
I'm not really i really understand that statement. What is enteprise and why
can it ignore the wider landscape?

~~~
_random_
You can use non-legacy non-ubiquitous languages (as opposed to HTML/JS/CSS),
because it's not public-facing. Microsoft is sending a mixed message to
enterprise: should they bet on HTML5 and possibly quit the MS ecosystem
whatsoever, or XAML is still a major investment for Microsoft? They need to
demonstrate that WPF/XAML team is more important than ASP/Azure team.

~~~
ownagefool
Well obviously you can do that, under the assumption that the company you work
for is locked down and isn't going to even remotly consider any type of BYOD,
you could get away with pushing any tech you want, considering you control the
clients.

However, that doesn't mean that you should and if you're going to lock
yourself in to a single priopritory vendor, you're doing yourself and the
people you work for a disservice if you haven't weighed it against the
alternatives.

I highly doubt the GP really meant that, which is what I was really referring
to. What is it about "enteprise" which makes them think they're different?
Honest question.

------
FrankenPC
Wait, what? I thought XAML was dead. I have quite a bit of investment into
Silverlight and did some WPF desktop apps years ago. I thought all that was a
total waste of my time. It's not dead? This is...cautiously good news. I love
XAML frankly. The data binding system with seamless C# code behind is glorious
to work with.

~~~
pjmlp
WPF, Silverlight, WinRT are all built on top of XAML.

There are just a few differences in the APIs, but that is about it.

Somehow, Microsoft doesn't seem to be able to pass the message that all those
names are mainly the flavour of the month from the marketing department for
the XAML stack.

~~~
_random_
So you can easily just change a build flag without touching any XAML or
creating a new project and everything just works?

~~~
pjmlp
I was quite explicit

 _There are just a few differences in the APIs, but that is about it._

Meaning that of course some changes are required.

It is like when one changes SQL queries among RDBMS servers, of course some
things change, but one doesn't have to throw out all the SQL knowledge out the
window just because of that.

------
sudioStudio64
XAML was never dead. It was the preferred .net UI system for windows 8 apps.
Meanwhile they said...building a .net desktop but need a rich UI? Use WPF. The
idea that they are a small team just fixing bugs really isn't the case. You
could say the same thing about MFC.

If you are butt hurt that WPF didn't set the world on fire the way html
did...you just weren't paying attention. Evry developer should know html and
js...whether you like it or not. I would say the same thing about C...but html
and js are the thing that everyone should know something about

~~~
Maarten88
The screw-up is that they introduced many variations of XAML, each one
incompatible with the one that came before. Vista brought WPF, then came
Silverlight to 'counter' Flash, then came Windows Phone 7 Silverlight, then
Windows 8 came with WinRT, while Windows Phone 8 had yet another dialect not
compatible with Windows 8. And now Windows 8.1 and Windows 10 are trying to
bring it together again. Add some rebranding efforts to this, and you have
what we have now: XAML is a very good idea, but the implementation of it is a
royal mess. As long as they keep changing it all the time, developers will
keep getting burned and turned off.

An interesting angle to this story is the recent introduction of Xamarin
Forms, which is also a form of XAML, even more universal in that it targets
iOS, Android and Windows.

~~~
sudioStudio64
They screwed up a lot of things during those years...i don't know if WPF even
makes the list of screw up's.

Maybe I look at it differently, but I don't expect things like consistency
from API's. They are what they are. You find out what you need to do to solve
a problem.

It's not like there is something out there that is magically better. Just
varying degrees of inconsistent.

~~~
Maarten88
> I don't expect things like consistency from API's

But you do not expect an API/object model to arbitrarily change for existing
features. Which is what happened.

A Win32 C app from 20 yrs back still compiles with no problems in Windows 10,
but where do you go with a big enterprise app that was built 7 yrs back in
then-state-of-the-art Silverlight? Any migration will be a big investment and
comes with uncertainties and limitations.

~~~
sudioStudio64
Silverlight and WPF were different...they said that from the start.

