An indigenous Windows app programming tool
Most of you guys write web apps or mobile apps.
Most of you guys also own Windows laptops.
If you want to write a native app that runs on your laptop, that's called a windows app.
Windows apps obviously don't run on MacOS, Linux or any mobile platform.
They only run on Windows.
But, worldwide, still, aroung 350 million WIndows PCs ship every year.
So, it's still a huge market but most of the new development is not targeting this market
but the rapidly growing an "in" mobile/web app market.
Unfortunately, despite Microsoft's best efforts,
WIndows programming is still a convoluted mess.
To a large extent this is because they have always maintained backward compatibility,
and continue to do that, even today.
This means the guts of their programming platform are really old.
One way to fix this, is to re-evaluate and greatly simplify the WIMP Ui that we all use everyday.
One step in this direction would be to get rid of Windows and always have only one app running on the whole screen, like a tablet.
Another aspect worth exploring is to analyse the app, particularly its temporal aspects,
and based on that analysis create a much simpler model for the app.
A few students at IIT Kanpur have started exploring this direction.
This could be another idea that we could partly discuss on this forum.
Also, why do you think Microsoft never took WPF forward? That could have worked for tablets pretty well...
They recommend C# which is their Java competitor. They have a platform library called .NET that you can program to using C#.
Other languages are also supported, but they're pushing C#.
Being Microsoft’s language of choice, C# allows you to build applications running on PCs, servers, mobile devices and even wearables.
They've come up with a way to compile the source code to a processor independent intermediate format called ML.
This way, they can easily support any new language by compiling it to ML.
The .NET platform, while object oriented still is based on their legacy non-object oriented guts.
Hence, it's not nearly as clean or conceptually simple as the JDK or any of the web/mobile platforms like RoR.
But, it's functionally complete.
You can build a complete end to end system with a back.end, middleware and any front end of your choice using it.
Their Web Server (IIS) is also integrated into this platform.
It's also quite performant and probably a lot faster than RoR or anything scripting language based,
so if you really want to scale up, its a good way to go. But, it's got a steep learning curve.
I've worked with ASP.NET MVC before, and it was a rather steep learning curve, definitely not as easy as RoR. But the scaffolding that came along with it, along with ORMs like NHibernate and of course, the ease-of-use with Visual Studio made it quite attractive.
So that's an interesting thought you got there, getting rid of Windows and having one app running on the screen. How does this work out, exactly?
ASP.NET is .NET's connection with IIS.
Microsoft's platform is quite a lot broader
than the narrow functionality that RoR targets.
They also have huge teams to develop them
and have been in this business much much longer.
So their tools are mature and pretty refined and bug-free.
There's also a lot of knowledge outside of their own documentation
to help you if you get stuck.
We'd have to figure out how to interface without windows.
But we have proof it can be done (tablets).
Oh, okay - you mean, without windows. Isn't that something that Metro apps on Windows do anyway? Snap on to the screen without windows?
Yes. Metro apps, since they were designed to run on tablets also,
were designed to run this way.
I'm talking about not using windows for the desktop/laptop form factor.
In other words, you have a keyboard and a screen and that's your interface.
We will be posting some initial design ideas soon at: