Atwood’s Law是Jeff Atwood在2007年提出的:“any application that can be written in JavaScript, will eventually be written in JavaScript.”
声明:本文不是Atwood’s Law的软文也不是javascript的鼓吹,而是想告诉大家,浏览器可以做更多的事情。
如果你不知道Jeff Atwood是谁,这并不重要,重要的是这个定律。
KK认为将来,我们关注的是Screen(屏幕),各种屏幕,PC,手机,平板,车载TV,电视等等等,刚提出Screen时,估计没多少人能完全理解,但是现在,我们回顾周围,你获取的各种信息,有多少不是来自屏幕?
回正题,看看Atwood定律,通俗来说,任何可以使用javascript来实现的应用都最终都会使用javascript实现,貌似有些废话。javascript主要运行环境是浏览器(node.js,mongodb 函数之类的除外),那么今天我们来聊聊是不是所有(几乎)事情都可以通过浏览器完成。
我们来看看现在浏览器都能做什么:
Web App:随着移动互联网爆发,各种App铺天盖地;与此同时,另外一个焦点也一直吸引着无数眼球:HTML5。由此引发一个话题“移动App将死,Web App称王”。随着HTML5标准推进,有更多的javascript API可以应用到app中,引发这个话题也是情理之中,至于谁让谁死还有待验证。
使用javascript重写的应用:做为Emacs党程序员,也许还会配置各种插件调教其为称手的IDE。当我看到一个2004年就出现并托管在github上的在线Emacs时,已经不镇定了。包括后来出现的更逼真的YMacs。
这样的例子还有很多,在线mind管理,在线流程图,制作原型图,甘特图,项目管理等,你还需要本地app么,反正我已经转到线上了。
越来越多在线IDE工具:Cloud9 IDE, Koding,codeanywhere等等等等。他们可以结合github托管代码,通过heroku(也许GAE)实现部署,越来越多的事情可以不在本地完成,因此很多老外程序员可以NB哄哄的说:“我的工作环境只需要一台ipad。”
在线办公:google drive, skydrive,CRM,财务管理,票据管理已经很多很多了,我现在的机器上就没有office工具,完全使用google docs来处理文字和表格。
成百上千的javascript开发框架/工具:JQuery,Sentan,Dojo,Prototype,Yahoo的YUI,还有Batman(hoho,眼熟?),google的Closure等等,在OSChina收录的JQuery插件就超过1000条记录。加上PhoneGap之流对Web App登陆移动端的推波助澜,OMG,你应该再理解理解Atwood’s Law.
一则新闻: JavaScript Git的Kickstarter项目仅28小时达到集资目标,git也未能幸免,那么下一个是谁呢?操作系统?不要开玩笑,操作系统是第一个沦陷的,忘记webOS了么?除了被plam买个hp的改名的webOS,还有运行在浏览器的yuanOS,webQQ其实已经是一个webOS了。
图片处理也不是问题了,腾讯前端团队推出的 AlloyImage ,你认为在线PS还远么?
废话这么多,到底这个定律是否适用,还请大家一起验证吧。