迟到的Windows 8

目录

  1. 小引
  2. Windows 8简介
  3. 从用户的角度来看
  4. 从开发者的角度来看
  5. 微软的生态圈
  6. 小结

###小引###

最近两年,移动互联网成了兵家必争之地,为了能够在移动互联网的浪潮中获得一席之地,各厂商正所谓八仙过海各显神通,腾讯首当其中,通过微信拿到了第一张船票,百度19亿美元拿下91助手,豪赌移动互联网,阿里巴巴入主高德,加快移动互联网布局,雷军借助小米手机,在国内已经与”中华酷联”并驾齐驱。当然,有成功,必然有失败,诺基亚本想借助微软的Windows Phone重拾当年王者之位,哪知最后埃洛普就是一个”间谍”,在诺基亚市值触底之际,反被微软低价收购,360与搜狗的恋爱谈了很久,结局是搜狗与腾讯联姻了。

在这瞬息万变的朝代,人们似乎已经忘却了微软,其实微软对这一切的发生是看在眼里急在心里,但罗马不是一日建成的。今天我们就来看看微软在移动平台中打的一张牌——Windows 8。

###Windows 8简介###

Windows 8是微软在2012年10月25日正式发布的一款操作系统。该系统定义了用户与移动终端设备交互的全新概念——以内容为导向,结合简单、迅速和快捷的操作方式。

图1-1 Windows 8开始屏幕

为迎合用户的需求,微软在Windows 8的设计与研发上全力以赴,力图为用户打造出一款全新的操作系统,为人们提供高效易行的工作环境。从图1-1中,可以明显地感觉到Windows 8的用户界面与之前Windows版本的巨大差别。

下面我们分别从用户和开发者的角度来了解一下Windows 8。

###从用户的角度来看###

  1. 磁贴

Windows 8的开始屏幕功能与之前Windows 版本的开始菜单类似,都是能启动某一个程序,不过开始屏幕还有更多的个性化功能。如图1-2所示,Windows 8的开始屏幕是由许多方块组成的,这些方块被称为动态磁贴(Tile),用户可以自由调整这些方块的大小。通过点击磁贴,可以启动对应的程序。磁贴的另外一个重要功能就是内容的展现与更新。这体现出了Windows 8的一个重要设计原则—— 处处以内容为重。

图1-2 Windows 8开始屏幕中的磁贴

  1. 沉浸式的用户界面

Windows 8之前版本的基本用户界面如图1-3所示,是以桌面为主的应用程序界面风格——该类风格的典型特征是操作系统由不同的文件和程序软件组成。在桌面之上,可以陈列出多个窗口,一个程序对应一个窗口,或者多个窗口。

图1-3 具有桌面概念的应用程序界面

Windows 8应用商店的主界面如图1-4所示,可以看出,里面的程序像一个封闭的盒子,并且是没有边框的全屏显示,我们只能看到一个正在运行的程序界面。实际上,这种设计语言和风格是微软专门为Windows 8配备的,它是基于平面设计的,设计灵感来源于机场和地铁的指示牌。图1-4展现的信息可以概括为:大字体、强调信息本身、无冗余的界面元素。

图1-4 Windows 8应用商店的主界面

再如图1-5所示的是Windows 8中的天气程序,该程序以大号字体显示出天气信息,在程序中没有冗余的界面元素。

图1-5 Windows 8中的天气程序

从图1-4和图1-5可以明显地感觉到,当用户使用Windows 8商店应用程序时,是完全沉浸在整个程序中,且在使用过程中,不会被别的程序干扰或者强制中断,从而不会对用户造成任何的分心。

###从开发者的角度来看###

  1. Windows应用商店

从苹果做的应用商店效果来看,这真是一个好舞台,个人开发者通过这个舞台发布个人应用的同时,还能带来乐观收入,苹果也能从中收取一定的费用,再者对用户来说不用漫天寻找需要的应用,只需要通过应用商店就可以获得需要的应用了。

当然,微软也搭建了自己的商店——Windows应用商店,运营模式与苹果的应用商店类似。如图1-6所示。

图1-6 开始屏幕中的应用商店

到这里,或许大家对微软的这张牌已经有所了解,更有甚者可能会嗤之以鼻,曰:这不就是在抄袭苹果的模式吗?没错,微软此举确有抄袭之嫌疑,不过,大家别忘了,腾讯刚开始不就是这么干的吗?当然,干这一行,是讲究互联网基因的,例如,中国移动的飞信就是因为缺乏互联网基因——它并不具备运营互联网产品的基本经验,虽手握绝对优势,但最终未免被其它IM蚕食,再说了,诺基亚之前也有自己的OVI商店,但是结果同样销声匿迹了。

  1. 开发框架与编程语言

Windows 8商店应用程序开发支持多种编程语言,其中最重要的3种编程方式为:XAML + C#/VB、XAML/DirectX + C++、HTML5 + JS + CSS。

Windows 8对多种编程语言的支持,降低了开发者开发Windows 8商店应用程序的门槛,开发者可以利用之前已经掌握的语言来开发程序。

1)开发框架

在Windows 8中开发的应用程序分为两种类型:

  • Windows商店应用程序
  • 桌面应用程序

其中桌面应用程序与之前Windows版本中的开发模式基本没有变化,这里重点介绍Windows商店应用程序的开发框架(如图1-7所示),它具有如下两个重要特点:

图1-7 Windows 8应用程序开发框架

  • Windows Runtime。在Windows商店应用程序中只有一个主要的API层,这就是Windows Runtime,Windows Runtime负责与Windows Core OS Services进行通讯。开发者只需要与Windows Runtime交互即可。

  • 多语言的支持。Windows商店应用程序开发很重要的一个特点就是在一个编程API(Windows Runtime APIs)上对多种语言的支持。在Windows 8中,微软已经把基于WPF和Silverlight的XAML用本地语言重写了一遍,C++、C、C#和VB编写的应用程序UI界面可以用XAML来定义。另外,在Windows 8中,微软增强了JavaScript的功能,通过JS Engine,JavaScript可以与Windows Runtime提供的APIs进行交互。这样一来,众多开发者(特别是会利用HTML和CSS开发网站和网页的开发者)也可以结合HTML/CSS和JavaScript来开发Windows商店应用程序。

2)编程语言选择

由于Windows 8应用程序开发支持多种编程语言,那么在具体的开发过程中,开发者就需要在多种编程语言之间选择适合的一种。图1-8简要描述了如何选择编程语言。

图1-8 Windows商店应用程序开发编程语言的选择

一般在创建应用程序时,是基于开发者已经掌握的技术;如果是在移植已有的应用程序,则主要基于原有程序的类型。
下面是在选择编程语言时需要注意的一些细节:

  • 根据开发者已经掌握的技术做决定。如果擅长于JavaScript,那么建议选择HTML5和JavaScript作为编程语言。如果之前创建过Windows Phone程序或者WPF程序,那么使用C#/VB和XAML语言进行开发会更好。
  • 在决定移植程序时,则需要好好考虑一番。这种情况下,不能依赖所掌握的技术,而主要取决于将要移植的程序的类型。如果要将Windows Phone(Windows Phone 8以前的版本)程序进行移植,那么必须选择使用C#和XAML,这样之前的代码和功能才能重用,如果Windows Phone程序使用了类似MVVM的设计模式,那么可以在程序中使用对应的设计模式。而如果需要移植基于C++开发的游戏引擎等,就需要使用C++和XAML了。
  • 如果既掌握web开发,也熟悉C# XAML开发,那么建议使用HTML5和JavaScript进行程序开发。因为JS Engine提供的控件与XAML控件一样,不用额外去编写控件。
  • 如果要创建高效的游戏程序,那么建议考虑使用C++和XAML。
  • 如果曾是.NET开发者,并且也熟练掌握HTML和JavaScript,建议使用C#和XAML。开发程序时会发现,这与.NET开发非常相似。例如,可以使用相同的设计模式(例如MVVM等)来创建程序。

通过上面的分析,相信在开发过程中应该如何在开发中选择编程语言,读者已经心中有数了。下面我们来看看微软的生态圈。

###微软的生态圈###

在互联网环境中,良好的生态圈,对企业的发展至关重要,腾讯在社交上、百度在搜索上和阿里在电商上等能站稳脚,都是因为他们在各自的阵营中建立起了良性的生态圈,让对此垂涎的企业难以对其撼动。我们也可以来看看苹果创建的生态圈:为了给用户最佳的体验,从硬件到软件,苹果层层把控,对别的厂商进行封闭不开放,利用自己的优势,为开发者和用户提供一个应用发布销售和购买下载的大舞台——苹果应用商店。这不仅让自己的利益最大化,也能够极好“绑架”开发者和用户,并对其它厂商做到排斥。

图1-8 Windows商店应用程序开发编程语言的选择

说了这么多,读者可能不乐意了,你不是要谈论微软的生态圈吗,干嘛东扯西扯的呢?其实不然,微软在生态圈上的想法实际上跟苹果雷同。涉及到的几个主体无非就是开发者、用户和自己,另外与苹果有一大区别就是其它厂商。我们都知道,微软在Windows 8之前主打的是软件,硬件则由其它各厂商生产。而在Windows 8中则不同了,微软开始涉水硬件了,它也想像苹果一样把软件和硬件牢牢握在自己手中,因此Surface面世了,再过几天Surface2也可以预定到了。其实我并不关心什么时候能买到Surface2,我在意的是微软如何找准与各硬件厂商的利益平衡点。

###小结###

Windows 8发布至今(2014年1月),过去一年多了,或许你在感悟时间过得太快,但我想说,Windows 8来得太迟了,要不是Windows 8有这么强大的一个爹,在这战火纷飞的移动平台,想必Windows 8还没开始就已经谢幕了。

在这一年时间里,我们看到Windows 8交出的成绩其实并不如人意,想必用惨不忍睹来形容也不为过。用户和开发者的热衷度已经在大幅下降,甚至各厂商都在持观望的态度,相信他们都是有底线的。至于Windows 8操作系统能否在众多竞争平台中突出重围,留给微软的时间已经不多了,随着PC市场趋于饱和,在移动平台上,如果微软再拿不出杀手锏的话,或许微软真要重演诺基亚的悲剧了。

当然,移动互联网的这番厮杀与角逐,无论谁赢谁输,我相信最大的获益者之一将会是用户。作为用户,我们就在台下,好好欣赏这一幕幕好戏吧!