Universal Windows Apps, WinJS and TypedMVVM: samples updated to target Windows Phone and Windows Store apps

I’ve just returned from the Build 2014 conference in San Francisco where I had the opportunity to attend several interesting sessions about new developments in the Microsoft space.

One of the “big news” has been the introduction of the concept of “Universal Windows Apps“, a great way to share code between different platforms including (but not limited to) Windows Phone, Windows Store and Xbox One apps.

I decided to test this new feature on TypedMVVM, one of my “pet projects” which I made available on CodePlex some time ago. The project was originally using a simple MVVM infrastructure targeting Windows Store apps using WinJS and TypeScript so it was an ideal candidate for adding a Windows Phone 8.1 target reusing all the existing code.

The migration to Universal Apps was really straightforward: I was able to have the samples up and running in my emulator and devices while waiting at the airport in San Francisco.

TypedMVVMWindowsPhoneSample

TypedMVVMWindows81Sample

I’ve uploaded all the source code on Codeplex here, feel free to grab and give it a try.

Happy universal coding everyone! :)

Experiments with TypeScript, MVVM and Windows Store apps – TypedMVVM available on CodePlex

Have you already tried TypeScript?

TypeScript is an Open-Source language designed by Anders Hejlsberg (the creator of C#, Delphi and Turbo Pascal) for extending JavaScript with additional features available in languages like C#: classes, static typing, interfaces, generics, and modularization (just to name a few).

The language is a typed superset of JavaScript: the compiler generates plain JavaScript that can be executed on every platform where JavaScript is supported (as reported on the main site: “Any Platform, Any host, Any OS”). The following links are a great starting point for understanding and learning it:

There’s been a lot of buzz about it in the last period and, while playing with this new language, I have created a new project on CodePlex – TypedMVVM – for experimenting how TypeScript could be used in a real world scenario by applying separation of concerns via the MVVM pattern in a simple Windows Store navigation app developed with WinJS.

Starting from the default Visual Studio Windows Store app Navigation template for JavaScript, I have converted all the .js source files to TypeScript (mainly renaming their extension to .ts) and then changed / added the following folder structure and classes / interfaces implementations:

  • designData – services implementation for design-time data in order to enable “Blendability”;
  • interfaces – interfaces for Services, ViewModels and ViewModelFactory;
  • libs – TypeScript definitions and TypedMVVM core classes (in particular RelayCommand<T> and ViewModelBase);
  • services – concrete services implementations used by the ViewModels;
  • viewModels - concrete ViewModels implementations;
  • views – views definitions.

The first impression is very positive: static typing is a must-have for writing complex apps and enabling features like refactoring or intellisense. Language features like interfaces, classes, generics and lambda expressions permit the developer to write code more readable, maintainable and extensible.

I’m planning to add more features and helper classes to this sample in the future whilst waiting for the final release of TypeScript so stay tuned!

The complete source code is available for download here: http://typedmvvm.codeplex.com

Happy Coding!

NDepend v5.0 available

I’ve just received my copy of NDepend v5.0: this new version adds several great features to the product including

  • Support for Visual Studio 2013 (yeah!)
  • New Dashboard Panel
  • Focusing on Recent Rules violation
  • UI Enhancements
  • Trend Monitoring
  • Churning Rules and Queries
  • Report Enhancements

Click here to read a detailed description of the new capabilities and access the download links (14 days trial available).

Happy coding!

Windows 8 Line of Business (LOB) Guidance – Prism on .NET 4.5 and the road to Windows Store apps

Just a quick post to highlight an interesting article by Blaine Wastell about a new project (codename “Kona“)  that will provide guidance on developing line of business (LOB) apps for Windows 8.

Check out this link for the details of this interesting project!

Callisto library for Windows 8 XAML applications on GitHub

Great days and lot of new tools for Metro XAML developers on Windows 8.

Callisto is a new library of controls and helpers (including SQLite support) for Windows 8 XAML applications (aka Metro style apps) developed by Tim Heuer (@timheuer) and Morten Nielsen (@dotmorten).

Click here to access the project and download the new bits!

Enjoy :)

WinRT XAML Toolkit available on CodePlex

The “Windows Runtime (WinRT) XAML Toolkit” is a new resource containing a set of controls and helpers for building Windows 8 Store applications.

Click here to read the details and access the download link on CodePlex.

New to Windows 8 development? Mark your calendars: the new book “Programming Windows, Sixth edition” by Charles Petzold is coming soon!

Happy XAMLing everyone :)

The XAML Project is live!

A new project has been recently announced in the “Silverlight Experts” group on Linkedin by fellow group-member Laith Alasad:

The XAML Project contains “Free vector design resources for XAML-based technologies such as Silverlight, Metro, WP7, and WPF. Search and download pure XAML graphics for your web, desktop, and/or mobile applications.

It’s a very useful resource, I’ve already inserted it in my favorites!

Happy XAMLing everyone ;)

The XAML platform is here! Download Windows 8 Developer preview

During the //Build conference in Anaheim the release of Windows 8 Developer preview has been announced: you can download it from this link.

To get started an impressive number of video tutorials is available in the official site of the conference: http://www.buildwindows.com/.

Check out also this great post by Michael for downloading all the Build videos in your pc.

Useful resources are available in the SDK: all the XAML Metro style app samples are available following this link.

It’s possible to install Windows 8 side by side with your operating system using a boot from VHD: I’ve followed the instructions described here by Mister Goodcat and all went smoothly.

The new platform and tools are well described in this “Big Picture” showed during the conference:
Laurent Bugnion, Rene Schulte and Doug Seven have great insights into the new platform and tools here, here and here.

Also available for download:

For those like me (also) interested in WPF, a list of the new features is available here.

I’m pretty excited about all these news and I’m looking forward to all the great applications that will be built using XAML, Windows 8, Silverlight, WPF and Windows Phone!

Happy XAMLing!