Windows Phone 从2010年10月发布,到如今已经有3年多了。从那时坚持到现在的用户和开发者一定感慨很多吧。

一直关注着这个让人既爱又恨的平台的发展,笔者不仅是使用者,也同时是开发者,这里从一个开发者的角度来总结回顾一下WP走过的这几年。

机型

最早在2010年的WP7时代,三星和HTC都出了不少机型,例如,Focus,O7,HD2,HD7等经典机型。包括DELL,宏碁也都出过机器,但整体都卖的不怎么样。
到2011年底的时候,Nokia开始全面推出第二代WP7的机型,包括710,800,900,以及后面的510,610。笔者当时下血本买了个800,一直服役到现在。
从2012年WP8发布,Nokia的920,820,720,620,520接连发布,三星和华为只是像征性地出一两款,市场获得了不少新用户,也同时得罪不少WP7的用户。
2013年依然是Nokia在唱独角戏,1020,1520,925,以及中低端的1320,625,525,HTC也出了两款:高端的8X和低端的8S。
而2014年传说有一堆厂商会杀入WP8.1。。。什么形势地杀入就要用时间验证了。

分析:
早期的HTC和三星就像他们在android市场的洞察力一样,对于新平台眼疾手快。然而由于Tile磁贴的样式与其他智能手机的UI差异太大,市场接受能力并不强。喜欢的人很喜欢,不喜欢的人真的不喜欢,连一向实施机海战术的三星也没有卖出好成绩,直到今天其对于WP平台都一直是“意思意思”,为了少让微软收点专利费应付性地出几款机型。HTC在WP7时代没有因为先机而占上什么便宜,期待着WP8能碰碰运气,没想到8X和8S也还是销量一般,上市价的3999,1999没过多久就变成1299和699了。DELL,宏碁,富士,华为,中兴,TCL,LG等打酱油的厂商暂时就不说了,出一两款WP的机器只是占个位置做为技术储备。
今年将要发布WP8.1,预计将会出现更多的机型,也会有新的厂商加入,但各厂商除了Nokia外,其他厂商基本上还是以观望为主,出少量的机型探测市场反应。

屏幕尺寸和分辨率

在WP7的时候,只有一种分辨率,那就是480*800,这让开发者省了不少适配的时间。手机屏幕尺寸都是4寸或以下。
到WP8的时候,新加入了768*1280和720*1280两个分辨率。768*1280与480*800一样都是15:9,开发者/设计师为了省事就用大分辨率就行,系统会自己缩放到小的比例,而16:9的720*1280就要额外处理了。手机屏幕也都提高了4.x寸。
在WP8 GDR3的时候,再次提高最大分辨率到1080P,WP的最大手机尺寸也提高到了6寸。
而为了满足更多厂商的需求,WP8.1将再次带来新的分辨率。这下给开发者带来了麻烦,好在分辨率没有太碎,场面还可以控制住。

分析:
除了三星,各个厂家显然都小看了市场对于大屏的需求,所以开始大家的状态也从最开始的嗤之以鼻到屈服于市场。所以微软和高通也一次次地提高WP平台的分辨率以满足厂商和市场日益增长的需求。但是7寸是手机和平板的临界点,相信不会超越这个极限吧。

销量

不用过多解释,WP的销量差不多就是Lumia的销量再乘以1.1~1.2吧,笔者根据Nokia的历史财报制作了一个简单的chart,如下图:(单位:万)

因为Nokia也没有公布之前的lumia销售数字,粗略估计总量为100万左右吧。另外也没有找到三星,htc,华为的wp的销量数据,

上图Chart数据从2012Q1到2013Q4统计Lumia的销量,总销量为4690万,乘以1.2再加上那300万,目前WP在市场的保有量在6000万左右吧。

分析:

因为其他厂商的WP份额基本可以忽略,单从Lumia来说,总的销量还是越来越好的,只是一直都没有“爆炸式”的增长,而且还有两次拐点。
没有出现“爆炸式”的原因笔者认为主要有:生态系统太弱,市场对Tile UI的接受度不高,微软的更新速度太慢,参与铺货的厂商太少。
而拐点的原因呢?第一次的原因应该是微软宣布WP7不能升级到WP8,这对市场的打击较大。而第二次的原因应该是微软宣布收购Nokia,对诺粉的打击较大,不得不说:在手机行业,微软的品牌比Nokia差得太远了。

在2012年的时候,用户和开发者还在抱怨Nokia出机型的速度太慢,而当2013年的时候,用户指责的矛头已经转向微软对系统的更新速度了。以致于WP8至今也只是被少数用户所接受,传染的速度也相当慢,虽然有其他平台的market share增长过快的原因,而我想更多的原因还是在于微软和Nokia自己。微软出操作系统的能力不需要任何人怀疑,Nokia的工业设计也不亚于任何一个厂商。
2014年微软将完成收购,如何处理自家的部门与其他OEM的关系是个问题,甚至如何处理买来的S40和马上要上市的Nokia安卓手机都是问题。
然而WP8.1带来的新功能却给用户和开发者带来了很多希望。预计2014的销量会乐观。

越狱

WP7里只有少数机型通过烧入自制ROM而获得更高的开发权限,而经典机型Lumia800和900都做不到,到WP8引入了secure boot,更是断绝了自制ROM的路。

而前一阵三星的I8750被暴出可以被break,据说是因为其OEM开发者由于殊忽将一个注册表操作工具落在了外面。XDA上有一些贴子,有兴趣的同学可以研究一下。

分析:
微软对安全的封闭固然是个好事,但过于封闭,就是一把双刃剑了,伤了开发者,也伤了越狱者。如果微软能在WP9考虑将WP分支成企业版和个人版,在权限上也加以区分就好了。况且企业用户可以通过MDM集中管理,个人用户更在意的是易用性。

槽点

感觉WP的产品经理并没有做很完善的用户调查,所以用户体验也不是那么完美。下面简单罗列一些用户的槽点:

  • 通话功能
  1. 电话(dialer)功能的默认界面是通话记录,而不是拨号盘。
  2. 通话记录未合并。
  3. 通话记录未分离未接,已接,拒接。
  4. 输入号码时没有智能提示,比如输入1381234没有自动完成。
  5. 没有来电归属地。现在Nokia已经有了。
  6. 没有通话录音。
  7. 没有统计总通话时间。
  • 短信功能
  1. 发短信时不能直接添加联系人号码,而是发送名片。
  2. 发短信只能选择发给一个联系人的一个号码。
  3. 不能批量删除。
  • 网络
  1. 没有App流量监控。
  • 快捷方式
  1. WIFI/3G间切换步骤太多。据说WP8.1已经有了。
  2. 音量未分离。据说WP8.1已经有了。
  3. 没有App分类文件夹。现在Nokia已经有了。
  4. 没有五笔输入法(第三方输入法)。
  5. 锁定屏幕的重力感应。GDR3已经有了。
  • 其他
  1. 搜索太鸡肋。且常被按错。
  2. 推送总是延迟,或根本就不推送。

分析:
这些只能算是冰山一角了,有些功能甚至只需要改一个注册表的键值(比如重力感应),微软甚至也直到GDR3才更新。而最重要的通话功能,也是十分简陋,微软却迟迟没有听取用户的意见,下一点功夫修改,哪怕自己不修改,也不开放接口给OEM修改。前面也提到了,WP的发展路上,最大的敌人是微软自己。很多时候,为了某个很小的功能,用户和开发者都需要去 “乞求” 微软。。
该说什么好呢?WP8.1会有一大波新的功能,但愿能改变用户的看法。

战略

作为一个开发者,在这里谈战略有点浅薄,但还是从个人的理解说几点吧。

  • Nokia的定价策略

   Nokia的最新旗舰从来都是天价,然后3个月之后跌一两千,半年之后腰折,而先下手的都是铁粉,伤的最深的也是这一批用户,何不一上市就定一个合理的价格呢?从800,920,到1020,再到1520,都是同样的节奏。

  • 微软的推广策略

   这已经不是卖license的年代了,而微软似乎还在做着像Windows和Office一样赚钱的梦。在当前的市场份额下,再不免费求着各家厂商生产WP手机就只有死路一条了。塞班当年几家大厂共同贡献的时候尚前苟活,而被Nokia收购之后死的更快。

开发开台

开发涉及到好个层级,从高通QRD,和OEM驱动,到微软的WP内核,再到一些系统级的App和用户级的App。

高通目前基本上是垄断了WP的整个平台,因为其QRD提供了一套完整的方案,能够帮助厂家快速bring up硬件。而很多android机型也是用的高通的QRD,所以拥有多平台的厂商也能够迅速地迁移平台,包括已有的硬件驱动。

而微软的WP内核则从Windows CE 过渡到了 Windows NT,以便完成Windows在桌面,手机,平板,XBOX上的统一大业。这对开发者倒没什么影响,反而为Win32的开发者提供了便利,可惜导致了WP7的设备不能升级到WP8的设备。

WP7时代,用户级的App开发只能使用C#/XAML,OEM可以用一些Win32 api接口。
到了WP8,添加了用C++/DirectX做游戏的应用模型,另外,还引入了C++/CX用于封装C++的类库供C#的App调用。
而8.1,则进一步引入与商店应用相同的应用模型,可以用C++/XAML,还可以用JS/HTML5开发App。而接口都通过Windows Phone Runtime暴露。

不言而喻,Windows Phone Runtime将逐步代替.NET for Windows Phone的地位,作为Windows Phone的根基。
但是从.NET CLR过渡到Windows Runtime,需要有点阵痛的心理准备。

分析:

对于普通App,XAML已经在Silverlight,WPF等技术中应用已久,微软的开发者可以很容易地过渡到Windows Phone。
对于游戏开发,Direct3D,Direct2D的代码也可以很容易从PC平台迁移,当前最流行的引擎Cocos2d-x和Unity3d也已经全面支持Windows Phone。
对于混合App或跨平台App,可以等待8.1新引入的html5开发模型。
对于同时维护Windows Phone和Windows 商店应用的同学,也可以等待8.1带来的便利。
这些都为各种技术背景的想准备进入Windows Phone的同学们降低了门槛。

而开发者最关注的已开放的API,从wp7到WP8基本没有太大的变化,而8.1则有数量不小的添加。
但是在市面上的wp8设备没有完全升级到wp8.1的时候,开发者要维护wp7,wp8,wp8.1三个相对独立的版本。

生态系统

生态系统几乎是影响一个平台最重要的因素,没有之一。很多不明真相的群众都可能因为Windows Phone平台没有某个杀手级的应用,而放弃之。
而影响Windows Phone生态系统的发展模式几乎是个死循环:应用少-->销量少-->设备数量少-->用户少-->开发者少-->应用少。。。

应用的来源大体可以分为这么几类:

  • OEM厂商预装的应用:包括为了和其他厂商实现差异化的应用,与运营商合作的应用,系统设置类的应用。
  • 个人开发者的应用:有纯免费的小工具,有自制的小游戏,也有一些奇妙的小应用。甚至还有一些练手的和应付作业的应用。
  • 企业级的应用:有企业信息发布类的,也有MDM类的。
  • 互联网公司的应用:包括社交,音频,视频,图片,信息资讯,导航,电子商务等。
  • 游戏应用:多数是其他平台的移植。

其中互联网公司的应用和游戏应用是重中之中,而目前的现状是很多应用都只有另外两个平台的应用,直接无视了WP这个“小众”平台。
期待微软能从软-硬两方面入手吧。

  • 推动重点应用的上市,对于应用市场,只有质量上来了,数量才能上来。
  • 扶持更多OEM厂商,国内某些厂商的销售能力要比我们想象中强大的多。

让循环变成:设备数量变多-->用户变多-->开发者变多-->应用变多-->销量变多-->设备数量变多。。

希望微软的新CEO上台以后,能加快更新的脚步,当然包括提振WP的生态系统。

后记

虽然本文大部分篇幅都是客观的陈述和理性的分析,而回到本文开头的主题,这个让人又爱恨的平台,你在每次自欺欺人的对他充满信心时,他却像蜗牛一样按着自己的步调不紧不慢。三星研发自己的Tizen是为自己留条后路,某些以Android为主的厂商出一款WP也都是因为不想在一颗树上吊死,当开发者内心充满了对未来的未知的恐惧时,也同样会给自己留一些余地。2014年对WP来说是关键的一年,是攸关的一年,多的话就不说了。

注:转载请经由本人同意。
http://www.cnblogs.com/icuit/p/3563901.html

Windows Phone 的这几年的更多相关文章

  1. Windows server 2012 添加中文语言包(英文转为中文)(离线)

    Windows server 2012 添加中文语言包(英文转为中文)(离线) 相关资料: 公司环境:亚马孙aws虚拟机 英文版Windows2012 中文SQL Server2012安装包,需要安装 ...

  2. Windows Server 2012 NIC Teaming介绍及注意事项

    Windows Server 2012 NIC Teaming介绍及注意事项 转载自:http://www.it165.net/os/html/201303/4799.html Windows Ser ...

  3. C# 注册 Windows 热键

    闲扯: 前几日,一个朋友问我如何实现按 F1 键实现粘贴(Ctrl+V)功能,百度了一个方法,发给他,他看不懂(已经是 Boss 的曾经的码农),我就做了个Demo给他参考.今日得空,将 Demo 整 ...

  4. Windows 7上执行Cake 报错原因是Powershell 版本问题

    在Windows 7 SP1 电脑上执行Cake的的例子 http://cakebuild.net/docs/tutorials/getting-started ,运行./Build.ps1 报下面的 ...

  5. 在离线环境中发布.NET Core至Windows Server 2008

    在离线环境中发布.NET Core至Windows Server 2008 0x00 写在开始 之前一篇博客中写了在离线环境中使用.NET Core,之后一边学习一边写了一些页面作为测试,现在打算发布 ...

  6. Windows平台分布式架构实践 - 负载均衡

    概述 最近.NET的世界开始闹腾了,微软官方终于加入到了对.NET跨平台的支持,并且在不久的将来,我们在VS里面写的代码可能就可以通过Mono直接在Linux和Mac上运行.那么大家(开发者和企业)为 ...

  7. dll文件32位64位检测工具以及Windows文件夹SysWow64的坑

    自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program Files (x86),Program Files的区别 ...

  8. 在docker中运行ASP.NET Core Web API应用程序(附AWS Windows Server 2016 widt Container实战案例)

    环境准备 1.亚马逊EC2 Windows Server 2016 with Container 2.Visual Studio 2015 Enterprise(Profresianal要装Updat ...

  9. 1.初始Windows Server 2012 R2 Hyper-V + 系统安装详细

    干啥的?现在企业服务器都是分开的,比如图片服务器,数据库服务器,redis服务器等等,或多或少一个网站都会用到多个服务器,而服务器的成本很高,要是动不动采购几十台,公司绝对吃不消的,于是虚拟化技术出来 ...

  10. 0.Win8.1,Win10,Windows Server 2012 安装 Net Framework 3.5

    后期会在博客首发更新:http://dnt.dkill.net 网站部署之~Windows Server | 本地部署:http://www.cnblogs.com/dunitian/p/482280 ...

随机推荐

  1. 感知器、logistic与svm 区别与联系

    https://blog.csdn.net/m0_37786651/article/details/61614865 从感知器谈起 对于典型的二分类问题,线性分类器的目的就是找一个超平面把正负两类分开 ...

  2. DBGridEh 在粘贴中文时出现乱码和错位 100zhx_888]

    http://www.fx114.net/qa-29-3439.aspx 回复于: -- :: unit DBGridEh; 把下面这个函数替换成这样 procedure TDBGridInplace ...

  3. python--ConfigParser读写改配置文件

    from configparser import ConfigParser fp = 'conf.ini' #定义配置文件名 conf = ConfigParser() #实例化 conf.read( ...

  4. Java——线程死锁问题

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  5. 官网下载的spring-framework的一些描述

    刚下载下来是这个文件夹:

  6. AngularJS-----$compile

    原文:http://docs.ngnice.com/api/ng/service/$compile 写在前面的话: 之前我一直理解错误,我一直以为这句--function([scope], clone ...

  7. RSA签名验证无法通过,检查以下部分

    RSA签名验证无法通过,检查以下部分:1.是否和上游交换公钥,提交给上游的公钥是否配置正确并生效2.检查加密方式是SHA1还是MD5,是否跟上游一致3.上游采用的是否是base64SafeUrl的方式 ...

  8. Cookie注入实战(非SQL注入)

    cookie注入原理其实很简单,就是利用了session机制中的特性,只能说是特性,不能算是漏洞. 这里简单的说下原理,session的机制就相当于你有一张蛋糕店的会员卡,这张会员卡就是你浏览器中的c ...

  9. Swift中获取系统语言

    //en-US zh-HK zh-TW zh-Hans-US var lng:String { let userDefault = NSUserDefaults.standardUserDefault ...

  10. FREESWITCH 填坑指南

    转接 1.查看网关注册状态 sofia status 2.桥接(未实践) http://wiki.freeswitch.org.cn/wiki/Mod_lua.html#jump10237 frees ...