JavaScript,只有你想不到

出处:http://radar.oreilly.com/2011/06/time-to-learn-javascript.html

很长时间以来,JavaScript在我眼里都是编程语言中的二等公民。早先,它经常是很多安全问题的发源地,就像是胶水一样,它能把HTML应用与样式 粘到一块,可没有人拿它来正正规规地编写程序;这样的情形太普遍了。而Java、Ruby、Python,这些才是真正能用来编写程序的语言。

过去几年间,我对JavaScript的态度有了彻底的改变。JavaScript已经“长大成人”了。我敢保证很多JavaScript开发人员都不会 认同我前面的说法,他们会说JavaScript一直都是一个十分强大、成熟,深得人心的语言。或许他们说得没错,事实上只要是一门完整的编程语言,就能 拿来编写程序,也包括BASIC这种滥东西。而一门语言真正有用,必须一方面自身具备很强的表达能力,另一方面还要有众多的库和开发工具。显 然,JavaScript的表达能力早就没有问题了,即便是创建对象的方式有点不好让人接受,其实问题也不大。直到最近,一些极其重要的扭转局面的技术出 现了:jQuery、JSON、Node.js和HTML5。或许JavaScript以前就是一门完善的语言了,但却是这些重要的相关技术(以及其他一 些没有在这里提及的),让JavaScript成为了每一个开发人员都知道的语言。如果明年你要学一门新语言的话,那一定就是JavaScript。

潜力无限的Node.js

说Node.js潜力无限的意思,就是它有可能引发Web开发的革命。 Node.js是一个框架,用于构建高性能Web应用——即使是巨量的请求也能应对如流。虽然Node本身作为一个底层框架,能够用于构建任何应用,但它 还是最适合构建Web服务器。它的异步事件驱动模式与传统的请求-响应模式相比,无疑更适合Web应用。

有两方面因素更让人看好Node。首先,Google在提升JavaScript性能方面掀起了一场革命。这句话的意思并不是说你随时随地都可以用上最好 的JavaScript引擎(尽管这也是我们一个美好的期望)。但可以肯定的是,Google在其他竞争对手还没有上心的情况下,真的把 JavaScript性能当成了一回事儿。如此一来,就把Mozilla、Apple、Microsoft、Opera,还有其他浏览器开发商逼到了性能 竞赛的跑道上。结果导致我们现在使用的JavaScript引擎较之几年前快了不知道有多少倍,完全有能力运行复杂的大型Web应用。

其次,Node有着庞大的开发人员基础。不管大家在服务器端使用的是什么语言,但在客户端却鲜有不使用JavaScript的。有的人可能是“剪刀加浆 糊”式的东拼西凑,有的人则可能用JavaScript做出了高超的Ajax应用,而有的人甚至实现了全功能的应用程序,像Twitter或Gmail。 可不管怎么说,JavaScript开发人员的数量无疑是非常庞大的。而Doug Crockford等作者更是极力宣传所有人都应该把JavaScript当成一门严肃正经的编程语言来看待——尽管它还有不少缺点。

当时当下,编写Node应用相对还是个“粗”活儿,毕竟它只是一个底层库。想象一下单纯使用JavaScript写代码,对,就是这种感觉,Node当前 还是一个beta版的格局,与Rails或Django这样成熟的Web开发框架还没法比。这种状况无疑会改变。一些轻量级的框架,比如Express,已经出现了;我坚信更多基于Node的全功能框架将继续不断涌现。

前面提到过一些几乎完全在浏览器中运行的高级Web应用。那些都已经不算什么新鲜事儿了,Gmail多大了?Google Maps贵庚了?不过,用JavaScript编写在浏览器中运行的应用的客户端无疑是越来越有吸引力了。HTML5则继续推高了人们对这一趋势的期许。

HTML5就是JavaScript

我不知道已经说过多少次了,HTML5实际上并没有多少与HTML有关,它其实就是JavaScript。HTML本身有什么变化?不过一些新标签而已, 况且哪个新标签都不难理解。HTML5的威力在于让你能用JavaScript来创建这些标签。假如没有后台代码通过Canvas来创建动画、游戏,或者 通过它来实现一些数据的可视化,这个标签也没有大用处。从浏览器开始支持Canvas开始,我已经看到了Asteroids(行星游戏)的上百个实现,那都是开发人员为熟悉这个新特性所做的练习。有的比较粗糙一些,而有的则极其精美。这些完全都要归功于JavaScript。

由此可见,HTML5并不是以尖括号为特征的标签语言的一次大的改进,其实质是赋予了JavaScript更强大的能力。WebGL库 (当前还羽翼未丰)支持在HTML5的画布中绘制实时的3D图形。HTML5的地理位置支持在浏览器中实现LBS(Location Based Service)应用——这都是手机的基本配置。而持久存储以及离线功能则为开发能与桌面应用媲美,但却在浏览器中运行的全功能应用奠定了基础。目前,就 连增加多点触摸事件的实验性的库也已经出现了。凡此种种,无一不是实实在在的JavaScript特性。HTML5只是为这些高级功能的发挥提供了舞台。

退一步讲,不依赖于HTML5的浏览器端开发库也取得了长足的进步。长久以来,JavaScript一直都是在HTML中实现动态效果的不二之选。可两个问题迟迟得不到解决:一是浏览器兼容性问题,二是直接操作DOM太麻烦。jQuery让这两个问题霎那间消失得无影无踪,这个库已经成为现代基于浏览器的客户端开发的基本配置。不过,并非只有jQuery。Protovis、还有D3,都可以让你直接在浏览器中创建复杂的交互性数据可视化效果,有史以来第一次让浏览器成为了展示数据的一个重要媒介。

JavaScript与数据库,编译器与语言

就连数据库里都开始广泛使用JavaScript了!当前如火如荼的NoSQL运动的三只领头羊:CouchDB、MongoDB和Riak,都是“文档数据库”。它们保存的不是表,而是文档。这几个数据库所谓的“文档”,其实就是JSON文 档,而不是Word或Excel。(Riak除了JSON文档,还支持XML和纯文本。)JSON已经成为一种被广泛采用的数据交换格式(所有现代的编程 语言几乎全都有解析JSON的库),不过请注意,JSON实际上不就是一种序列化JavaScript对象的格式嘛!因此,虽然你可以在任何语言中使用 JSON,但在JavaScript开发中使用它则是再自然不过的事了。况且,JSON 这个格式成为一种跨语言的标准,而不是Python、Ruby或Java等语言的序列化格式,这个事实本身足以说明JavaScript将在更加广阔的舞 台上大显身手。还不仅仅如此,上述三个数据库都内置了支持JavaScript查询的能力。未来几年,更多的人都将会惊讶地发现,JavaScript和 JSON还会内置到其他应用程序中!

JavaScript时代的大幕才刚刚拉开。在今年的JSConf上,一个核心主题就是“JavaScript到JavaScript的编译器”,也被人们看成是未来的一个主要趋势。Google在“编译生成JavaScript代码”方面是首开先河者。据我所知,GWT(Google Web Toolkit)应 该是通过编译(从Java代码)生成JavaScript代码的第一个框架。以前我对GWT并没有太重视,只是觉得它是一个致力于拯救那些Java程序员 的框架,好让他们不必因为(学习)编写JavaScript而浪费时间。可是,GWT在编译过程中对JavaScript做了那么多的优化,简直是太神 了。Closure就是一个“JavaScript到JavaScript的编译器”,能够实现同样级别的优化。Traceur,这是几个星期前才冒出来的一个框架,通过它能够试验JavaScript的新特性,换句话说,它可以把带有实验性语言特性的JavaScript代码编译成可以在所有现代平台中运行的JavaScript代码。

最后,我们也开始看到了当初Java大旗下JVM语言的蓬勃景象:很多语言都在致力于编译成JavaScript!其中有一些语言比较有意思,像Coffeescript和Kaffeine, 它们在风格上酷似JavaScript,但更关注弥补JavaScript的一些不够完善的地方。是不是觉得JavaScript的对象模型特有意思,可 怎么看怎么有点笨笨滴,有木有?是不是一想到基于原型创建一个实际的对象都需要反反复复地定义这定义那,就望而却步了,有木有?Coffeescript 对此作了明显的改进。除了完善对象模型,Coffeescript 还添加了类似列表解析(list comprehensions)的新特性,去掉了大部分花括号。就像在Python中一样,要使用缩进来区分代码块。

未来的Web服务器、取之不尽的客户端库、HTML5、数据库,乃至基于JavaScript的语言——我现在一睁眼看到的就是JavaScript!假 如你曾经对JavaScript敬而远之,今年可是该学习它了。没有任何理由,真的,再不学,恐怕你就没机会跟上时代了!

 

苹果中国维修条款微调 被指玩文字游戏

苹果公司售后维修霸王条款上个月底遭到中国消费者协会联合6省消协组织的炮轰后,苹果方面依然没有对外有过正面回应。

不过,《每日经济新闻》记者昨日(7月11日)走访北京市场后发现,苹果公司已悄然更改了 《iPhone维修报告》中的“维修声明”,而且对其平板电脑、笔记本电脑等产品《维修报告书》中的“维修声明”也进行了更改。

此外,有知情人士透露,苹果方面已与中消协有过接触,具体情况不得而知。

维修条款调整后依然霸气

结合有关媒体报道及记者昨日对北京市场部分苹果授权维修点的走访发现,苹果公司已悄悄地更改了其相关维修报告。

其中《iPhone维修报告》已经换成《iPhone维修报告书》,被消协点评的霸王条款或删除或更改。最明显的一条是,此前的“维修声明”中规定,维修更换的部件可能采用翻新件,新的报告书中,这一条已经删除。

对于维修过程中逾期未取的手机,原条款规定,“送修品自本维修中心通知取机日起逾一个月仍未响应或领回者,自通知取机日起收取每日10元的保管费,逾90天,本公司不负任何保管责任。”新条款规定“送修品修复并通知后逾期不领取,本公司不负责任和保管责任”。

曾参与点评苹果售后维修条款的北京盈科(天津)律师事务所律师刘品芝,昨日在接受 《每日经济新闻》采访时直言这是一个退步。她指出,新的规定让用户的手机存在被随意处置的风险。

昨 日,记者在北京西单大悦城苹果售后服务点发现,苹果公司给用户提供的iPad、iMac、iPod等产品的《维修报告书》的“维修声明”也都已修改,与 iPhone新“维修声明”基本相同。值得注意的是,在上述新的维修条款的特别声明中,相关保修规定除了以苹果产品随机附带的规定外,还“以国家相关规定 为准。”

针对上述修改过的 “维修声明”,刘品芝认为,基本上并没有多大改变,有些条款也不明确,只是“做了一些文字游戏”,“仍存霸气”。

“目前的做法应该是苹果迫于舆论压力所采取的应对措施。”中国网络法律网首席律师顾问赵占领分析认为,由此可以看出苹果对消协和消费者的意见还是有所顾忌,试图缓和矛盾,但“让步明显太小,有些规定仍直接违反法律”。

江苏全省范围内开展清查

其实,苹果公司进行的上述修改,此前已在南京地区进行了尝试。

江苏省消费者协会副秘书长李小娟曾透露,该消协曾于5月底前往苹果在南京的服务商处问询、核实维修报告条款及维修报告执行情况,6月初,后者就提交了新的报告书。

当时李小娟就发现新的报告书中,除了取消了的条款外还表示,送修后通知并逾期不领取的,该公司不负任何保管责任。李小娟认为这是苹果“减轻自己的义务、加重消费者的责任。”

江苏省消协此前多次表示,已经和该省工商部门沟通,如果苹果公司对上述行为再不进行规范,工商部门将会进行全省查处。

《每日经济新闻》记者昨日获悉,江苏省工商局、江苏省消协从7月5日至11日在全省范围内开展对“苹果”等电子产品维修商维修服务条款的集中检查行动,要求对维修服务条款存在违法侵权的,立即停止使用并限期改正,对逾期不改的商家依法立案查处。

“苹果并没有联系过我们。”李小娟昨日接受《每日经济新闻》记者采访时表示,上述检查行动结束后,将会按照相关规定采取下一步行动,“把这个事情贯彻到底”。

记者从知情人士处获悉,苹果方面已经与中国消费者协会进行了沟通,不过具体情况如何当前并不明朗。李小娟也表示,他们并未接到中消协对此事的进一步反馈。

记者昨日就此联系中消协相关宣传负责人,后者表示对于与苹果维修条款相关的问题,当前不方便接受采访,中消协会在合适的时间对外发布消息。

电视支付牌照获批 “用电视”时代临近

近日,中国人民银行公布了第四批获得第三方支付牌照的95家企业名单,其中首次出现了数字电视支付业务。据了解,通过该业务,用户可以用“电视+遥控器” 的方式进行银行卡支付。实际上,去年有品牌厂商就已经推出了具有银联支付功能的智能电视机。这样看来,似乎用电视支付已经近在眼前,但记者调查发现,事实 上,由于牵扯到支付安全与消费者的使用习惯等问题,目前电视支付更多的还是一个概念,离消费者广泛应用还有距离。

据数字电视研究报告称,中国在2010年已经成为数字电视使用量最大的国家,并且到2017年末将达到4.17亿台。面对如此庞大的电视消费人群,电视支付应该是大有可为的。但对于眼下来说,电视支付业务还仅仅是开始布局。

易观国际分析师张萌对记者表示,电视支付目前处在起步阶段,但对于电视机企业来说,是一 个产业链的延伸,对业务线的丰富是有利的。“以前针对互联网、电子商务的支付牌照基本上已经覆盖很全面了,这次探索性让一些企业进入到电视支付领域,寻找 传统电视领域新的业务增长点,是一个很大的突破。”广电专家吴纯勇表示,数字电视支付业务获批,让行业思考除了正常的传输电视节目之外,电视还有没有其他 的功能。

电视支付牌照的发放让人们看到了一个新的巨大的市场,那么,当下这个市场的现状如何呢?

业内人士分析指出,电视支付比PC支付有优势,对于用户来说,进入门槛较低,使用简单,对智能电视的推进来说是利好的。但是电视支付未来几年还影响不到支付格局,与三网融合一样,很多问题还需要多个管理部门的沟通协调,比如银行、工信部、软件企业、硬件厂商等。

电视支付是需要技术保障的,否则消费者的资金将置于危险之中。但是记者采访发现,就目前的技术而言,还不能有效保障电视支付的便捷、安全,技术上还有待完善。

部分城市尝鲜电视支付

对大多数消费者来说,电视支付目前更多的还是一种概念性的支付方式,但是在一些城市,消费者现在也可以成为电视支付的体验者。

在天津,只要消费者家中有高清机顶盒,再开通互动电视业务,就能在电视机上实现包括账户查询、转账还款及手机费、固定电话费、有线电视费、取暖费等公用事业缴费。

在上海,2010年12月,打造出了银行卡电视支付产品与标准,推出了我国首个电视支付系统平台。

在杭州,2011年3月29日,杭州区域内华数电视用户可以在电视上使用支付宝账号进行购物,一举打通交易与支付环节,使得华数淘宝成为国内首家实现购物、支付全流程的电视平台。

在江苏,首期开通的主要是公共事业缴费、信用卡还款、“家乐购”网上商城、数字点卡购买等持卡人经常使用的便民服务业务。

在河北,2010年保定市开通家庭有线数字电视支付终端电费收取业务,居民们足不出户就可以通过机顶盒加遥控器缴纳电费。

文/山东商报

苹果为什么牛:离职员工创办 Android 和 EA

苹果新总部设计图

苹果新总部设计图

导语:美国科技博客BusinessInsider今天撰文,列举了从苹果离职的员工创办的十二家企业,就连竞争对手Android和游戏巨头EA也都出自苹果旧部的手笔。

以下为文章全文:

如果想证明苹果人才济济,只需要看看他们的员工离职后都创办了哪些公司即可。苹果前员工涉足的领域多种多样,从云计算到游戏,再到家电,可谓包罗万象。以下就是苹果前员工离职后创办的12家公司:

1、Nest Labs由iPod之父创立

在苹果工作时,托尼·法德尔(Tony Fadell)开发了iPod,从而帮助苹果重新定义了便携音乐播放器行业。法德尔2008年从苹果离职,后于2010年创办了Nest Labs,该公司重新定义了恒温器行业。苹果最近还与该公司合作,在网上商店销售这款恒温器。

2、Android创始人最初供职于苹果

安迪·鲁宾(Andy Rubin)的职业生涯始于上世纪90年代,他当时是一名苹果工程师。后来,鲁宾离职创办了开源移动操作系统公司Android,并最终被谷歌收购。苹果后来称,鲁宾在苹果任职的经历对他开发Android起到了很大的帮助。

3、云操作系统创业公司Upthere由Mac OS功臣创办

作为Mac OS的功臣之一,柏兰德·瑟莱特(Bertrand Serlet)被普遍视为苹果的天才人物之一。他2011年中期离职,后来与另外几名苹果前员工创办了Upthere公司,专门开发云计算操作系统,希望改变人们在线存储文件的方式。

4、职业网络创业公司Meeteor由Mac项目经理创办

Meeteor希望将职业网络推进到下一个阶段,帮助用户认识对自己职业发展有帮助的人。这家公司的联合创始人克里斯·李(Chris Lee)曾经担任Mac OS X的项目经理。

5、Path创始人戴夫·莫林(Dave Morin)同样是苹果旧部

莫林的最大影响是在社交网络领域,他曾经任职于Facebook,并参与了Facebook Connect通用登录服务的开发,最近还创办了私有社交网络Path。但在此之前,莫林曾经负责苹果的高等教育营销业务。

6、Flipboard创始人之一曾是苹果高级工程师

埃文·多尔(Evan Doll)在苹果任职了6年时间,首先担任专业视频软件工程师,后来成为iPhone高级软件工程师。他2009年中期离开公司,与他人共同创办了Flipboard,这是一款可以将各种社交和网络内容以杂志模式呈现的应用。

7、Posterous由苹果前工程师创办

萨琴·阿加瓦尔(Sachin Agarwal)曾经在苹果工作了6年,后于2008年创办了Posterous,这是一款简约的博客平台,最终被Twitter收购。

8、投资者社交平台Stocktwits由苹果安全分析师创办

Stocktwits为股票投资者提供了一种实时信息分享渠道。该公司创立于4年前,其联合创始人索伦·马克贝斯(Macbeth)曾在2005年左右短暂担任过苹果的信息安全高级分析师。

9、LinkedIn创始人雷德·霍夫曼(Reid Hoffman)曾是苹果用户体验架构师

在2003年创办LinkedIn近10年前,霍夫曼曾经担任苹果用户体验架构师。霍夫曼的LinkedIn资料显示,他曾经在苹果负责过多个大项目,包括eWorld International和Global Access Assistant。尽管这些项目似乎知名度很低,但毕竟当时是在90年代中期,史蒂夫·乔布斯(Steve Jobs)尚未回归,而且苹果也完全改变了发展方向。

10、数字教科书创业公司Inkling创始人曾任职于苹果教育市场营销部

马特·麦金尼斯(Matt Macinniss)在苹果工作过7年,担任过多个职位,还曾负责过教育市场营销工作。他2007年离职创办了Inkling,这是一个颇有前景的教育创业公司,为用户提供了一个发行互动数字教科书的平台。不幸的是,苹果也已经推出了自家的互动教科书软件。

11、EA创始人早期曾供职于苹果

特里普·霍金斯(Trip Hawkins)早期曾经担任苹果营销总监,但最终于1982年离职创办了EA。乔布斯将此视为一种“背叛行为”,但事实证明,霍金斯做出了正确的决定。他还从苹果挖来了很多人帮助他运营当时还处于发展初期的EA,包括戴夫·埃文斯(Dave Evans)和帕特·马里奥特(Pat Marriott)。

12、Salesforce.com创始人曾在苹果工作过一个夏天

Salesforce.com创始人兼CEO马克·本尼奥夫(Marc Benioff)上世纪80年代曾经在苹果从事过一个夏天的编程工作。尽管这或许不足以将他列为苹果旧部,但这段经历对他影响巨大。本尼奥夫后来写道:“那年夏天,我发现一名企业家完全有可能推动革命性的创意。”

13、Square也有很多苹果旧部

Square虽然并非由苹果前员工创办,但这家创业公司的确吸引了大量苹果前员工。Square拥有众多苹果前设计师,最近还招募了一名苹果前硬件工程师,帮助其开发硬件产品。(书聿)