Presenting the Windows 8 XAML controls in DXTREME

ctodx
09 October 2012

It’s a funny old world. It seems only like yesterday we had a WinForms suite of controls and an ASP.NET suite of controls for .NET and that was about it. (My first commercial use of DevExpress controls was led by the old original version 1 ASPxGrid mumblety-mumble years ago, when men were men, women were women, and developers hand-crafted data access layers before lunch.) I then joined DevExpress and it seems we suddenly had a veritable Big Bang of controls and platforms (not all my doing by any means!).

There was WPF and Silverlight – quickly realizing how much they had in common, so we did some refactorings and created a common XAML library –  and of course ASP.NET MVC.

We’ve now entered another phase of platforms, a secondary Big Bang if you like: the mobile platforms, led of course by iOS and Android, with Windows 8 and Windows Phone 8 playing catch-up. Way back in November 2010, I wrote a blog post about silos and about how it made sense to me to target the browser for these mobile devices rather than locking ourselves into writing controls for a particular operating system. Fast forward almost two years and we announced DXTREME, a multichannel, multi-platform suite that provides an innovative solution to developers being asked to create applications that span a multitude of devices and platforms, from Windows 8 tablets to the iPad and to smartphones like the iPhone and Android devices. It’s in preview mode at the moment, with a publish date of December 3.

We’ve been talking an awful lot about the HTML5/CSS3/JavaScript aspects of DXTREME (the ability, if you like, to expand beyond the silo of a single OS), but there’s another important part: the WinRT XAML support. Yes, I’ll agree this is a silo, but this particular silo makes a lot of sense. Go back a moment: remember we did a ton of refactoring work to produce a common XAML library for WPF and Silverlight? Well it turns out that, with very little work, we can make this a common library for a set of WinRT XAML controls as well.

And that is what we have done in DXTREME. Let me cover what we have.

Free Download

First important thing to realize is that we’ve provided the DXTREME Preview for everyone. You can download the free trial here. You will be presented with a registration page:

DXTREME Trial Download page

On this page you’ll enter your DevExpress site credentials, soon after which you'll get an e-mail with a link for downloading your trial copy of DXTREME. (If you have any questions on this stage, write to eval@devexpress.com and we'll be happy to help you.)

Once you have downloaded the DXTREME-ENTERPRISE-(Preview)-12.2.0.zip file, you'll note that it comprises two setup programs:

  • DXTREME ENTERPRISE (Preview)-12.2.0.exe – this installs the DXTREME HTML5 support, and
  • Windows 8 XAML (Preview)-12.2.0.exe – this installs the DXTREME Windows 8 XAML controls

    Note: In order to install the Windows 8 controls, you must be running Visual Studio 2012 on Windows 8. WinRT applications can only be created on Windows 8 using Visual Studio 2012.

    What's included?

    And now the meat of the preview and this post. The DXTREME Windows 8 XAML suite includes a set of user interface (UI) controls and an MVVM framework.

    Data Visualization Controls

    Given the primary role Windows 8 is going to take with tablets, it makes sense to talk about data visualization first; possibly the more important set of controls for such mobile devices.

    WinRT Data Visualization Controls (charts, guages, maps)Chart Controls

    We have re-designed our chart controls to take full advantage of the Windows 8 XAML platform. The new controls support 18 chart types and use Direct2D for blazing fast drawing.

    Gauge Controls

    Whether you need to build a digital dashboard or animate your application's Live Tile with a circular indicator - we have the gauge controls for you. Written natively for Windows 8, they support touch, animation and interactivity.

    Map Control

    The DevExpress Map Control can deliver either raster maps from Microsoft Bing Maps and OpenStreetMap services, or vector maps in Shapefile and KML formats.

    Grid and Data Editor Controls

    And now for the basic controls for creating business applications.

    WinRT grid and editor controlsData Grid Control

    Although not part of the preview, we are in the process of building a very fast and lightweight grid control – after all we are well known for our grids. The initial release will provide the essential data shaping and analysis features (sorting, totals, etc), together with an intuitive and smooth touch-enabled UI.

    Data Editors Library

    In developing our Editors library, our primary focus was usability in data entry. Validation support also plays an important role here too. We are delivering full support for numeric, date-time and regular expression masks. In addition to the standard keyboard entry, we are also leveraging touch capabilities by including editors like Date Picker which allows you to easily select dates using a touch-enabled UI.

    Application Layout

    Without a doubt one of the more important aspects of a tablet experience is a good, open, visually relaxing layout that helps get the user’s work done.

    WinRT Layout ControlsApplication-Level Layout and Navigation

    For DXTREME we are building a set of controls allowing you to manage application layout and navigation at a higher level. You can easily specify what kinds of pages are to be displayed and how users navigate them. In addition to building your application's navigation structure, our controls automatically preserve application state when the application is suspended and restored, fully integrate with our own MVVM Framework, and much more.

    Page-Level Layout Management

    This lower-level layout control helps you  easily create data entry forms of any complexity. The control automatically arranges controls per Windows UI Guidelines and makes sure that proper adjustments are applied when changing your device orientation.

    DevExpress MVVM Framework

    In addition to the controls library in DXTREME I just described, we will also ship a new MVVM framework that helps you build typical business applications much faster. In order to be accepted by the Windows 8 Store, applications have a very standard UI. We have therefore implemented all of the frequently needed Windows 8 features in our framework in order that you can focus on your business requirements. The framework natively integrates with our controls, such as the Layout Management controls mentioned above, so that your application can automatically respond to application state changes.

    And for the more advanced developer, the DevExpress MVVM Framework for WinRT will include a number of essential features, from Value Converters and an ICommand implementation to a standard means of application navigation using keyboard, mouse, and touch.

    Getting Started

    Of course, all this would be for naught if we didn’t provide some help in getting you started in writing Windows 8 XAML applications. Firstly we have some preliminary documentation online. In this help documentation, you can find several topics that will assist you in trying out our controls as well as the description of the APIs for those controls. Code samples to further assist you are being added regularly.

    Since the vast majority of our customers will be using Visual Studio to develop WinRT applications, we’ve added some templates to smooth the way. The first couple are project-level File|New templates that help you in getting started with a new Windows 8 application:

    Visual Studio 12 Integration project templates

    The two are:

    • DXTREME Blank App, which creates an app with an empty DevExpress page. This template is built on top of our MVVM application framework and radically reduces the amount of code behind in your application.
    • DXTREME Grid App, which provides Windows UI Style navigation for a two-level object hierarchy. A hub page, section page and detail page are generated. This template natively supports MVVM and is built on top of our application framework.

    Then we have four new page-level templates to assist you in solving common tasks:

    Visual Studio 12 Integration page templates

    The four are:

    • DXTREME Blank Page, which creates an empty DevExpress page with the use of our MVVM application framework;
    • DXTREME Login Page, which creates a typical login page;
    • DXTREME Horizontal Tabbed View and DXTREME Vertical Tabbed View, which create pages with tabs for different layout views and which automatically support layout management (for example, Filled, Snapped, etc.).

    Summary

    With the DXTREME Preview, we’ve shown what we’re working on in the mobile space well before we launch. It’s all about a multiplatform, multi-channel experience, and a large part of that is our controls for Windows 8. We’ve made a solid start and you can expect rapid additions to the DXTREME package throughout 2013. Until then, download the Preview and try things out. Let’s see what develops.

  • Free DevExpress Products – Get Your Copy Today

    The following free DevExpress product offers remain available. Should you have any questions about the free offers below, please submit a ticket via the DevExpress Support Center at your convenience. We’ll be happy to follow-up.
    Geert Depickere
    Geert Depickere

    About the similarity between the XAML based products (Silverlight, WPF and the new Win8 controls):

    - Does this mean we will be able to re-use a large part of our UI code accross these platforms

    - Will the MVVM library also be supported on both WinRT and .NET?

    10 October 2012
    Mark Bissett 2
    Mark Bissett 2

    "how it made sense to me to target the browser for these mobile devices rather than locking ourselves into writing controls for a particular operating system"...

    So what happens when the user has no signal on their mobile phone? For example, they are in the middle of entering data. Do you have a solution for this scenario like some sort of off line storage mode - if not then this is totally useless to me!

    11 October 2012
    Brendon Muck [DevExpress MVP]
    Brendon Muck [DevExpress MVP]

    HTML5 offers a local storage mechanism. You could detect if a signal is preset, and use either web or local storage based on the result.

    www.w3schools.com/.../html5_webstorage.asp

    11 October 2012
    Mark Bissett 2
    Mark Bissett 2

    Thanks for the heads up Brendon.

    12 October 2012
    Bassam Abdelaal
    Bassam Abdelaal

    Im confused about DXTREME , can you kindly answer my questions :

    1. DXTREME is a browser solution controls that can run on multiple platforms from Apple/Google/Win8 , they are *NOT* native controls , is this correct ?

    2. So Win8 XAML controls are not native but they are HTML5/CSS/JS controls that talks with WinRT library is this correct ?

    3. The gift of giving away DXTREME 13.1 with next 12.2 means this library will not be included in the Enterprise version of DXPerience like other libraries there (WinForms, WPF,SL,ASP.NET) and it will have its own subscription announced later , but you just give us the first version free , is this correct ?

    4. the applications developed with Win8 XAML controls an also run or be migrated into iOS iPad or Android because they are not native controls , is this correct ?

    Thanks

    28 October 2012

    Please login or register to post comments.