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.
My blog is read around the world but I do not localize my blog. Well until now. At the bottom of the page I have put the Microsoft Translation widget. This will do machine translation at a minimum. You can also enable collaborative translation as well. Enjoy!
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.