Windows 8 让开发者蛋疼的十个原因

fmms 12年前
     <div id="news_body">     <p>        随着 Windows 8 开发者预览版的发布,人们对这个新的操作系统有很多意见想发表。但是很少有人谈到 Windows 8 对程序员的影响。Windows 8 是自从 Windows 3.x 到 Windows 95 以来,开发模型最大的一次升级。虽然这次升级带来了很多好处,但是也带了很多让人痛苦的地方。如果你正在研究 Windows 8 本地应用的 Metro UI 和 WinRT API,你应该注意下面十点:</p>     <p style="text-align:center;"><img alt="Windows 8 让开发者蛋疼的十个原因" src="https://simg.open-open.com/show/1a105da88f0b6724347e72200e41cd29.jpg" width="400" height="352" /></p>     <p>        <strong>1. 应用市场重新瓜分</strong></p>     <p>        如果你想让你的应用完全兼容 Widnows 8 的话 (包括支持 ARM CPU),你需要用 Metro/WinRT 完全重写你的应用。这对很多想新进这个市场的开发者来说是个好事,但如果你是现有应用的开发者的话,你会发现你的优势一下子没有了。</p>     <p>        <strong>2. 异步模型</strong></p>     <p>        Windows 8 的开发模型是高度以来异步操作的。这在有些场合是一个很好的方案,但也有时候让人抓狂,例如下载文件。新的异步模型不光是处理异步调用,包括错误处理,问 题回馈给用户等等都是异步的。这就要求一个全新的 UI 方案,特别是对于习惯了 WinForm 的开发者来说。</p>     <p>        <strong>3. 缺少直接的磁盘访问</strong></p>     <p>        Windows 8 不允许直接的系统级访问,最麻烦的就是开发者不能直接访问磁盘。Windows 8 采用了一个极端的分离模型,如果你的应用必须访问非自身的数据的话,你基本上可以放弃 Windows 8 了。</p>     <p>        <strong>4. 触摸 UI</strong></p>     <p>        除非你已经习惯了编写移动应用,否则转移到新的触摸式的 UI 风格还是很头疼的。适用于鼠标和键盘的 UI,并不一定适用触摸屏,反之亦然。</p>     <p>        <strong>5. 需要适应微软 App Store 规则</strong></p>     <p>        如果你想要加入微软的 App Store 的话,你就必须适应它的游戏规则。虽然规则看起来还算合理,但是让人感觉很束缚,正如 WP7 的 store 那样。</p>     <p>        <strong>6. 重度强调云计算</strong></p>     <p>        虽然并没有强制要求使用 Cloud,Web Services 等新型的技术,但微软是很强调这些技术,并推荐他们的。在不同的设备中自动同步设置和数据将是一个默认的规则,用户也会默认它存在。这就意味着你必须小心处理敏感数据,加密等问题。</p>     <p>        <strong>7. 协议和接口式的交互</strong></p>     <p>        Windows 8 的编程模型是,应用可以作为服务提供方,为系统或者其他应用提供服务和数据,例如联系人,图片。这种编程方式的转变,对于习惯了直接访问数据的开发人员来讲,也是一种挑战。</p>     <p>        <strong>8. 市场的不确定性</strong></p>     <p>        微软正在推动 Windows 8 在平板和手机上的应用,而 Android 也正在疯狂的掠夺这块市场。新的 Metro UI 似乎受到了开发者的一致批判,但是 Metro 又在触摸市场获得好评。目前用过 Windows 8 的还都是开发者,并不代表普通用户。Windows 8 能否被普通用户接受并普及还是一个未知数。</p>     <p>        <strong>9. 缺少平板硬件</strong></p>     <p>        大部分对 Windows 8 的批判都来自于没有真实的平板设备去运行 Windows 8,也就无法真实的体验到 Windows 8。不论是 UI 还是性能,你并不知道你的应用能否正常的平板设备上运行。</p>     <p>        <strong>10. 前途不明的技术</strong></p>     <p>        这是最令我心痛的一点。微软常常宣布一项“具有划时代意义的”技术,然后就任其自生自灭,例如 Kin,Zune,Silverlight,Live 等等。谁知道微软会不会对 Windows 8 从一而终?</p>     <p>        英文原文:<a href="/misc/goto?guid=4958317217883912709" target="_blank">10 reasons Windows 8 will be painful for developers</a></p>    </div>