Microsoft Build conference day 1, Fast and Fluid it is
*Moved to: http://fluentbytes.com/microsoft-build-conference-day-1-fast-and-fluid-it-is/
Today was an impressive day I can say. Microsoft did a great job in getting the whole developer community exited with this event where we knew nothing what will be happening before it started. We only got a date and a slogan telling us that Windows 8 will change everything. This build up to the event was a risky choice, and I can tell I have visited some bothered customers who already thought the technology they invested in would become a dead end.
Follow my new blog on http://fluentbytes.com
The past few weeks we have seen many developers declare Silverlight and WPF as dead technologies. All would be HTML5 and Java Script from now on, since they only took a few words out of a first windows 8 preview session at All things Digital.
So finally this morning was the moment of truth where we could hear if all will change and if from now on all developers only build applications using HTML5 and JavaScript. I was always convinced Microsoft would never make such a radical change. After all we still can run VB6 applications on a windows machine, so why would MS drop their best technology they have for building great User interfaces over HTML5 and JavaScript?
As you can see from the picture below the crowd this morning was immense. around 5000 people wanted to get the best seats available in the arena at the conference to hear what the Microsoft Execs would be talking about.
After standing in line for 30 minutes or so, we finally could make our entry into the arena and submerse ourselves into the right feeling of the conference. With some loud music and teasing statements on the big screens.
Then we finally got started and we got a small recap on what we have learned from the previous demo’s on windows 8. Next they showed us what they call the windows metro style applications also known as immersive applications. These applications use the new Metro design language as the way to design the application itself and use as less chrome you possibly can. Microsoft had a team of interns working on the demo applications and the team of students that worked on the application where there and loudly applauded by the audience. Then finally we got the details on how we could build these immersive applications and what it would mean to us developers from now on.
the most defining PowerPoint sheet today was the one below. Why you might ask yourselves. Well that has to do with the fact that this one slide shows the most important part of the developer story. The way we think of our applications today, is an application that is either .NET (Silverlight, C#, VB, Etc) an web application that uses HTML and JavaScript or an “native” C++ application using the win32 API directly.The next generation of applications that we can build on top of windows will now be based on a new App Model, where we have the same notion of a runtime as we have always had in the .NET environment. The difference with the appmodel is that it has became a part of the windows kernel and on top of it we get a whole set of libraries that enable us with a ton of stuff we could not do easily before, like sharing data between applications beyond the clip board functionality. This whole set of functionality they now call the WinRT API’s and they deliver us an object oriented API from our language of choice. We can use C++, C, C#, VB, and JavaScript to do the exact same thing and that is writing the immersive application. When we choose C++, C, C# or VB we can use the most powerful GUI editing experience around that is called XAML. If we choose the option to use JavaScript, then we can use HTML5 to provide us the GUI we want.
So this all should be a great relive to all the speculating developers who thought they would declare Silverlight, wpf dead. In the contrary, you can see that when you invested in that area in the past, you can now leverage all your skills on XAML based UI design and create immersive apps very easily. They even showed us at the keynote that with a few lines of code changes, a silverlight application can now be recompiled against WinRT and run in the new environment. Does that make it an application that would qualify as an Metro style app, probably not, but you do can take your codebase forward and if you want start developing in this new design style.
So one of the things I am still not certain about, is why Microsoft choose to add HTML5 and JavaScript to the toolset you can use to build immersive apps. Because when you choose to build an immersive app using HTML5, you do it with plain Standard HTML and JavaScript, but you must include a whole bunch of JavaScript libraries that open up the WinRT runtime API for you as Java functions you can call. So your app wil run only on windows and not cross different browsers on different machines. The only reason I can think of why this makes sense is that Microsoft wants to enable an additional set of developers to build windows applications. If you take a look at the number of .NET developers in the developer community, we might have a few million developers. But when we look for developers that know and use HTML and JavaScript we might have a tenfold of people that master those skills. So opening up the WinRT API to JavaScript developers and using HTML as the UI runtime makes sense if you want to attract a great new group of developers that until today only developed for the web.
So is HTML5 and JavaScript the way to go? I think it really depends on the app you are going to build and the skills you can bring to the table. I think for this new group of developers, this will appeal allot, being able to not only build great web applications, but also build native windows applications that you can sell using the windows marker place. For us developing large enterprise systems, I tend to think that XAML based apps with C# is the way to go. It is the most productive programming environment and with the XAML engine as the power GUI engine to build these great apps, I think that is the winner of choice especially for the larger enterprise based applications.
So will those applications all be metro style in the future? Well I do think we should take a serious amount of time to rethink the way we build applications. If you are still building applications that only use menus and Grids, I think you seriously need to take a look at the possibilities at hand with this new User Experience model around fast and Fluid immersive apps.
We will have to dive way deeper the next few days to grasp the Nitti gritty details of all we have seen today. I really want to get my head around this new windows RT runtime environment and how that compares against the .NET runtime we came so used to.
I took a picture of the first info we got on this new app execution environment, but it was not enough for me to distinguish it from what we have used in the past and how that might affect me as a programmer in the application types I can build.
A few things I noticed and I want to get more information on tomorrow, is the missing piece in the WinRT library that has to do with data access. Perhaps they want to see a model where all data is only accessed thorough a service layer that does the data access, but I am not sure about that yet. I also want to see how the tools will help us better deliver these new types of applications.
So time for bed and recharge my battery for tomorrow!
cheers,
Marcel