丁宇 | DING Yu

D2归来及北京印象 1

其实4月29日早上就从北京回杭了,只是现在才抽出时间来记录这次短暂的旅行。

先说D2。

第一场讲座是周爱民先生带来的“前端设计与开发的基本模式”。周爱民的技术水平之高无须赘言,因此我对本场是非常期待的。听下来却发现演讲中纯粹的软件技术探讨不多,内容以UI设计为主,听软件技术专家讲UI设计倒是头一遭,并且其中有些观点确实是独辟蹊径,以另一种视角阐释了UI设计中的焦点、布局和分辨率的关系等问题,虽然也有相当部分有失偏颇(比如混淆了“视觉焦点”和“界面上所获得的焦点”的含义),但总的来讲仍能给UI从业者带来不少有益的思考。

周爱民的讲座

演讲时周爱民问了个问题:GUI中的WIMP是什么意思?大概是问题太初级,没人好意思举手。我便说了句“Window、Icon、Menu和Pointing device”,结果就骗了本周大侠的新书(如下),哈!

周大侠的新书-《Javascript语言精髓与编程实践》

周大侠的新书-《Javascript语言精髓与编程实践》

第三场名为“Enterprise Ajax in PHP”。主讲人Hedger Wang一上来就提出了一大堆看起来相当吓人的名词,听着听着却发现,这不就是拥有一个Front-Controller的MVC加JSON嘛!不过既然作为专题讲出来,想必肯定是在此方面经验丰富。于是我提了个一直困扰我的问题:在一个拥有复杂交互的系统中(想象一个拥有几十个对话框的CRM系统),各种Ajax事件会非常多,此时如何管理这些事件就成了一个比较麻烦的事情。可惜可惜,看起来Hedger对这个问题也没什么经验。另外不知道是不是因为年轻气盛的缘故,Hedger给人一种盛气凌人的感觉,交谈起来很不舒服。并且当我听到他宣称Prototype和jQuery“不适合企业级应用”时,我也就没兴趣再问下去了。

有趣的是,我站在台上提问的照片,上了cnBeta(下图就是),哈哈!

我在提问

最后一场是年轻有位的Yahoo!资深工程师章亦春带来的“Nifty web apps on an OpenResty”,因为有丰富的Perl经验和背景,章给我的感觉是新一代的Unix hacker。他的OpenResty框架能够让开发人员更关注于客户端(浏览器端)编程,而把服务器端变为一个单纯的API提供者和数据源。这个想法本身倒是不坏,我只是不明白其应用场景是怎样的,究竟是怎样的原始需求催生了这个框架呢?另外,OpenResty完全使用Javascript来CRUD数据,并操控各种浏览器行为,此时性能如何保障?可能由于时间的关系,章当时的回答并没有解决上述问题。

此外,OpenResty中的“Resty”表现在何处?这也是当时我没能领会的。从演讲时那个留言板的例子来看,在翻页时URL始终为http://server/path/to/posts.html(因为都是通过JSON来更新其中数据的),恐怕类似http://server/path/to/posts/page3.html这样的URL更加Rest化吧!章同学看到本文不妨解答一下 :)

本届D2上虽然演讲数量不多,但质量都比较高。希望下届的D2能够以收费的形式来举办,以期进一步提升其素质。


  1. 王承石 @ 2008-05-09 18:18:29 +0800:

    章亦春的那个东西应用的可能性不大,只是提供了免费的空间.

  2. agentzh @ 2008-05-12 20:20:32 +0800:

    谢谢你的 review,呵呵。

    你提到的几个问题非常有趣。

    1. 激发 OpenResty 的原始需求是这样的:我们 yahoo 有一个叫做“站长天下”的平台。我们希望给站长生成网站,而该网站可以通过简单拷贝 html+js 静态文件的方式布署在任何第三方的 HTTP 服务器空间中,但同时这样的网站还能实现高度交互等强大的功能。呵呵。

    2. 有关 JavaScript 网站的性能保证也是我一直非常重视的方面。目前,复杂的查询都是站长通过 OpenResty 提供的 RestyScript 语言来事先定义好,并以 Action 的形式保存在服务器之上。换句话说,OpenResty 的 service 本身是可编程的,所以客户端 JS 所做的工作并不是很多。未来通过 Action 封装还可以封装多个不相干的查询,从而减少 HTTP 请求次数,能进一步提高站点效率。

    3. 关于 OpenResty 的 REST 接口,我在会上没有时间详细介绍,非常可惜,呵呵,这其实是 OpenResty 最精彩的地方 ;) 在下面这两篇文档中有比较全面的介绍:

    http://search.cpan.org/perldoc?OpenResty::Spec::Overview

    http://search.cpan.org/perldoc?OpenResty::CheatSheet

    4. 关于 Yisou 留言板的 URL 在翻页时不发生变化的问题,也是非常有趣的。看来你看得很仔细,呵呵。这个应用是最早的示例之一,所以分页定位做得不好。在下面这个 blog 中,是通过 #anchor 的变化来唯一地标识各个分页的状态的:

    http://blog.agentzh.org/#post-list-8 (第 8 页)
    http://blog.agentzh.org/#post-list-10(第 10 页)

    章亦春

  3. 波希米亚 @ 2008-07-12 01:50:17 +0800:

    哈,你的这张照片是我拍的。
    不过没想到你已经去上海了,祝愿有更好发展 =)