对于Windows应用程序,技术也变得很快。多年来,Windows Forms技术包装了本地Windows控件,来创建桌面应用程序。之后出现了Windows Presentation Foundation(WPF),在其中用户界面使用Extensible Application Markup Language(XAML)定义。Silverlight为在浏览器中运行的,基于XAML的应用程序提供了一个轻量级 的框架。Windows Store应用程序随着Windows 8而出现,在Windows 8.1中改为通用Windows应用程序,运行在个人电脑和Windows Phone上。在Windows 8.1和Visual Studio 2013中,创建了三个带有共享代码的项目,同事支持个人电脑和手机。接着又变成Visual Studio 2015、Windows 10、通用Windows平台(UWP)。一个项目可以支持个人电脑、手机、Xbox One、Windows IoT、带有Surface Hub的大屏幕,甚至Microsoft的HoloLens。
一个支持所有Windows 10平台的项目可能不满足需求。可以编写一个仅支持Windows 10的程序吗?一些客户可能仍在运行Windows 7。在这种情况下,应使用WPF,但它不支持手机和其他Windows 10设备,如HoloLens和Xbox。如何支持Android和iOS呢?在这里,可以使用Xamarin创建C#和.NET代码,但它是不同的。
目标应该是重用尽可能多的代码,支持所需的平台,很容易从一种技术切换到另一种。这些目标(在许多组织中,管理和开发部门加入DevOps,会很快给用户带来新的功能,修复缺陷)要求自动化测试。单元测试是必须的,应用程序体系结果需要支持他。
有了基于XAML的应用程序,Model-Vie