我们已经开始研究通过我们/客户的域名商店创建推送到Surfaces的LOB W8商店应用的可能性。我们有一个用.Net编写的WinForms和WPF应用程序组合,并考虑将其中一些迁移到Surface,因为客户的偏好。 现在我陷入了两难境地:我已经对Windows 8中的开发技术进行了研究,从我的阅读和尝试来看,利用W8 Store开发技术的最佳方式是使用这种组合:
事实是(或恕我直言),在创建触发器,效果,动画和UI时,与轻量级HTML / CSS / JQuery相比,XAML严重膨胀,我们没有那么多开发人员创建UI的时间。 另一方面,JS(恕我直言,再次)无法用于域/模型应用程序,因为代码必须被重写(没时间),尽管JS中引入了语言和类型检查,我认为语言是几乎不能用于我们的领域/模型要求和学习曲线。
根据我的想法,是否有可能在.Net / C#中编写HTML / CSS / JQuery / JS和域/模型部分的UI部分?这样我们就有了一堆HTML,JS和,让我们说ViewModels绑定到,以及用C#编写的域DLL? 我的意思是使用它类似于在C ++ .Net中创建一个解决方案并添加几个C#和VB.Net项目/ dll引用并引用其中的类?
我读到,如何实现这一点(因为JS应用程序是原生AFAIK),唯一的方法是使用Interops和COM,而且,我担心这对我们的软件来说是不可能的。
谢谢你们。
答案 0 :(得分:2)
Windows Runtime Component应该在这里启用你想要的东西,并提供与JS前端的无缝集成(阅读:没有凌乱的互操作/ COM让你担心)。您在C#中编写的Windows运行时组件可以使用Windows应用商店允许的任何.NET功能(因此您不会丢失任何功能);但是,从Windows运行时组件公开的内容只能使用Windows运行时类型的参数和返回值,这些都是您可能期望的。
查看Walkthrough on the Dev Center和Creating Windows Runtime Components in C# and Visual Basic了解详情。