

Ask HN: Microsoft from non Webdev perspective? - jfaucett

Okay, so if you've ever done any extensive frontend development, you probably hate IE. To put it bluntly Microsoft's browser platform sucks from a developer perspective. You make your app it works cause you know your W3C specs, etc, then you go to IE and no addEventListener or indexOf, or HTML comments (yes an IE6 bug) blows up your awesome app. Then you try to debug and get incredibly descriptive notices like [Object object] or just nothing.<p>So MS has failed badly for the webdev community, my real question is, what is it like developing with Microsoft tools for non-web apps, say Desktop or Mobile Apps? Do the tools make the grade of the GCC/Linux toolchain? Does everything fallapart for cross-platform Apps?
======
kellros
I'd contest that argument. I'd agree perhaps with IE 8 being a PITA, but you
can't reaaaaaaaally blame Microsoft for IE 6. It's not like google existed in
its magnitude back then or even mozilla. Back then there wasn't much stability
either i.t.o market leaders (if I remember correctly netscape escaped
roundabout that time and opera didn't have much market stake).

If you check IE 9 developer tools, you can't even 'switch back' to IE 6
anymore (well, atleast not in x64 mode).

There's a reason why you should opt to use 'cross-browser' libraries such as
jQuery. Google chrome has a couple of bugs and even firefox. Not all problems
have solutions - take for example styling of 'web' controls. IE renders native
controls, browsers render their specific controls - some allow text-indent
while others don't.

In terms of application development - as far as I know all non .NET tools have
pretty much be phased out (ie. VB6 etc.).

You essentially face the same problem to some degree (ex. users that still run
with IE 6 are probably like to be running .NET 2.0 or none at all).

I think at the moment Microsoft is opting for cross-platform apps via web and
wcf/web api services. You can also use Mono, but it's generally at least one
major version behind (couple of years) and doesn't fully support everything
the .NET framework does.

When talking about 'cross-platform' apps, people are rather quick to forget
that applications are written during certain time periods. It's easy to
support users who are using 10 year old software/hardware (ex. windows xp 32)
with 10 year old software (.NET 1.0).

I reckon it's about the same effort to force a user to install 'open source'
libraries such as open-gtk as it is to force the user to use a different
browser or install the .NET framework if they're on windows.

I'm actually hoping that all the legacy windows operating systems get upgraded
to Windows 8 when it gets released. Microsoft is running a campaign where you
pay 30$ or something to upgrade a Windows XP+ OS to Windows 8. Windows 8 also
boasts quite a bit of improved performance and less resource usage - which
makes it perfect for all that legacy hardware (I reckon most PCs built the
last 12 years should be able to run it). This would also pave the path to
better HTML standards support with IE 10 and better .NET framework support
(4.5).

In regards to the tools - I reckon if you're going a C#.NET route with
professional+ visual studio with other addons, then I'd say the dev
environment greatly surpasses that from what I've seen on linux (visual studio
pro ~ $400 USD, addons are free and priced - I use resharper, mindscape web
workbench and tangible t4 daily).

You could always go Java route if you don't like the .NET framework.

