月度归档:2012年05月

【转载】对话《JavaScript高级程序设计》作者 Nicholas C. Zakas(中文版)

业界大牛尼古拉斯扎卡斯的一份访谈实录,蛮开阔眼界的,转载给大家,如果喜欢请注意标明转载出处。

注:以下根据Nicholas C. Zakas回复图灵社区访谈邮件的原文翻译。

转自:?http://www.ituring.com.cn/article/1791

—————————————– 正文如下 ————————————————-

Q1:对各种JavaScript库的优点和缺点一直存在很多争论。在您看来,开发人员应该怎么选择合适的库?

Zakas:在选择JavaScript库的时候,有几个非常重要的方面要考虑。首先,就是时间问题,也就是你的项目多长时间必须做完?如果时间很短,那最好选择你最熟悉的JavaScript库。如果时间不那么紧迫,那你可以研究一下别的库。此时,必须要回答几个问题。还有谁在使用这个JavaScript库?这个库有人在不断完善吗?这个库的文档是否完整详细?这个库的背后有没有一个社区,假如你遇到了问题,能不能获得该社区的支持?是否容易找到具有使用这个库经验的工程师?这个库能不能解决你的所有问题,还是只能解决其中一部分?所有这些都是在选择某个JavaScript库时需要考虑的重要因素。

Q2:你对HTML5的未来怎么看?现在的宣传是不是太过分了?

Zakas:HTML5对Web发展是一件好事儿。但不好的是,一些外行的非技术人员,不分青红皂白地给很多无关的东西都扣上”HTML5“的帽子,这才搞得HTML5这个概念满天飞。这与几年前“Ajax”的情况非常相似。从某种角度看,确实宣传上有点过了,仿佛HTML5会彻底改变每个人的生活。事实并非如此。HTML5的意义在于为开发人员提供了更多的工具,利用这些工具能够创建更有吸引力的用户体验。

Q3:看来,Mobile Web(移动互联网)开发会成为下一行业焦点,你觉得呢?

Zakas:移动互联网开发已经是焦点了。今天,谁不关注移动用户,谁就要被时代抛弃。移动互联网可不是昙花一现,它将是一个时代。如果你真是在开发Web应用,那么就必须考虑移动体验,否则就会让别人让抢占先机。

Q4:现在有很多基于JavaScript改进的语言,比如Dart、 CoffeeScript,等等。你认为JavaScript今后的路会朝着哪方面发展呢?是更加类似于JVM这种的中间层,还是仍然维持一个强大灵活的编程语言存在?或者说,对于专注于JavaScript的前端工程师来说,是否应该投入大精力去研究和使用CoffeeScript这种语言来简化工作,而不是纠结于JavaScript本身可能的繁复解决方案呢?

Zakas:我没觉得JavaScript有一天只会被当成一个中间层。Dart和CoffeeScript很引人关注,这说明开发人员可能更希望JavaScript能多适应一些应用场景。最终,我想JavaScript会博采众长,吸纳其他语言中更流行的范式,从而使语言核心更完善。但我不认为将来的Web开发人员会只用Dart或CoffeeScript或者其他能编译为JavaScript的语言写代码。

Q5:你觉得Node.js怎么样?它会在服务器端开发中发挥重要作用吗?将来,Web前、后端开发真能只用一种语言来做吗? 继续阅读

NodeJS与webSocket

NodeJS貌似在一直升温。的确,从去年就一直开始关注NodeJS了,那个时候还是吴玺喆同学和我谈起这个事情~~~回头我就算变扫了一下,无非就是在服务器端运行的JS而已。使用JavaScript作为指令调用底层的C++,这个思维模式还是挺不错的,并且在服务器端执行的效果也非常理想。那个时候想养肥了再看看,结果不到半年时间NodeJs已经有了飞速的发展,各方面的组件,各方面的社区文章介绍都已经非常全面了。NodeJS并且已经退出了Windows版本的安装程序。极大的方便了开发者(之前是在Ubuntu环境下部署的)。

webSocket 是一个非常不错特性,与其说是Html5的功能,不如说是浏览器支持的功能。Html5只是一个规范草案,添加了canvas,header,footer,nav,silder等一系列更加优化的语义标签,而Geolocation,webSocket,localStore等都是浏览器厂商支持的结果。(概念不要混淆哦)正好趁着去学习的时间,做了一个NodeJS与webSocket的小例子。拿出来和各位共享一下。

webSocket 是 Html5 的一种新的协议。它实现了浏览器与服务器的双向通讯。webSocket API 中,浏览器和服务器端只需要通过一个握手的动作,便能形成浏览器与客户端之间的快速双向通道,使得数据可以快速的双向传播。

继续阅读

程序员日记(四)

很久没有更新了,不是因为别的,最近手上有私单,公司的事情也有一堆,暂时忙不过来,太久没更新,也挺对不起观众的。

最近一直在研究着Rails以及NodeJS,另外,收获了不错的PhoneGAP学习心的,那马上的好好的和朋友们交流交流。

公司最近还在催着做无线前端组件库的事,o(︶︿︶)o 唉,wo+的事情还在手上,越来越多的事情会堆积在这里,怎么样好好的处理,这才是我要做的事情,也没啥好抱怨的,食君之禄担君之忧,不管怎么说,一个程序员的技术可以不好,但是职业素养一定要有,不是常说么,素质决定这你这辈子的高度。