首先,不管大家怎么喷 Windows RT,UMU 是看好它的,这篇文章就是用 Surface RT 写的。如果说有什么不爽的…请看 PPI 对比:Surface RT = sqrt(1366^2+768^2)/10.6=147.8,XPS 15 = sqrt(1920^2+1080^2)/15.6=141.2,居然才比 XPS 15 高了一小点!还有后摄像头成像质量太一般了。您可能发现了,UMU 说的缺点都是硬件上的。
再来要说的是,微软的自残行为。UMU 用过 iOS、Android 平板,甚至见过有人用 XP 平板,但相信,论系统本身 Windows RT 是最强大的。不过微软为了战略目标,把 RT 强大的一面给锁起来了。对开发人员来说,这锁表现在以下几点:
1、系统本身不允许运行没有微软签名的 EXE;
2、VS2012 默认无法编译 ARM 程序;
3、VS2012 自带的 ARM lib 缺失。
下面就是简单介绍一下如何突破这三个封锁:
1、解锁签名限制
RT Jailbreak Tool
By Netham45, Version 1.20
http://forum.xda-developers.com/showthread.php?t=2092158
另外,有很多开源软件已经移植,在开发自己的程序之前,可以先试试,Desktop apps ported to Windows RT:http://forum.xda-developers.com/showthread.php?t=2092348
2、开启 VS2012 的 ARM 支持
来自 http://stackoverflow.com/questions/11151474/can-arm-desktop-programs-be-built-using-visual-studio-2012 的答案
You can edit the file:
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Platforms\ARM\Microsoft.Cpp.ARM.Common.props
对 VS2013 路径是:
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Platforms\ARM\Platform.Common.props
In the<PropertyGroup>section add the line:
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
before</PropertyGroup>
And that's all, you can build ARM desktop apps with VS2012.
某些工程需要强制定义 _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE 才可以。
3、获取更多的 ARM libs
开源工具应运而生:https://github.com/peterdn/dll2lib
然后,炫耀一下,UMU 已经把自己的一个小作品“天翼宽带智能提速”(http://my.oschina.net/umu618/blog/108520)移植成功了,这个程序比较小,一两个小时从解锁到移植开发全部搞定。
最后,如果程序是 .NET 4.x 写的,是可以直接跑在 RT 上的,所以为了省力气,也许应该考虑多用 .NET。