作为一个从05年就浸淫其中的玩智能手机玩家,我已经先后拥有了两台WM+Xscale的HTC手机,一部iPhone,最近刚刚又搞了部 Google/HTC N1,准备继续做新技术的小白鼠,同时也体验一下新技术是如何惠及人类生活的。N1入手不久,琐碎的快乐和烦恼自是不少,但是都无足挂齿。直到最近,有个 搞开源朋友的托我找人从美国带一台将于4月3号完全封闭的iPAD,莫名地就有了些感悟和心得,想跟圈子里面的朋友分享一下。

目前的智能手机,从技术构成上,可以粗略的分为两类:开放的封闭的,泛指涉及其中的软硬件平台。请注意这里我不是用的是开源,而是开放。在我的上下 文里面,基于Symbian的手机还有iPhone算是封闭的,Google Android和基于Maemo/MeeGo的手机算是开放的。自然这里的封闭也未必是全封闭,譬如说作为当今智能手机不可或缺的浏览功能,Apple的 Safari浏览器就从开源项目KHTML中获益良多,甚至iPhone的操作系统OS X也和FreeBSD不能完全摆脱干系。

先说说我买各款智能手机的背后动因:最开始要选择买Wintel的智能手机,是因为从内心里面抵触那些显得小众又不那么开放的其他选择的 (PalmOS和Symbian归为此类),其实现在回想起来未必是是最佳选择,个中原委我会在以后的章节中说明。买iPhone和Google N1是着了口碑销售的道,而且是面对面的口碑销售,而且兼带试用的那种,拿过来一用:哎,这款手机还真是智能啊,买了!

再谈谈买完手机后我做得最多的事情,就四件事,一、找ROM,二、刷ROM(在iPhone上异化为升级固件和越狱)三、找软件,四、安装软件。甘 苦颇多,但是乐此不疲。现在越来越多的人把iPhone的成功部分归于AppStore的存在,其实这种需求在Symbian,Palm OS以及WM智能手机时代就广为存在,看看当时满互联网的手机软件下载网站就知道,只可惜当时提手机提供商和小白鼠们都太技术,太PC,没能把这种需求推 及到那些不太技术的潜在客户,白白错失了一个大的商机,现在这几家公司已经从Apple的成功中吸取了经验,纷纷开起了自己的AppStore,Ovi Store, Marketplace,诸如此类,但怎么看都更像亡羊补牢,仓促应对市场需求而已。这种层次、这种境界,跟乔布斯同志相比,显然差得不是一星半点,因为 他掌握了最广大消费者的消费心理:越简单越易得的东西越好,简单反应了需求,易得提供了手段。这点,别告诉我你不赞同,不赞同是因为你跟我一样,是个不折 不扣的技术呆子(technical nerd)。

那AppStore的成败跟开放和封闭有啥关系呢?有,而且关系巨大,基本结论就是:相对封闭的东西容易更快地建立有效的生态环境,请注意其中的形 容词和副词,没有太多理论基础,就跟大家举个简单例子:我为iPhone开发的一代应用,可以做很少调整就能跑在目前的3GS手机上,相比较而言,开放的 Android上就没那么简单了,同样是Android 1.6x,凯立德地图跑在Moto Droid上很好,N1上基本上就完全不可用,这还不算糟糕的,糟糕的是需要借助NDK进行开发,以满足性能需求的一些应用,如媒体播放器,你想想,虽然 两款机器都是用的ARM,Moto Droid用的是Cortex A8,Google N1用的是Snapdragon,解码芯片完全不兼容,你说这些开发者该咋办?有熟悉软件开发的程序员可能会说,我在芯片的功能之上做抽象,做解耦 啊,so what?你是不是还要写几套适配器,应用还得做个智能侦测之类的?不做这类工作也行,那就索性在market place挂上n套应用:万能播放器-A8版本,Snapdragon版本,Tegra版本,直接把消费群体领向技术呆子群体拉倒。

那么从AppStore的生态建立角度来说,是不是封闭就是最好的呢?不是,往根子里挖,Apple的封闭其实是不自觉中解决了软硬件的兼容性问 题,开放的系统如果保持良好的兼容性,同样具有此类优势。Android的问题就是虽然它开放了,但是做得不彻底,支持不同的ARM芯片而且不做抽象就代 表着引入了万恶不赦、万劫不复的兼容性问题。那么开放的操作系统如何保持良好的兼容性呢?依我看只有一条路,硬件上解决兼容性,最根本的解决知道就是一家 独大(我看好Intel,哈哈),要么就是通过软件上的再次抽象解决兼容性问题,这个工作应该由操作系统开发商来做,Google同志可以学学当年 Microsoft力推DirectX,或者直接使用OpenXL拉倒。

今天就喷到这里,后面再慢慢聊。

分类: 其他

智能手机的开放与封闭刍议相关推荐

  1. 帝企鹅变形记:开放与封闭 马化腾将左右下半生

    2019独角兽企业重金招聘Python工程师标准>>> 导读:依托海量用户群,全面出击,"微"创新,腾讯成就了此前14年的辉煌.而在开放与封闭.全能和聚焦之间,马 ...

  2. 互联网+时代,是更加开放还是封闭

    移动互联网时代,应该是个更加开放和包容的时代,是一个拆掉传统围墙的时代.但各位大佬跑马圈地,创客们细分深挖,却又在建立着一道道新的围墙或挖出一道道新的沟壑.智能互联时代,用户的黏性将更加强,对于买产品 ...

  3. 百度小程序和微信小程序,开放与封闭之争

    尽管小程序有着"连接万物"."用完即走"等理念的加持,本质上却是基于超级App的免手机本地安装的"类App"或"mini App& ...

  4. IPTABLES封闭和开放端口

    这个是个细心活儿,如果只开放特定端口,则在每一条规则里都要加上相应的端口. 任何一条不配DPORT,都有可能放行了其它端口. -A INPUT -p tcp -m tcp --dport 80 -m ...

  5. 开放-封闭原则(OCP)

    开放-封闭原则(The Open-Close Principle) 软件实体(类.模块.函数等)应该是可以扩展的,但是不可以修改的. 两个特征 1.对于扩展是开放的(Open for extensio ...

  6. 让自己的头脑极度开放

    为什么80%的码农都做不了架构师?>>>    一. 头脑封闭和头脑开放 头脑封闭 你是否经常有这样的经历,在一次会议或者在一次小组讨论时,当你提出一个观点而被别人否定时,你非常急迫 ...

  7. 开放式式商业模式_开放式和封闭式耳机之间有什么区别,我应该得到什么?

    开放式式商业模式 Over-the-ear headphones (or, for the terminology-loving, circumaural headphones) come in tw ...

  8. 堵俊平:开放治理是开源社区的终极之路 | DEV. Together 2021 中国开发者生态峰会...

    点击上方"开源社"关注我们 | 作者:堵俊平 | 转载自:开发者生态 | 编辑:刘雪洁 | 设计:宋传琪 | 责编:王玥敏 内容来源: 2021 年 6 月 5 日,由 Segme ...

  9. 腾讯百度阿里,三巨头谁最开放?

    A-A+ 罗超 2013-08-14 06:4240投稿腾讯百度阿里巴巴头条 大约一周前,微信第一自媒体联盟WeMedia的微信群爆发了一次激烈的讨论,主题是关于中国互联网巨头的开放.有人说腾讯最开放 ...

最新文章

  1. android设置title字体大小,android setTitle怎么实现字体的大小
  2. 客户端修改文件服务器密码,客户端服务器登录 密码问题
  3. Technode:滴滴这五年,大数据为城市交通做了什么
  4. 【WEB安全】flask不出网回显方式
  5. 【WPF on .NET Core 3.0】 Stylet演示项目 - 简易图书管理系统(2)
  6. SpringMVC详细执行流程与组件说明
  7. Mysql中循环拼接参数_利用循环向数据库中插入数据,参数重复的问题
  8. CS229学习笔记(2)多变量线性回归
  9. 笔试题--你准备好了吗
  10. 【渝粤教育】广东开放大学 建筑专业 形成性考核 (57)
  11. Oracle 11gR2数据库使用
  12. 【博客7】缤果Qt串口蓝牙调试助手V1.0(初级篇)
  13. 获取微信公众号发布内容封面图片url
  14. linux趋势杀毒安装目录,Linux杀毒软件(ClamAV)
  15. Java判断图片文件格式,不是根据文件后缀判断
  16. 水星无线网桥ssh服务器,水星路由的SSH连接步骤
  17. 生成服务器证书 启用HTTPS 生成自签名证书
  18. 计算机接口电路的主要功能,接口电路的分类、功能及作用
  19. 使用Fiddler实现网络限速,模拟低速网络
  20. 4个最好的在线漫画生成器,轻松创作漫画

热门文章

  1. 《道德经》程序员版第五章
  2. 500个爆文标题_我研究了999篇100万+爆文,终于发现这10条标题规律!
  3. js 正则 显示千分号 支持整数和小数
  4. Java正則表達式詳解
  5. 大一c语言操作题期末考答案,大一期末考试c语言操作题答案
  6. 计算机s1,计算机S0、S1、S2、S3、S4、S5状态
  7. centos mysql 启动_MYSQL在centos上首次启动
  8. Vasya and String CodeForces - 676C(尺取法)
  9. java什么是重构 何时使用重构_Java 之重构现有系统实战(一)
  10. 深度学习(17)TensorFlow高阶操作六: 高阶OP