阅读更多

1顶
2踩

互联网

转载新闻 Windows 8 让开发者困恼的十个原因

2011-12-09 17:55 by 资深编辑 luiang1018 评论(1) 有3188人浏览
随着Windows 8开发者预览版的发布,人们对这个新的操作系统有很多意见想发表。但是很少有人谈到Windows 8对程序员的影响。Windows 8是自从Windows 3.x 到 Windows 95以来,开发模型最大的一次升级。虽然这次升级带来了很多好处,但是也带了很多让人痛苦的地方。如果你正在研究Windows 8本地应用的Metro UI和WinRT API,你应该注意下面十点:


1. 应用市场重新瓜分

如果你想让你的应用完全兼容Windows 8的话(包括支持ARM CPU),你需要用 Metro/WinRT 完全重写你的应用。这对很多新进这个市场的开发者来说是个好事,但如果你是现有应用的开发者的话,你会发现你的优势一下子没有了。

2. 异步模型

Windows 8的开发模型是高度以来异步操作的。这在有些场合是一个很好的方案,但也有时候让人抓狂,例如下载文件。新的异步模型不光是处理异步调用,包括错误处理、问题回馈给用户等等都是异步的。这就要求一个全新的UI方案,特别是对于习惯了WinForm的开发者来说。

3. 缺少直接的磁盘访问

Windows 8不允许直接的系统级访问,最麻烦的就是开发者不能直接访问磁盘。Windows 8采用了一个极端的分离模型,如果你的应用必须访问非自身的数据的话,你基本上可以放弃Windows 8了。

4. 触摸UI

除非你已经习惯了编写移动应用,否则转移到新的触摸式的UI风格还是很头疼的。适用于鼠标和键盘的UI,并不一定适用触摸屏,反之亦然。

5. 需要适应微软App Store规则

如果你想要加入微软的App Store的话,你就必须适应它的游戏规则。虽然规则看起来还算合理,但是让人感觉很束缚,正如WP7的Store那样。

6. 重度强调云计算

虽然并没有强制要求使用Cloud、Web Services等新型的技术,但微软是很强调这些技术,并推荐它们的。在不同的设备中自动同步设置和数据将是一个默认的规则,用户也会默认它存在。这就意味着你必须小心处理敏感数据、加密等问题。

7. 协议和接口式的交互

Windows 8的编程模型是,应用可以作为服务提供方,为系统或者其他应用提供服务和数据,例如联系人、图片。这种编程方式的转变,对于习惯了直接访问数据的开发人员来讲,也是一种挑战。

8. 市场的不确定性

微软正在推动Windows 8在平板和手机上的应用,而Android也正在疯狂地掠夺这块市场。新的Metro UI似乎受到了开发者的一致批判,但是Metro又在触摸市场获得好评。目前用过Windows 8的还都是开发者,并不代表普通用户。Windows 8能否被普通用户接受并普及还是一个未知数。

9. 缺少平板硬件

大部分对Windows 8的批判都来自于没有真实的平板设备去运行Windows 8,也就无法真实的体验到Windows 8。不论是UI还是性能,你并不知道你的应用能否在正常的平板设备上运行。

10. 前途不明的技术

这是最令我心痛的一点。微软常常宣布一项“具有划时代意义的”技术,然后就任其自生自灭,例如Kin、Zune、Silverlight、Live等。谁知道微软会不会对Windows 8从一而终?

Via  http://www.techrepublic.com/blog/10things/10-reasons-windows-8-will-be-painful-for-developers/2885

1
2
评论 共 1 条 请登录后发表评论
1 楼 OPQRST 2011-12-12 17:22
现在的新闻 必须十大,才能吸吸引眼球

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Delphi FMX正确设计和加载图片满足分布式跨平台App的性能需求-分布式跨平台App中美工图片的处理、上传下载、并发及客户端显示技术架构

    Delphi FMX正确设计和加载图片满足跨平台需求,综合考虑:客户端(内存、设备屏幕适配)、服务端(上传效率、并发时效及网路瓶颈、内存)、美工工作量 刚刚请教了高勇老师,结合高老师的GYListview的优秀设计和...

  • .NET WebAPI 实现图片上传(包括附带参数上传图片)

    博主的项目,客户端是APP,考虑到以后也可能会应用到微信端、网站等,图片上传方法就需要兼容多端,并且以目前的设计,不允许非登录用户上传图片,就得在上传时解决附带参数上传图片的问题。 先来看看后台方法...

  • Thinkpad常见问题大全(转载联想工程师博客)

    Thinkpad常见问题大全(转载联想工程师博客) 想要收藏本篇文章请下载Word版   Q:我想升级成VISTA,想问一下,升级之后一键恢复是恢复到XP还是VISTA? A:如果从隐含分区恢复出厂设置,那当然是恢复到出厂时...

  • mysql5.7安装 solairs_DBASK数据库提问平台问题集萃,首批近二十位专家团曝光

    引言小程序的发布可以让大家随时随地提问,专家也可在小程序内即时回复,减少了提问的门槛,加快问题交互的流程。另外可以在微信小程序中浏览知识库,方便查找学习相关问题。使用指导微信小程序搜索DBASK,或微信...

  • 深入分析 Java 中的中文编码问题

    深入分析 Java 中的中文编码问题 摘自:https://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/ 几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题,那就是为什么要编码...

  • VSFTP服务的日常应用及疑难问题解析

    Q:老师好,我想问的是VSFTP的权限问题,怎么限制用户具体上传文件的大小,怎么限制根据下载上传的次数,适当的给予一定的权限的提升?谢谢老师! A:解答第一个问题:用户上传的文件大小和空间存放大小可以使用...

  • WinWebMail邮件服务器 - 常见问题解答

    常见问题解答 -------------------------------------------------------------------------------- 正版序列号验证 正版用户在线更改序列号 WinWebMail 3.7.3.1 版本正式发布. 文章:如何防止垃圾...

  • 一些网络问题汇总

     既然在开机时能Ping通服务器,说明网络的物理连接是正常的,客户端的网络协议也没有问题。然而,在安装或复制文件过程中,出现网络连接故障提示,说明在某些应用场合下,驱动程序无法正常驱动网卡。因此,可以初步...

  • 吊打面试官系列之:UI自动化面试题汇总,对标P7,从此再也不怕面试官了。

    其次、根据要截取元素图片的属性来获取该元素的坐标和大小 ele.location ele.size 第三、通过以下方式获取该元素的图片的坐标大小: left = ele.location['x'] top = ele.location['y'] right = ele.location['x'] ...

  • 今天终于找到了一款windows下的Zcash钱包(ZEC钱包),推荐给大家

    后台请教朋友,说这个网站是GitHub,很牛的一个网站,不过不懂,哈哈,继续淘宝,看看这位大神发布的所有软件 然后不小心点了下他的头像,进去了主页,终于在最下面发现这一行 好像很熟悉的...

  • 经典网络问题问与答

     既然在开机时能Ping通服务器,说明网络的物理连接是正常的,客户端的网络协议也没有问题。然而,在安装或复制文件过程中,出现网络连接故障提示,说明在某些应用场合下,驱动程序无法正常驱动网卡。因此,可以初步...

  • 墙裂推荐!看完全面掌握,最详细的 Docker 学习笔记总结(2021最新版)

    这要从目前软件行业的痛点来讲起 1、软件更新发布及部署低效,过程繁琐且需要人工介入 2、环境一致性难以保证 3、不同环境之间迁移成本太高 有了Docker可以很大程度解决上面的问题。 首先,Docker的使用简单至极,从...

  • Flask入门

    重定向 性能分析 Python高并发服务部署——Nginx+Gunicorn+gevent+Flask+Supervisor Flask 扩展 Flask-Bootstrap好看的页面 Flask-Moment本地化日期和时间 Flask-WTF表单验证和渲染 Flask-SQLAlchemy管理数据库 ...

  • 【API接口工具】postman-请求响应使用详解

    先解释不上服务端原因,API调试工具的绝大多数时候就是一个数据模型、数据处理、数据模型理解共识的问题解决工具,所以作者结合自己十多年开发使用的一些痛点来打造的,再加上服务端开发一般是面向企业的,作者目前...

  • 友价免签约支付接口插件最新版

    友价免签约支付接口插件最新版

  • 基于java的微信小程序跳蚤市场设计与实现答辩PPT.pptx

    基于java的微信小程序跳蚤市场设计与实现答辩PPT.pptx

  • java程序员面试求职指南

    程序员面试求职指南 程序员简历制作指南 面试常见词汇扫盲 项目经验指南

  • akima-2019.1.1-cp34-cp34m-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

  • aiohttp-3.8.1-cp311-cp311-win32.whl.rar

    python whl离线安装包 pip安装失败可以尝试使用whl离线安装包安装 第一步 下载whl文件,注意需要与python版本配套 python版本号、32位64位、arm或amd64均有区别 第二步 使用pip install XXXXX.whl 命令安装,如果whl路径不在cmd窗口当前目录下,需要带上路径 WHL文件是以Wheel格式保存的Python安装包, Wheel是Python发行版的标准内置包格式。 在本质上是一个压缩包,WHL文件中包含了Python安装的py文件和元数据,以及经过编译的pyd文件, 这样就使得它可以在不具备编译环境的条件下,安装适合自己python版本的库文件。 如果要查看WHL文件的内容,可以把.whl后缀名改成.zip,使用解压软件(如WinRAR、WinZIP)解压打开即可查看。 为什么会用到whl文件来安装python库文件呢? 在python的使用过程中,我们免不了要经常通过pip来安装自己所需要的包, 大部分的包基本都能正常安装,但是总会遇到有那么一些包因为各种各样的问题导致安装不了的。 这时我们就可以通过尝试去Python安装包大全中(whl包下载)下载whl包来安装解决问题。

Global site tag (gtag.js) - Google Analytics