array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 iPhone5,发布的不仅仅是一部手机 - 爱码网
chijianqiang

本文已首发于InfoQ中文站,相关链接:iPhone5,发布的不仅仅是一部手机

2012年9月12日,北京时间13日凌晨,万种瞩目的iPhone5发布了,早晨打开Safari,发现铺天盖地都是iPhone5的媒体报道。这部大戏由于长达半年的泄密,到真正推出的时候,缺少了“One more thing”的高潮和引爆点,这也是大家都在诟病的地方,比较吸引眼球的字眼层出不穷,比如,创新困境、神话终结、褪去光环、请把iPhone5从我面前拿开等等。所谓期待越高失望越大,作为全球市值最高,最炙手可热的公司,承受这些东西是无可厚非的,同时大家怀念逝去的科技伟人乔布斯的情感也可以理解,在这里我想从一个普通用户和开发者的角度谈谈自己的看法。

说起Apple的创新,大家总是从2007年iPhone横空出世开始计算,但事实上从Apple公司一诞生,这就是一家以创新为Vision的公司,或者说Apple公司的Vision一直都是找到科技与人文之间完美的结合点,然后将其推送到大众面前。AppleII的诞生奠定了个人电脑市场,iPod改变了人们听音乐的方式,iTune重新定义了音乐和图书的市场,接着iPhone和iPad的横空出世,让人们模糊了手机、平板和个人电脑的界限,取得了21世纪最让人瞩目的成就。这些创新和产品都经历了漫长的过程,无论是软件技术还是工业设计,都是通过长期积淀完成的,从来没有一蹴而就的成功。举个例子,我们知道现在大家使用的OS X操作系统都是64位的,但Apple向64位迁移整整花费了6年时间,期间历经4个版本(10.3-10.6),这么做的好处就是,对于用户基本是无感的,一代代操作系统的更新,所有程序都正常使用,无论是32位还是64位。对于开发者而言也非常方便,只需要做微小的改动重新编译程序即可发布成支持64位的应用。这种潜移默化的变革和更新,都是符合用户至上的原则的。

iPhone的各个版本中,第一代和第四代是获得赞誉最多的,第一代属于横空出世,第四代,也就是iPhone4属于重大改进和优化,包括外观、Retina屏、iOS4等,工业设计和软件技术达到了一个极高的水准,期间间隔三年。两年之后,我们寄望iPhone5在外观、硬件等工业设计层面达到一个全新的高度可能性很小,而且在iPhone4和iPhone4s用户保有量极大的情况下,任何微小的不适改动都会带来重大的负面影响,如果发布的是一款全新外观的iPhone5,我想也会有大批的围观者骂街,“我再也不相信Apple了”,“神话坍塌”,“我要一直用iPhone4”等等。这可以说是保守,但是“再一次改变世界”,不是一年一次的。

另外,我在多个场合也说过,iPhone从来不是一部手机的事。它的硬件、操作系统、AppStore、开发者,包括与Mac、iPad、iPod的补充和促进,已经形成了一个完整的生态系统,拿整个Android阵营与iPhone比拼硬件毫无意义,由于Apple的软硬兼施,软件系统可以让硬件系统的性能发挥到极致。在智能手机里,iPhone4s的CPU、内存等硬件信息不是最好的,但同一个App,比一下用户体验和顺滑程度,大部分还是iPhone好一些。

所以现在这个世界,大家玩的都是平台,很多人以为淘宝是卖东西的,做电商的,其实淘宝是玩技术玩平台的,顺手把电商做了。Apple也是一样。

最后来说说这部iPhone5,我虽然是Apple产品的用户,但没那么追新,基于现在手里这部iPhone4手机,我希望我的新手机能够更快些,屏幕稍微大一些,3.5寸也能接受,待机时间长点,轻薄一些就更好了,当然整体手机要精致带感。从这个角度而言iPhone5完全可以满足我的需求。从现在发布出来的特性来看,我比较喜欢的特性包括:4寸Retina屏;全景摄像头(这个会杀掉一批摄影App吧);新的外观设计,尤其喜欢全黑的机身,非常有质感;新耳机EarPods也很赞;新版的iTunes也值得期待。当然,还包括随机搭载的iOS6。对于开发者而言,iOS6的GM版本已经可以在开发者中心下载了。

说到开发者,最大的变化就是iOS需要多适应一种分辨率了。如果未来会发布iPad mini,那么Apple的移动设备就有四种分辨率需要开发者去适配,虽然iOS6的SDK里已经提供了AutoLayout,但是如何兼容其他版本的设备还需要解决。目前iPhone5对于原有3.5寸屏的App的展示方式是上下留两个黑边,整体布局不变。

作为一个软件从业人员,我知道一个产品从无到有是困难的,从有到精是更难的,而当你站上一个巅峰之后,哪怕是做最微小的改进和提升,都需要花费大量的人力物力,同时还要承受失败的风险。我们都知道,从平庸到优秀是相对容易的,从优秀到卓越就不是那么容易了,可能很多人、公司穷尽一生都无法达到卓越的境地。

有时候,我们只是需要一点耐心,把我们自己的事情做好的同时,再等等。

分类:

技术点:

相关文章: