我不明白这张照片。 在Metro风格的Apps中,C / C ++是什么意思? 本机C / C ++? 或者它是托pipeC ++? 他们(Metro风格的应用程序)甚至没有Win32层!
为了使一个兼容Metro风格和桌面的应用程序,我们应该只使用.NET代码? 旧的本地应用程序可以在Windows8平板电脑上运行?
在我的WPF项目安装程序中,如何捆绑.NET3.5安装程序?
托pipeC ++方法命名
TCP / IP套接字端口侦听
如何根据托pipe代码在桌面和移动应用程序之间交换数据
重复(每日,每周,每月)的任务使用什么? 工作stream,Windows服务,别的?
如果某个进程需要分配多于2 GB的内存,将会发生什么情况?
如何为UDP数据包发送者启用自定义IP地址?
有没有办法检索设备的DPI而不使用GDI + / WinForms“graphics”类?
File.copy()到同一台机器上的networking共享是否通过networking复制文件?
我的C#Windows应用程序如何在不进行轮询的情况下收到networking状态变化的通知?
包括使用C / C ++ / Win32编写的非托管本机应用程序和.NET托管应用程序的旧应用程序将在Windows 8平板电脑上运行。 当然,如果平板电脑运行ARM处理器, 那么它只会支持新的Metro风格的应用程序(以及专门针对ARM的应用程序)。
在图片中,C / C ++是指位于WinRT API上的非托管本机应用程序,也是非托管本机应用程序。 对于那些想要使用C#或VB.NET的人来说,将会与.NET进行无缝集成。
在最后一个问题上,你不能创建一个兼容Metro风格和桌面的应用程序……它们是相互排斥的 – 你必须做出选择。
WinRT是本地代码,而C / C ++是本地代码,尽管它们与WinRT一起使用时的语法看起来像C ++ / CLI。 从我听到的来看,它好像是一个为C ++而不是C设计的API,所以它非常面向对象,人们似乎更兴奋。
C#将使用COM Interop的常用方式来使用WinRT。
引用Andy Rich(MSFT)的话来说:
核心WinRT不受管理 – 它是本机和基于COM的。 我们的语言在高级语法中提供了一个完全本地的投影,但是你并没有被绑定到这个语法 – 你将能够使用低层的COM或者WRL来定位Windows运行时(类似于ATL的模板库)以及。 (C#/ VB投影是一个不同的故事,它们生成运行时可调用的封装器对象,它们在.NET和WinRT之间进行编组。
Metro应用程序中的C ++是本机C ++。 建议您使用新的语言扩展 ,它看起来很像C ++ / CLI,并提供类似的高级体验 – 例如不需要手动处理引用计数对象和字符串,也不需要实现和调用QueryInterface – 但是纯本地代码。 不过,你不必那样做。
无论如何,对于你自己的类,你可以用vanilla C ++来定义它们,并将它们编译成一个库。 这样,你就可以在你的应用程序的桌面版本(使用MFC,Win32,Qt或者其他)实现的UI和Metro版本(使用WinRT API实现的UI)之间共享你的逻辑。 同样,对于.NET应用程序,您可以将逻辑分离为桌面和Metro之间重用的类库。
没有办法编写一个单一的应用程序,将运行在相同的用户界面层,无论是在C + +或.NET。 另一方面,如果您避免使用WinRT API并坚持HTML5标准,那么您可以在某种程度上用HTML / JS进行近似,然后您可以通过在浏览器中托管它来制作“桌面版本”。
我是一个专业的软件开发人员,虽然我主要编写基于企业网络的应用程序,但是我已经使用了Visual Studio 2012和Windows 8了。以下是我发现的内容:
由于Metro现在是一个过时的术语,因此我将使用术语“平板电脑应用程序”来指代全屏应用程序,而“桌面应用程序”指的是在Windows桌面上运行的程序。
我不明白这张照片。 在Metro风格的Apps中,C / C ++是什么意思? 本机C / C ++? 或者它是托管C ++? 他们(Metro风格的应用程序)甚至没有Win32层!
所有平板电脑应用都使用托管代码 这是因为WinRT操作系统不能运行x86或AM64指令。 虽然这两个版本都可以运行.Net代码。 所以所有WinRT应用程序都必须使用托管代码,使用XAML UI,并且只能通过Windows应用商店进行分发。
为了使一个兼容Metro风格和桌面的应用程序,我们应该只使用.NET代码?
是。 这是完全正确的。 您必须使用.Net代码。 旧的本机应用程序无法在Windows 8平板电脑上运行。 如果你像大多数Windows操作系统开发人员那样学习,那么这将需要你如何编写代码进行调整。
以下是我如何接近它:
一个需要在不同形式的因素(平板电脑,桌面,电话)上运行的基本程序将有三个类。 模型和控制器类将在一个DLL中实现,以及一个定义GUI事件和方法的接口文件。 实际进入我的.EXE文件的唯一的东西是GUI。 而GUI中唯一的逻辑基本上是当用户在需要程序执行某些操作的表单上执行操作时引发一个事件。
例如,用户在文本字段填写他的名字,然后点击“提交”。 这将引发一个提交的事件与名称框中的值作为参数。 控制器可以通过UpdateStatus()方法将反馈发回给表单,
这听起来很复杂,需要更多的前期设计。 这个系统的优点是,一旦你实现了一个外形的程序,你所要做的就是修改你的XAML的其他形式的因素。 你的控制器和你的模型根本不会改变。 (我相信有人会指出如何使用XAML模板来做到这一点,但我还没有。)
与Windows 7一样,64位Windows不支持旧的16位应用程序。 除此之外,是的,支持原生应用程序。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。