WinJS,Win RT,WPF - 需要移动和桌面的msft技术堆栈概述

时间:2013-07-11 10:51:56

标签: c# wpf windows-runtime windows-phone winjs

简介和动机

这些文章WinRT the new Silverlight and WPFWindows and Line of Business Applications: No Good Options正在谈论微软近年来提出的一些新技术,以及其中一些技术处于维护模式而没有进一步改进的事实。 这种过多的新技术使得很难得出概述并决定哪一种最适合。

附录A 下的White Paper: Assessing the Windows 8 Development Platform中,您可以找到此技术比较表:

enter image description here

这张表已经提供了很多信息,但它缺少一些东西。

我的问题

我正在寻找哪些技术在哪个系统下工作的概述。 将硬件()与操作系统(,{{3}相关联的表格},)和相关技术(,{ {3}})。

Operating System                                                | Technology
Win-7  Win-8   Win-8.1   Windows RT  Win-Phone-7.1  Win-Phone-8 |
 ------------------------------------------------------------------------------- 
  x     x       x           ?          ?             ?          | Winforms
  x     x       x           ?          ?             ?          | Wpf
  x     x       x           ?          ?             ?          | Silverlight
  x     x       x           ?          ?             ?          | WinRT
  -     x       ?           ?          ?             ?          | Winjs
  -     -       X           ?          ?             ?          | Winjs-2.0
  ?     ?       ?           ?          ?             ?          | ?Win-Phone-Tech 7?
  ?     ?       ?           ?          ?             ?          | Windows Phone 8 SDK
 ----------------------------------------------------------------------------            
  d     d       d           t          p7            p8         | Hardware

对于我想知道的技术,如果他们允许更多的经典Windows应用程序(许多不同窗口大小的应用程序可自由放置在屏幕上)或平板电脑模式(只有一组窗口位置)

在行硬件中,字母代表以下内容(d =经典桌面操作系统,t = ARM cpus的平板电脑系统,p * =手机操作系统)

更新一些链接

On或Offtopic

根据我对XAML controls comparison between Windows 8 and Windows 8 Phone的理解,我的问题在于software tools commonly used by programmerspractical, answerable problems that are unique to the programming profession

我不理解所有的downvotes,与 Windows Phone Api Reference 相比,我的问题似乎没有太大的不同。

1 个答案:

答案 0 :(得分:1)

嗯,我同意这种类型的问题并不是真的那样,而且,更重要的是,我相信你已经把一些东西放在一个表中,实际上不应该作为不同的项目存在(例如,Win- 8.1将是所有Win-8系统的免费且非常强制性的更新,因此我没有任何理由去讨论什么只适用于Win-8.1而不是Win-8),但无论如何这里可能就是你的样子寻找:

Operating System                                                | Technology
Win-7  Win-8   Win-8.1   Windows RT  Win-Phone-7.1  Win-Phone-8 |
------------------------------------------------------------------------------- 
  x     x       x           -          -             -          | WinForms
  x     x       x           -          -             -          | WPF
  x     x       x           -          -             -          | Silverlight
  -     x       x           x          -             -          | WinRT
  -     x       x           x          -             -          | WinJS
  -     -       x           x          -             -          | WinJS-2.0
  -     -       -           -          x             -          | Windows Phone 7 SDK
  -     -       -           -          -             x          | Windows Phone 8 SDK
----------------------------------------------------------------------------            
  d     d       d           t          p7            p8         | Hardware

如果您正在考虑将MS技术用于桌面,平板电脑和移动硬件的所有未来开发,我建议您忘记 Winforms Silverlight ,因为它们很漂亮MS过去的事情(是的,他们会支持他们一段时间,但是,你知道,不是永远,也不要指望他们有任何新功能)。

对于“经典”桌面应用,当用户能够以经典形式管理应用窗口时,只有 WPF 是合理的方式。

对于桌面和移动应用 - WinRT 是未来。你也提到过WinJS--这实际上不是一种技术,而是WinRT的JavaScript API(与.NET API到WinRT相反)。

所以,作为一个底线:

  1. WPF / C#项目 - 适用于PC上的经典桌面模式(应用程序可在几乎所有主要Windows版本上运行);

  2. Windows应用商店8.1 / C#项目(利用 WinRT ) - 适用于所有 Windows RT 平板电脑和PC上的“城域模式”使用现代Windows 8.x

  3. Windows Phone 8 / C#项目(利用 Windows Phone 8 “tech”) - 适用于现代Windows手机

  4. (可选) Windows Phone 7.5 / C#项目(利用 Windows Phone 7 “tech”) - 适用于旧版Windows手机

  5. (推荐) Portable Class Library 项目 - 为上述所有项目分享常见的c#(甚至是xaml分区)代码库。