Fyter的博客

技术资讯 源码共享

极端分析手机操作系统优劣WP7、Android、iOS

我将尽量使用我专业的知识,极端的、理智的为大家分析主流的3大手机操作系统的优劣。

image

背景:

iOS,制造商:苹果——做硬件的(希望你不要提出“苹果有操作系统”的质疑,那个系统很烂,或少数人喜欢型的东西)

Android,制造商:谷歌+各大手机硬件商——做网络+做硬件的联合,还有个无所谓的摩托罗拉

WP7(Windows Phone 7),制造商:微软+各大手机硬件商+诺基亚——做软件的+做硬件的联合

 

现在分门别类评价:

外观工艺:
目前苹果的外观工艺无人能敌,包括诺基亚,毕竟人家是做硬件的。每一个开关的选材都是优质的漂亮的,舍得用料带来的质感也非常棒。为什么先提外观,因为中国很多人买iPhone都是为了外观,在他们眼里,软件是啥都不知道。
Android及WP7的手机硬件不掌握在系统厂商那里,所以暂时苹果胜,因为目前出的手机中没有一款可以和iPhone4的外观工艺相抗衡。
Google收购了Moto,形势可能有所改观,或者因为有了亲儿子,所有干儿子都倒向WP7。或者Moto也许出一款超越iOS设计的产品,虽然可能性不大。
苹果胜。

硬件统一性:
这一项也意味着软件兼容性,最简单的理解就是你的机器可不可以玩这个平台的所有软件产品。
Android在这方面做的最差的,没有严格要求。今天我出个没有多点触控的修改系统,明天他出一个没有陀螺仪的系统,造成了各种体验差异。
iOS是自家独占系统自然不必多说,好与不好自己可以控制,是非常简单的事情。
WP7这方面做的很好,有严格的硬件限制,促使各硬件厂商出品的手机有一个底线可以使用所有WP7的软件。
这一轮有两家胜利,iOS及WP7。

界面:
布局及图标形势:iOS、Android使用传统的小图标方式,WP7使用最新与未来Windows 8相同的MetroUI。这方面将不作为比较条件,因为各有所好。我从个人的感觉来说MetroUI很大气,比较商务,小图标的传统UI有点拿不出手。特别是WP7点击某个应用是界面的3D飞跃感觉很棒,2D界面是无法比的。
WP7是全球首款唯一的3D移动设备操作系统,有利于硬件加速,耐看,动感,炫丽,流畅。
iOS使用CPU做的2D界面,流畅,动感。
Android使用2D界面,有些硬件厂商自己的版本会带有部分3D效果,作为一个专业人员,我实在没有夸奖他的词,目前看到的任何一款Android手机界面没有不跳帧的。群众都能接受这样的界面,难得,呵呵。
iOS取巧在分页提高效率,Android怎么搞都是卡。
对于开发游戏的人明白一个道理,2D游戏受显卡像素填充率和CPU的限制很难提高物件数量。3D游戏有显卡提供硬件支持,可以得到强大的对象级渲染及多通道渲染管线甚至多显卡进行加速,操作系统的UI实现同样有这个优势。可以看看nVidia的CPU与GPU趣味对比视频。这也是WP7同意硬件要求里为什么显卡也必须提供视频加速的原因。
无需犹豫,WP7胜。

开发者便利:
可能你会想这个和普通用户没有太大关系,但开发环境的易用性、开发效率,决定了应用的数量、质量等。
iOS系统使用Mac的xcode开发环境,主要使用Objective-C\C\C++语言,Objective-C这个语言语法很耐人寻味,可读性、可维护性比较低,从其他语言转到这个语言,如果没有对苹果的狂热,是很抵制的。IDE(集成开发环境)做的比较完善,版本更新的话比较二,没有Windows Update那么好用,你需要下一整套新的。帮助文件比较全,有在线与非在线版本。
Android系统可以使用Eclipse/C++/Java进行开发,在Linux下进行开发的朋友一定知道这个东西,给他一个评价吧,没有什么更好用的东西了,只能用这个凑合着。帮助文件你可以Google了。
WP7系统使用Visual Studio 2010 Express For Windows Phone 7,名字比较长,易用性很高,功能完善(做开发的人都知道Visual Studio(VS)这应该是全球最好的开发工具了)。使用C#/VB.net作为开发语言,Silverlight/XNA作为应用程序的基础支持,都是简单易学强大的框架。文档更是著名的MSDN,做Windows 开发只需要这么一个东西就OK。而且微软提供了面向iOS、Android、塞班向WP7移植应用的解决方案。
目前来说做开发开发方面WP7是无人能敌的,所以WP7胜。

游戏:
iOS游戏众多,开发者热情比较高。
Android游戏众多,但收费模式问题,可能阻碍开发者的持续开发。
WP7游戏比较少,有XBox Live撑腰专业性强,独占游戏质量高。
游戏的效果不取决于系统,所以是平分的。像iOS上的所谓的高品质游戏《无尽的剑》、《9mm》,经过分析,均可以在现有WP7设备商实现,Android的同等硬件也都可以实现,只是看游戏厂商是否给力了。
比比游戏的数量及质量。
iOS胜。

细节:(我会陆续补充)
WP7锁屏前的黑暗,系统在提示你,我要锁屏了,你是否要做点什么。

微软开发人员提供的Silverlight对话框类

using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Media;
using System.Windows.Shapes;

namespace DialogApp
{    
    public abstract class Dialog
    {
        public void Show(DialogStyle style)
        {
            if (_isShowing)
                throw new InvalidOperationException();
            _isShowing = true;
            EnsurePopup(style);
            _popup.IsOpen = true;
            Application.Current.Host.Content.Resized += OnPluginSizeChanged;
        }
       
        public void Close()
        {
            _isShowing = false;
            if (_popup != null)
            {
                _popup.IsOpen = false;
                Application.Current.Host.Content.Resized -= OnPluginSizeChanged;
            }
        }
       
        // Override this method to add your content to the dialog
        protected abstract FrameworkElement GetContent();
       
        // Override this method if you want to do something (e.g. call Close) when you click
        // outside of the content
       
        protected virtual void OnClickOutside() { }
       
        // A Grid is the child of the Popup. If it is modal, it will contain a Canvas, which
        // will be sized to fill the plugin and prevent mouse interaction with the elements
        // outside of the popup. (Keyboard interaction is still possible, but hopefully when
        // Silverlight 2 RTMs, you can disable the root to take care of that.) The Grid isn't
        // strictly needed if there is always a Canvas, but it is handy for centering the content.
        //
        // The other child of the Grid is the content of the popup. This is obtained from the
        // GetContent method.
        private void EnsurePopup(DialogStyle style)
        {
            if (_popup != null)
                return;
           
            _popup = new Popup();
            _grid = new Grid();
            _popup.Child = _grid;
            if (style != DialogStyle.NonModal)
            {
                // If Canvas.Background != null, you cannot click through it
                _canvas = new Canvas();
                _canvas.MouseLeftButtonDown += (sender, args) => { OnClickOutside(); };
               
                if (style == DialogStyle.Modal)
                {
                    _canvas.Background = new SolidColorBrush(Colors.Transparent);
                }
                else if (style == DialogStyle.ModalDimmed)
                {
                    _canvas.Background = new SolidColorBrush(Color.FromArgb(0x20, 0x80, 0x80, 0x80));
                }
               
                _grid.Children.Add(_canvas);
            }
            _grid.Children.Add(_content = GetContent());
            UpdateSize();
        }
       
        private void OnPluginSizeChanged(object sender, EventArgs e)
        {
            UpdateSize();
        }
       
        private void UpdateSize()
        {
            _grid.Width = Application.Current.Host.Content.ActualWidth;
            _grid.Height = Application.Current.Host.Content.ActualHeight;
            if (_canvas != null)
            {
                _canvas.Width = _grid.Width;
                _canvas.Height = _grid.Height;
            }
        }
       
        private bool _isShowing;
        private Popup _popup;
        private Grid _grid;
        private Canvas _canvas;
        private FrameworkElement _content;
    }
   
    public enum DialogStyle
    {
        NonModal,
        Modal,
        ModalDimmed
    };
}

诺基亚推出Windows Phone 7.5版本地图

 

来源:科技讯

image

【科技讯】北京时间10月4日消息,据国外媒体报道,诺基亚宣布推出Windows Phone手机系统的第一个诺基亚Windows Phone7.5 App,Nokia Maps登陆Windows Phone 7.5 Mango。

两个月前Nokia Maps开始进军HTML5,现在Nokia Maps终于找到了自己在Symbian之后的新阵营,登陆Windows Phone 7.5 Mango。通过其更加强大的功能,正式对Google Maps发起了挑战。在Nokia Maps的简介中,明确指出其支持简体及繁体中文,打消了其HTML 5版本可能不支持中文输入法,需要用英文来进行搜索的顾忌,能够给中文使用者带来更好的互联网体验。

业内认识对科技讯表示,Nokia Maps对诺基亚来说是一个重要的应用,在其宣布加盟Windows Phone阵营至今还未发布一款诺基亚Windows Phone手机。此前一直有媒体称诺基亚会在十月正式发布其Windows Phone手机,而Nokia Maps登陆Windows Phone7.5版本说明诺基亚Windows Phone手机上市已经不远了。

Windows Phone 7.5 开放更新后各方的评论

张恒 于 2011-9-28,14:31

image_thumb

现在,大部分 Windows Phone 7 手机在连接电脑后都能收到 Windows Phone 7.5 Mango 的更新通知。不少媒体开始做全面评测,不过这次更新相比 7720 来说并无太大变化,没有惊喜出现。我们收集了几家媒体的评论,呈现给大家。

This is my next 的评论:

Windows Phone 在移动设备领域里仍然只能算“新鲜人”。当然我们很乐意看到它走了一条跟 iOS 和 Android 截然不同的道路。让人感到有趣,好玩,耳目一新。它的设计理念和交互体验让你在手机上把事情轻松完成。

当然,这个平台仅仅推出了一年。微软的态度谦逊而温和,非常清楚自己的弱点。现在的系统框架已经被完善,第三方开发者也认识到了其中的商机。虽然 Mango 远非完美,但它是我推荐给大家的第一个 Windows Phone 版本,我没有说反话。

目前的局势很紧张,iOS 5 和 Android 4.0 箭在弦上。双核处理器,LTE 网络等高级规格还没有出现在 Windows Phone 身上——尽管我一直认为优秀的软件比发达的肌肉更有用,但谁也不想买“过气”的配置。好在,未来几周新一代的 Windows Phone 就要上市了。

image

Gizmodo 的评论:

对于“非极客”而言,如果你不想买一部 iPhone ,那么这就是你的唯一选择。不是说它比 iOS 更好——事实上没人能比 iOS 更好——但 Windows Phone 是与 iOS 最接近的对手。更重要的是,它是合法的。(暗讽 Android 的专利官司)

这就是说,我迫不及待地想看看诺基亚的新手机。因为当前的 Windows Phone 配置都不够理想。

Windows Phone 是第二棒的,但不是最棒,或者反过来说:“它已经足够好了。”

image

Engadget 的评论:

一个全新的生态系统,如果得不到用户和开发者的支持,那就不能算成功。微软拿出了一些“年轻而新鲜”的东西,试图博得用户的好评,但 Windows Phone 的总体销量仍然不能令鲍尔默满意。

Windows Phone 就像一个不停打嗝的人,他需要一杯水来缓解压力。

在用户体验上,Windows Phone 已经赶上了 iPhone 和 Android ,甚至在某些细节超过了它们。商店里有 30000 个应用也算是不错的成绩单。7.5 的发布,是一个里程碑,它会加快设备普及的速度,也会吸引更多开发者投入进来。

对鲍尔默来说,严峻的第一年已经过去,前途开始变得光明。

文本编辑常用正则表达式

一下Regex适合在VS等支持正则表达式的编辑器中:

{^[0-9]+}

从行首搜索一段数字,存放到第一个变量中

VS中使用\1 \2 ... \n表示第几个变量,可以放在替换的内容中

{^[0-9]+} {.+}

搜索一段数字,中间一个空格,接任意字符,到行尾,打括号对应两个变量

{^[\u4e00-\u9fa5]+}

搜索匹配中文的字符串

Windows Phone芒果内置IE9 功能更丰富

【IT168 应用】用户们都在等待Windows Phone 7芒果的更新,微软也提供了一些新特性,十分值得期待。在最近更新的Windows Phone 7官方博客网站,报道了更新版的芒果系统中内置IE 9浏览器新功能。

最重大的改变是可以使用用户手机上的所有硬件接口。用户可使用手机内置图形处理器进行网络视频和动画播放,会有更快,更流畅的体检。充分支持HTML5,播放视频网站时无需额外的应用程序。

使用Windows Phone 7用户发送的匿名数据信息。微软发现,在早期版本的网页浏览器里,地址栏是最常用的功能。同时,收藏夹和底部标签按钮使用很少。所以,芒果更新将地址栏从网页浏览器上方转移到菜单栏下方,将收藏夹和标签上的按钮放到菜单选项。浏览器的刷新按钮设在地址栏旁边,更容易获得用户。

Windows Phone 7包括内置IE9即将在未来几周内发布更新,美国AT&T公司透露具体发布时间为9月27日。

image

WP7明年推出 专访HTC中国区总裁任伟光

(2011中国国际通信展报道)“2011年中国国际信息通信展览会” 于9月26至30日在北京中国国际展览中心隆重举行。手机中国将对本次通信展进行全面、深入的报道,以全方位的资讯引领观众亲身体验信息通信技术在社会生活中的重要作用。同时我们也联合中关村在线,采访了业内众多知名厂商的高层,深度透析手机行业的发展方向。

在通信展开幕的第一天,我们有幸采访了HTC中国区总裁任伟光先生,在访谈中,任伟光先生介绍了HTC最新的产品以及战略,同时也透露了HTC未来的产品计划,如Windows Phone手机等的最新动态。以下是本次访谈的精彩实录。

image

HTC中国区总裁任伟光(中)

问:我们现在看到HTC跟QQ、新浪都有合作,推出了定制版的手机。除了这两个公司之外,HTC未来会在这方面会有哪些合作?

任伟光:我们7月底的时候跟新浪合作推出了第一款定制的手机微客,上星期跟腾讯合作推出了ChaCha。除了它们两家,今年也有最高端的产品叫灵感,我们也有跟迅雷合作,因为我们是高清显示屏,高清显示屏的移动终端要迅雷的高清电视跟电影的内容,需要一个客户端。所以在这方面我们跟迅雷也在合作,我们很快会推出3D裸眼手机,我们跟迅雷有更进一步的合作。

此外,我们也在跟几家公司洽谈,这是三方的,我们一厢情愿是不行的,需要三方合作。我相信,各位网友多等两三个月,会发现我们现在谈的事情就会明朗,这种产品会越来越多。

问:很多人都关心HTC的windowsPhone 7的手机,我们的很多产品正在全世界各地进行开卖,可惜中国的玩家由于一些原因还无法买到,请透露一下HTC的WindowsPhone 7的手机什么时候能在中国上市?

任伟光:很多网友都知道,我们在WindowsPhone 7手机的英文版和繁体中文版,9月初已经在欧美、香港、台湾地区上市。现在的时间表,我们希望HTC是率先第一批在中国卖的简体中文版的windowsPhone 7的手机,我们的目标争取在明年第一季度推出,跟广大的消费者见面。当然,最权威的答案还需要问微软了。

问:未来在Android和windowsPhone 7中,你们是怎么划分的?

任伟光:HTC采用的是一个多平台的战略,我们Android也做,WindowsPhone 7也做,大家可能注意到,我们跟OMS的平台也做过,跟高通的平台也做过,我们是多平台的战略,最主要是用HTC的Sense做用户体验的区分。

将来我们没有一个很严格的内部划分,有多少个Android?多少个Windows Phone?我们推出一个手机,还是以用户的需求为主,能不能找到细分用户群,这是核心的问题。大家可以看到我们今年在9月份推出的Mango手机,一出来就两个定位,一个是Titan,这个产品的定位是比较大的,比较适合微软的用户,是4.7寸的超大屏,还有一个3.7寸的微软的手机。

问:除了传统的零售渠道,在3G之后运营商定制渠道也越来越中意。今年HTC在这方面大胆尝鲜,和一些互联网的公司,包括新浪、腾讯,跟迅雷的合作推出的互联网手机。我的问题是,我们在选择合作伙伴的条件,或者是我们选择新的渠道上,有没有首要的先决条件?

任伟光:有几点是比较核心的考虑:

第一,深度合作,对用户是不是有很大的体验,而不是一种噱头。是不是结合了之后,整个体验不一样。

第二,三方都要投入,我们刚才谈的这三个服务供应商,包括大家很快会看到的第四个,我们跟他们的合作都是需要两方方便,因为我们要把我们的产品打开,他们要把他们的产品打开,三方的意愿非常重要,不是简单的高层签约就完了,三方的投入都很大。

第三,大家对未来的看法。我们跟新浪、腾讯、迅雷都开始谈到明年的产品怎么做?这是HTC明年的产品路线,这个点是可以融合的,我们觉得是非常重要的。这三点是我们考虑的。

问:整个手机厂商都很重视渠道建设,在渠道建设上您怎么平衡,比如说现在要有一个大的渠道,或者运营商定制,还有电商,未来会不会有更多的补充?

任伟光:我们还是有很多需要做的,我们现在也在尝试不同新的领域,特别是在手机行业,这两三年智能终端的出现有颠覆性的改变,现在有几个渠道在做。一个是传统跟三大运营商合作,另外我们也在传统的零售渠道打造我们的专店专区。在一些新的领域,我们也跟几家包括京东商城合作探讨,应该在智能终端中用什么样的合作方式。我们也有行业的客户,我们推出了跟中国银联定制的手机,这是我们新的尝试。我们刚推出第一款在中国的平板电脑,除了传统的手机渠道,我们也关心在IT渠道的发展。

我们现在有五个渠道里,有两个是传统比较熟的,零售渠道和运营商渠道,另外三个渠道都在做不同的尝试,而且不断的演变,刚才说的电子商务、行业渠道、IT渠道。

问:HTC前段时间有个收购,收购了Beats耳机公司,中国的消费者非常感兴趣也很想知道,这种收购之后消费者可以得到什么样的实惠,跟以前的产品有什么附加的东西,这种实惠什么时候可以带到中国来?

任伟光:HTC在一个多月前我们宣布收购的美国的Beats公司,专门做中高端耳机的。我们这次收购,对消费者有两方面的受惠,第一我们慢慢的把这个公司数码原音的技术带进我们的手机里,我们相信将来消费者用HTC的手机,不但是在一般的通话方面音质会大量的提高,更接近原音,将来做视听设备的时候,大家感觉不同。第二,我们当年跟Beats公司谈,会根据HTC不同的产品,有专门为HTC开发适合用于智能终端的耳机,我们争取在四季度里有这类产品在中国地区推出,跟我们的消费者见面。

问:您认为整个手机市场过去的一年中发生哪些变化?足以影响产业发展?

任伟光:这一年的变化很大,从产品到销售的渠道,都有很大的发展,翻天覆地的变化。但如果谈到最核心的,应该有两点:

第一,整个生态系统的打造。手机行业以前你做你的,我做我的,没有像现在生态系统考虑的比较周全。当然这个事情不是一年前发生的,是在两三年前发生的,但最近一年可以看到每一个人,每一个在这个行业的参与者,大家研发一个产品和服务的时候,都是以一个生态圈的考虑来出发的,这是一个很颠覆性的改变。

第二,大家开始更重视用户体验,用户想什么?怎么最便捷最方便,大家可以看到用户体验很多人都提,抬到一个很高的层次。

问:怎么看待云?

任伟光:云是一个体验的引申,HTC在中国也推出了刚起步的云的服务端。我们会把云放到刚才谈的第二点,把用户体验再加深一个工具,我们相信云的发展空间很大。怎么谈,我们也不想把云描绘到好象一个很神奇的地方,它是一个工具,我们靠云有机的结合到更庞大运算的网络,通过3G的网络还是WiFi的网络,我们相信云的出现会帮我们过去想到做不到的用户体验,我们现在能做到。

VS编译共享目录中的项目

有时我们需要在一台电脑打开项目共享,在另一台电脑打开项目编译,但是编译时VS2010(Visual Studio 2010)/VSE(Visual Studio Express)会产生这样一条错误:

Error Could not load the assembly file://\\****.dll. This assembly may have been downloaded from the Web.  If an assembly has been downloaded from the Web, it is flagged by Windows as being a Web file, even if it resides on the local computer. This may prevent it from being used in your project. You can change this designation by changing the file properties. Only unblock assemblies that you trust. See http://go.microsoft.com/fwlink/?LinkId=179545 for more information.

解决办法是:在VS的IDE安装目录中找到devenv.exe.config,与VPDExpress.exe.config(如果安装Express版),用xml编辑工具打开(包括记事本),在其中找到<runtime>节点,添加如下子节点(编辑工具需要有管理员权限):

        <loadFromRemoteSources enabled="true"/>

添加后类似这样:

image

再启动VS/VSE就可以像本地项目一样进行工作了。

WP7光标精确选择

一新朋友的号码(+086139…),需要保存.
我想把+086去掉,说什么就不能把光标定位到86和139中间向前删除,一点就选中所有数字,当时感觉Mango系统相当遗憾,这都做不了/流泪
后经Pluwen大师指点,很不错,按住的选择方式很棒,主题颜色的光标定位符,非常帅,确实比iOS的牛逼。

image

App Hub发布新闻表示开源移动框架PhoneGap支持WP7

微软App Hub网站宣布加入Nitobi,使PhoneGap支持WP7 Mango。PhoneGap是一个开源的移动框架,使开发者可以构建多个移动平台的Web应用,并且使用标准的HTML5,CSS和JavaScript。PhoneGap刚刚为WP7的IE9提供了HTML5的支持。

PhoneGap当前版本有很多基础特色功能,包括JS API去使用WP7 Mango特性,例如:

  • 访问设备信息(UDDI与stuff)
  • 添加与搜索联系人
  • 链接状态(网络和WIFI状态)
  • 报警或提醒框(alert,confirm)
  • 媒体捕获(图片和视频)
  • 摄像头
  • 加速器
  • 定位系统

下图为PhoneGap单元测试运行在WP7模拟器里的情况

image

还可以访问Nitobi的博客