Best Practices for Transitioning from ASP.NET to Windows 8 Development
Windows 8 is gaining traction in the marketplace and is forcing developers to adapt and evolve. Along with the adoption of new technology come lessons and steep learning curves.
Here, we seek to provide insight into best practices and issues to be aware of when making the shift to Windows 8. When developing Windows Store apps, language options include HTML5/CSS3, DirectX/C++ and XAML/C#. If you are a .NET Web Forms developer, the XAML/C# option usually makes the most sense, so that will be our focus. Let’s get started.
We’d like to preface this article by noting that the best coding practices stay the same regardless of what you’re developing for. Strategies such as including a separation of data layer, business layer and UI are just as important in Windows 8 as they are in an ASP.NET framework. Such strategies should be kept in mind throughout the course of this article.
As a general rule, it’s important to briefly research what features your application requires and how you can achieve these functionalities. This will add significant value to the development process.
Microsoft also has a great (and elaborate) guidelines page that you should definitely review to make things easy during and after development. Another good resource is from MSDN Magazine about the Model-View-ViewModel (MVVM) pattern in Windows 8.
The following key changes during the development lifecycle are worth noting.
- UX Change Implications: Let’s discuss controlled versus evolving environments. In the controlled Windows 8 environment, gone are the days of Chrome tools, varying interpretations of styles across browsers and contained style resources. Simply put, Windows 8 requires you to backtrack.
One could argue this provides a much more reliable programming environment. Windows 8 uses style patterns, single-style approaches and layouts that resemble HTML table-based layouts from the early days of the Web. This requires you to think more like a designer than ever before. Microsoft’s emphasis on "fast and fluid" design is relevant in every piece of an application’s lifecycle, not just the design phase. You must understand how the presentation layer works and have a good handle on XAML. This requires learning the new application lifestyle and incorporating it into your development.