I have been thinking and discussing with some folks about platforms. Currently there are two approaches to building a platform. The first is building the runtime environment. The quintessential example is Windows OS. If you build desktop apps you use tools specifically designed for building applications on the Windows OS like Visual Basic, PowerBuilder and C++ with MFC. With the rise of the web and no browser monopoly, developers had to deal with fragmentation of the platform. The developer tools and frameworks began to become the platform. Essentially the tools hid the OS or Browser from the developer. Developers just needed to learn the framework and then deploy where the app would run. The two biggest runtime platforms today are Java and .NET. Java’s write once run everywhere captured developers attention. While Java failed on the GUI front I believe it was an implementation issue not a problem with the paradigm.
As iOS market share erodes and Android continues to fragment, developers need to tackle this problem of write once run everywhere head on. Which brings us back to the question of building a platform. The difference is that you the developer must pick what constitutes the platform. What I mean by platform is you the developer chose the OS or your tools as the platform. Neither choices is better than the other. Rather the choice defines how you develop your app and constraints that might be imposed by your choice.
During the //build/ Day 2 keynote, Scott Guthrie announced a new release of MVC. MVC 4 is a developer preview meaning "danger, Will Robinson, danger". However it is definitely worth a look as it makes building mobile web applications easier. It is also what I have been waiting for to get moving on Web LOB Accelerator. Read on for how to build a multi-device site using MVC 4.
One of the things I have always wanted to do was write the Mobile LOB Accelerator as multi-device application. One of the things that has held me back is the lack of ADO.NET in Silverlight. Yes I know I can use a lot of database implementations for Silverlight. The problem is that I have yet to find a way to spoof in ADO.NET. I would like a class library that device specific UI then consumes. Ah but how about a web site with device specific UI. This is very doable.
One of the most asked features of .NET 4 is the ability to install on Server Core OSs. I am pleased to let you know that you can now do this with a caveat. You must be running Windows Server 2008 R2 SP1. So you must upgrade your server to SP1 before installing .NET Framework 4 Server Core Profile.
One other thing to note you must also turn on .NET 2.0 support as well as WOW support. While we are installing the Full Framework be aware that not everything will function on Server Core for example WPF and ClickOnce do not work on Server Core.
WebMatrix Beta 3is now available. WebMatrix is a lightweight development environment to enable Razor development, a new syntax for .NET web pages. Lightweight does not mean less features. It is very full featured and cool.
People who have read my blog probably knew this was coming. I assisted Rob Tiffany in writing the second version of his Windows Mobile Line of Business Solution Accelerator. So it is only natural that I try and port it to MonoTouch.
Yes you read that right. This entry will show you the basics of building a Mac application in .NET. How can this be .NET is a Microsoft Windows technology? Enter Mono. And no I don't mean the disease. I mean the Mono Project a Novell project that has ported .NET to Linux and other platforms including Mac OS X. What follows is a step by step guide to using .NET and no PCs were killed in the writing of this blog entry.