实践出真知!——趁热把今天的webrebuild与会心得分享出来

本文摘自 勾三股四 更早时期的 不老歌 博客。


webrebuild.org第四届年会-北京站[2010.07.17]

webrebuild.org几个小时前刚刚结束

参加今年的大会,首先是找会场找了好久 囧
然后,又见到了好多老面孔,认识的,寒暄一下,不认识的,围观一下

当然,重要的是,今天蛮多收获



蒋定宇同学(awoo)的前端团队建设的实践经验(他称为“实做”)非常有学习价值!

他提到了三点:

0.台湾“格以”学习时间:实做——实践、机车——偏执且疯狂

1.减少大家开发、调试、上线时的“环境”差异——尤其是个人开发用域名、测试域名、正式域名的差异、压缩前代码和压缩后代码的差异等等。这里提到了名为Fiddler的软件,貌似会场好多人都在用了,很酷,但很惭愧我还没有接触过;另外通过yui compressor + yui combo将css/js文件合并打包,并通过不同的请求参数获取不同格式的代码结果让我眼前一亮!很有趣,Awoo主要是来讲思路的,我却被他提到的工具吸引了 囧 看来我的思想层面有局限性啊

2.模块化开发。其中提到的《scalable-javascript-application-architecture》我也有认真研习过,也非常赞同其中的观点——即使我也看过实践过,awoo的“实做”还是给了我惊喜:他把Sandbox那一层在实做中转变为了API,更加符合实际的需求和架构。Great!我们在应用这套架构的时候其实也注意到了这里在实际情况中显得有点牵强,但却没有想到大胆的改变它的观念,而是硬着头皮继续起名为Sandbox……(我心理素质真好 囧)

在敬仰过Awoo同学之后,我又有了更多的思考:原文的这套架构实在是总结得太好太全面了,以至于我们想开发一个OS,也可以照这个思路来做。问题来了,我们针对实际的js架构任务,是否需要一字不落的把这套架构搬来用呢?或许可以根据实际情况,在实做中简化和调整的,像Awoo把Sandbox简化为API就是个很好的例子。同理,如果我们实际的模块通信是很少很明确的,那么broadcast和listen的部分也可以简化。

3.让犯错变得困难。这里有很“机车”的观点哦!不过我很欣赏Awoo的魄力和团队建设的哲学,尤其讲到“0和1的程序世界不应该有妥协”的时候,真是讲得我热血澎湃啊!觉得自己不“机车”一点对不齐这门神圣的职业了!



后来场地的灯光成了主角,我完全看不见自己的笔和便笺了,就没有记录太多东西。但有一个话题印象深刻,就是那个“把骆驼按倒”的邪恶问题

这个问题其实也贯穿了整个大会,好多嘉宾的话题中都涉及到了,中午的《唐友华talk show》节目时间也都在聊:如何向自己的老板或一起协作的团队推行自己认为先进的技术和理念

我这里想给大家介绍一个名词:现行标准——这是我从公司的产品老大那里学来的词。比如我们产品老大总说,IE6就是中国浏览器的“现行标准”,他不一定和学术上的标准(比如W3C的Web标准)完全吻合。学术标准意味着技术可行性和合理性,现行标准则意味着我们的目标和需求——它也是“准”的。

所以我的核心观点是:本着技术“以人为本”的原则,我们但凡有再先进的技术,最后也是为人服务的、满足需求的、匹配现行标准的。

但是现行标准取决于什么呢?其实不是新技术的产生,而是人的需求。社会进步的根本驱动力其实也不是生产力的进步,而是人类永无止尽的欲望和贪婪。所以只有旧的事物无法满足需求的时候,人们才会主动接受新的事物,不然闲着没事标准干嘛要变来变去呢?

人的欲望,从历史的角度看,是会自然稳步增长的,当然我们也可以在微观环境下扮演催化剂的角色——我想这才是大家真正想做的事情。这里再引出另外一本书:《leadership(领导学)》。其中有一个章节,系统的阐述了“如何改革”,大家有兴趣的话可以从中有所汲取。



最后,还有一些有趣的瞬间,在下面做个备案。以后每次回忆到这里,都应该会很有画面感吧:)

来自Opera的嘉宾,先是被大会要求亲手送出Firefox的礼品,接着又被要求送Chrome的礼品
嘉宾的Apple设备,有点争奇斗艳的意思
head-body仔又在游说邪恶的“tidy模式故意减速”的政策了
真正的html5原来是不包括JS API的
flash也可以作为压缩图片的一种选择,真是实践出真知!
欲波们即使不在会场如此寒暄,你们的热情、努力和呕心沥血的付出大家也都看在眼里了,向你们致敬!