Wednesday, 25 July 2012

Matthew Baxter-Reynolds' Programming Metro-style Apps Workshop (WINDOWS8-01-01)

Programming Metro-style Apps Workshops are a unique event in the UK designed to help developers get started on the road to building software for Windows 8 and Windows RT. We take you from the point of having done "Hello, world" and the basics and lift you up to the next level where you can start building real retail and line-of-business apps on the platform.


We guarantee by the end of the session you'll have a firm understanding of Metro-style development on Windows 8 and Windows RT.

  • How and why Windows was "reimagined"
  • The fundamentals of moving from .NET
  • Asynchronous programming
  • Sandboxing and protection
  • Unit testing
  • Working with SQLite
  • Sharing, search, notifications
  • Application lifetime and background activities
  • Packaging, private deployment, and store deployment
  • ...and more

Click here to register

Using UDP sockets to connect a Windows 8 Metro style app to a .NET Micro Framework device: Part 3

Using UDP sockets to connect a Windows 8 Metro style app to a .NET Micro Framework device: Part 1
Using UDP sockets to connect a Windows 8 Metro style app to a .NET Micro Framework device: Part 2

In part 3 post, I show how to have bidirectional UDP communication: The Win8 Metro style app will send messages to the Gadgeteer device which responds with ACKs.

About two-way communication

UDP socket communication involves a pair of endpoints. Each endpoint is made up of an IP address and a port. In my example, the addresses and ports are as shown in this graphic:

Using UDP sockets to connect a Windows 8 Metro style app to a .NET Micro Framework device

When the Metro style app sends a message, it picks a port number. In the examples here, the port is 56553. The number itself isn't all that important, and isn't something you'd typically try to control. The destination port, however, is more important - it needs to be known. As long as the originator knows the destination port, you can have two-way communication, as the destination is informed of the originating port and IP with each message.

Read full article here

Office 2013 Preview on a Windows 8 Tablet PC (Video)

Read full article here

How to add a settings menu (Flyout) in a Windows 8 Metro-style app

In Windows 8 development, there are some differences between the Javascript and XAML APIs. Some things are available in JS but not in XAML and vice versa. One example is the SettingsFlyout control. There is no SettingsFlyout control for creating a settings menu item in XAML, although that exists in JS. The de facto solution is to create your own custom page and show/dismiss it according to the settings charm events. As this is something that basically every Metro app (or “Windows 8 style application“) has to include, it’s fortunate that there’s now a bit less tiresome way of doing this.

Callisto control suite

I’m implementing the settings menu by leveraging SettingsFlyout control, available in Callisto control suite. Callisto is a community project led by Tim Heuer. The suite contains awesome controls for Metro style apps written in XAML. Download and install Callisto from here. After you’re finished, you can start playing around with Callisto, and implement the header menu using my sample code below.

Read full article here

Debugging WinRT/XAML bindings

Visual Studio 2012 may not (yet?) support debugging of XAML bindings debugging in WinRT/Metro-style applications in a way we’re used to from programming WPF and Silverlight (a.k.a. XAML breakpoints), but basic notifications of failed bindings in the output window seems to be present and working.

Debugging WinRT/XAML bindings

Let’s look at the basic set up (new blank application).

MainPage.xaml – DataContext is set to the same page class to keep it simple;  TextBlock’s text is bound to a MyBinding property.

Read full article here

Hardware accelerating everything: Windows 8 graphics

With Windows 8 we set out to enable all applications to have the beautiful and high-performance graphics enabled by modern graphics hardware.  This work builds on the well-established foundations of DirectX graphics, which have been providing an increasing breadth of APIs and capabilities. In Windows 7, we expanded the capabilities of DirectX to provide a common hardware-accelerated graphics platform for a broader range of applications. Whereas previously, DirectX mainly provided 3-D graphics, we added functionality for what we call “mainstream” graphics. Mainstream uses center on the typical desktop applications most people find themselves using every day, including web browsers, email, calendars, and productivity applications.  Windows 7 added two new components to DirectX: Direct2D for two-dimensional graphics (shapes, bitmaps, etc.) and DirectWrite for handling text. Both of these additions not only focused on performance but also on delivering high-quality 2-D rendering. With these additions, DirectX became a hardware-accelerated graphics platform for all types of applications. Indeed, we showed what a typical application could achieve by using DirectX when Internet Explorer 9 brought hardware-accelerated graphics to the web.  WinRT bring these capabilities to the full range of new Windows 8 applications.  In this post, authored by Rob Copeland the group program manager on our Graphics team, we look at the details behind the scenes in enabling this new class of graphical application.  --Steven

Read full article here

Microsoft Details Windows 8 Graphics, Showcases Power Gains

With Windows 8 coming on October 26th, Microsoft has been publishing a number of insightful looks at some of the system's underpinnings. It's been pretty fascinating to watch. With prior Windows releases, there really hasn't been too much pre-release outreach with the public. But in a word where social media rules and communication is expected, these "Building Windows 8" columns act to give users of both avid and casual backgrounds an ability to see what's going on behind the scenes.
The latest post involves a dear subject: graphics. It reminds us that Windows 7 added two new components to DirectX: Direct2D for two-dimensional graphics (shapes, bitmaps, etc.) and DirectWrite for handling text, but things are evolving even further in Win8 / WinRT. DirectX became a hardware-accelerated graphics platform for all types of applications, and even Windows RT will be able to take advantage.

Read full article here

Share contract and custom data. Do you need a reference implementation for formats?

Windows 8 style apps can use contracts to interact with each other. For example Share contract allows sharing of various data between totally independent apps. As long as app follows Share target contract it can receive text, HTML, links, files, images and custom data. For source apps sharing data in the standard formats is pretty straight forward – DataPackage class provides corresponding functions SetText(), SetUri(), etc. All what you need is to call function and target app will get the data.

Custom data is a different story.

DataPackage.SetData() accepts two parameters – format id and data object. You can use your own "my-super-data" format id but nobody knows about this format and no one application will be able to receive your shared data. That’s why Microsoft suggests using for data sharing formats defined by (e.g. – by doing this you can be sure that at least some of apps will know about your package format

Read full article here

Page Navigation in Windows 8 JavaScript Apps

I’d like to talk a bit about navigating in Metro apps using HTML/JavaScript. There are a few options for doing so, and as you probably know whenever there’s more than one way to do things, then you the developer have power but not necessarily clarity.  The latter is what I hope to offer here.

First of all, the HTML/JavaScript that Metro apps are based on are identical to the HTML/JavaScript that websites are based on. It is entirely based on the standards. This is good because proprietary things are bad - generally speaking. This means that you can navigate exactly like you do in websites, but don’t. I’ll explain why not.

Page Navigation in Windows 8 JavaScript Apps

Read full article here
Web Informer Button