我试图了解用于创建Metro风格应用程序的新Windows 8 Runtime .我知道你可以在XAML上使用它,它基于.NET,所以C#和VB.NET可以用来编写应用程序,但它似乎与HTML,CSS,DOM和JavaScript有关.
根据.NET UI程序员可以理解的术语,有人可以用几段解释它是什么吗?(我错过了理解它所必需的"关键".)
我们都知道WPF,Silverlight,Windows Forms等将至少在英特尔系统上继续在Windows 8(和Windows 10)下运行,所以请不要告诉我......
wpf windows-runtime windows-store-apps win-universal-app windows-10
我从未在WinRT中实际构建过应用程序(也不是HelloWorld),而且我非常怀疑.
我的问题是,WPF/Silverlight中是否存在WinRT中不存在的功能(不包括按设计实现的功能不同)?
这些方面对我来说是最重要的,也是我问题的核心,在结果中,决定是开始使用WinRT还是等待它们实现:
DatePicker
等? 我不清楚WinRT是否完全针对.NET或它是如何工作的.
此外,WinRT是仅客户端(如WPF)应用程序还是可以在服务器(如Silverlight)上运行在远程客户端上?
另一个:如果我开发WinRT应用程序,向后兼容性如何,它是否能够在Win XP上运行?
我无论如何都无法理解为什么MVVM没有集成内联,并且像MVC一样具有无缝的IDE支持.但这只是一个侧面说明.我不能在没有MVVM的情况下使用XAML,任何比hello世界更大的应用程序都更容易使用MVVM.
正如我对答案的评论,我确实喜欢WinRT的设计,但在我了解上述特定技术(EF,WCF-RIA +验证,MVVM,SDK和工具包)之前,问题仍然没有解决.显然,我不会开始销售WinRT应用程序或深入研究它,直到我拥有上述技术.
结论,作为他的大部分工作是LOB应用程序的人,经过一番检查后,HTML5 + JS远不是SL的替代品.总而言之,我坚持使用SL并继续向我的客户推荐它.SL占用最少的开发时间,并且没有bug.与C#相比,Javascript是一种容易出错的错误语言,没有模式,也没有坚果.
一旦WinRT完全支持EF + RIA + Prism + Toolkits,我将考虑将我的LOB应用程序用于城域网.
我已经创建了一个Windows应用商店应用程序,可以成功更新其磁贴(实时磁贴).我现在讨厌的事情是,除了通过Windows应用商店或使用其他开发者帐户之外,我似乎无法在任何地方安装此应用程序(请参阅此内容).
由于我希望仅支持具有此功能的台式PC,我可以使用通用.NET 4.5应用程序中的动态磁贴吗?
或者换句话说,有没有办法在Windows应用商店应用以外的应用中使用/控制实时图块?
对我来说这对我来说还是太新了......在网上找到答案并且没有透露任何信息.
出于某种原因,我使用"添加服务引用"向导为wcf服务生成代码时出错.
Custom tool warning: No endpoints compatible with version 1 of windows immersive project were found. C:\work\test_projects\CirMetro\Service References\SvcProxy\Reference.svcmap 1 1 CirMetro
Run Code Online (Sandbox Code Playgroud)
你们知道怎么解决吗?
我的示例WCF服务很简单.这是源代码:
static void Main()
{
UiWcfSession.OnInitialize += ClientInitialize;
var baseAddresses = new Uri("net.tcp://localhost:9000/");
var host = new ServiceHost(typeof(UiWcfSession), baseAddresses);
var reliableSession = new ReliableSessionBindingElement { Ordered = true, InactivityTimeout = new TimeSpan(24, 20, 31, 23) };
var binding =
new CustomBinding(reliableSession, new TcpTransportBindingElement()) { ReceiveTimeout = TimeSpan.MaxValue };
host.AddServiceEndpoint(typeof(IClientFulfillmentPipeService), binding, "svc");
var metadataBehavior = new ServiceMetadataBehavior();
host.Description.Behaviors.Add(metadataBehavior);
var …
Run Code Online (Sandbox Code Playgroud)