Got back from Build conference. Since I expect many people will ask me "So, what’s new?" and since the answer is rather complex, I figured I should try to write a post about it, so here goes…
- Windows 7 sold (i.e. legal copies) over 450,000,000 copies since it was released.
- Windows 7 bypassed Windows XP in world usage.
- Windows 8 will be used primary for tablets and other touch-based devices.
- Windows 8 can run on Intel-based processors or ARM-based processors.
- Windows 8 consumes fewer resources than Windows 7 and has the same hardware requirements.
- Windows 8 has a new user interface, used primarily with touch screens but supports fallback to mouse and keyboard, applications that uses the new user interface are called "Metro-style applications".
- All participants of the Build conference received a Samsung tablet with a preview release of Windows 8, that has the following spec:
- Intel Core i5
- 4GB DDR3
- 64GB SSD
- 11.6" diagonal, 1366×768 display
- Included dock and USB keyboard
- Windows 8 Developer Preview version can be downloaded here.
Windows 8 for Developers
- There is a new way to expose Windows API named Windows Runtime or WinRT.
- WinRT is completely native and is built above COM with the addition of inheritance, generics, delegates and more. Basically WinRT = Modern COM.
- WinRT doesn’t cover all previous Win32 APIs.
- WinRT API follow a guideline that says that every API which might take more than 50ms should be async. As a result a lot of WinRT APIs are async.
- WinRT includes a native UI framework, XAML-based, for building Metro-style applications.
- The XAML of the new WinRT UI framework resembles Silverlight XAML rather than WPF XAML.
- Metro-style applications can be built in the following technologies:
- C++ and XAML
- C# and XAML
- VB.NET and XAML
- A Metro-style application can collaborate with another Metro-style application without knowing him at all using several contracts that Windows 8 defines, e.g. share source contract and share target contract.
- Metro-style applications should define the capabilities they use, similar to Windows Phone applications. At runtime these declarations are enforced.
- C++ has new extensions that allows easy integration with WinRT, these extensions follow a syntax similar to C++/CLI, only they are completely native.
- The next version of .NET Framework is 4.5, nothing too exciting there.
- There is a preview version Visual Studio 11 and Expression Blend 5.
- New in Visual Studio 11:
- Added new project templates for developing Metro-style applications in all the supported languages.
- Productivity Power Tools incorporated into Visual Studio 11.
- New features for agile development including: Sprint Planning, Managing Task Board, Performing Code Reviews.
- XAML properties editor is the same as the corresponding Blend editor.
- Deploy to the new Windows App Store directly from Visual Studio 11.
- Added tools for viewing and basic editing 3D models, images, textures and also for debugging DirectX based output.
- Added feature that allows searching for code duplication based on semantic tree instead of simple text search.
- New in Expression Blend 5:
- Designing Metro-style HTML / CSS applications.
- TFS will be available as a service on the cloud.
Some General Insights:
- C++ is very much alive! I’ve been to an excellent lecture on modern C++ (the portable one, not MS specific), by Herb Sutter. Wow. So many C++ developers, the room was packed!
- Future of Silverlight is not clear. There will be version 5 but there’s no information about what’s next.
Since all the videos are now available on the conference site, I strongly suggest you see the ones that are interesting for you. Note that there quite a lot.
That’s it for now,