有些书,封面印着厚墩墩的技术名词,掂在手里却轻飘飘的。刚合上《Silverlight权威讲座》,我愣神了好一会儿。真不是书有多难啃。纯粹是它像个落灰的旧铁皮盒子。把咱们当年信誓旦旦觉得能“彻底改改网页交互玩法”的那段日子,连同一堆现在看着直挠头的代码习惯,一股脑儿塞了进来。这事儿大概就是这么个意思。你翻开它。扑面而来的不是技术。是时代的眼泪。

董大伟在书里掰开了揉碎了讲ASP.NET和Silverlight怎么搭伙。说实话,刚翻到XAML语法那几页,我眼皮直打架。一堆标签和属性摞在一起,密得连条缝都不留。跟当年手动调接口似的,看着就脑仁疼。可看到作者硬生生搞出来的那个DynamicXaml控件时,我手指头停住了。他写得明白:有了它,前后端能省掉一大串AJAX和JavaScript的破事儿,直接对接。啧,这事儿未必是啥高招。当年为了绕开跨域请求和浏览器兼容的坑,开发者头发没少掉。但翻到这儿我才品出味儿了。这书骨子里哪是什么干巴巴的语法手册。分明是作者一厢情愿的较劲。非想让两个本来各玩各的圈子,能痛痛快快握个手。

十六个章节。一章一章往下过,跟跟着老技师打铁似的。作者领着咱们做电子相册。抠动态图表,连数据库,搭数字仪表板。连电子签核流程都不放过。看这些案例的时候,我脑子里全是从前那个死磕的自己。那时候总天真地以为,只要把后台逻辑和前台动效严丝合缝地钉在一起,屏幕里的世界就能顺溜得像抹了油。RIA这词儿搁现在听确实有点土。可能我有点杠。但当年它真那么唬人吗?仿佛给网页装上鼠标指针的阻尼感、拖拽的惯性,直接就能把桌面软件的厚重感搬上网。如今Silverlight早进了博物馆。当年熬大夜调接口,咖啡杯底都能结出垢了,也被更轻巧的框架一脚踹开。但奇怪,书皮一合,那种非要“把碎布头拼成完整图案”的强迫症,愣是一点没少。

琢磨了半天,生活里大概也塞满了这种“动态Xaml”。咱们每天不也在干同样的活儿?白天硬着头皮应付的烂摊子,得跟半夜躺床上喘气的疲惫接上。对以后的那点盼头,得跟手头枯燥的报表缝一块儿。甚至跟另一个人相处,也指望少说两句废话,光靠眼神就能搭起一座桥。写代码讲究属性绑定和事件触发。过日子呢?讲究的是耐性。再掺点不求回报的退让。作者没摆谱讲大道理,就是把十六个案例一个一个码在桌上,指着说:你看,这么写,图表就转起来了。那么弄,签核流程就能跑通。路怎么走,全在一次次改bug和调参数里。这事儿吧。未必是啥浪漫主义。可能就是咱们这代人特有的没办法。

我挺认这种死磕的劲儿。但也忍不住想吐槽,当年的开发者是不是把太多脑细胞耗在“怎么让网页长得像桌面软件”上了。网页本来就不用那么沉。留点白,跳脱点,说不定更透气。不过话又说过来,谁不是被时代的认知框着呢?我觉得当年可能真是走了点弯路。但未必是坏事。咱们只能在那会儿的眼界里,把眼前的烂活儿尽量盘顺了。毕竟,谁还没个摸着石头过河的阶段呢?

屏幕黑下去的时候,我忽然觉得,从前那些让人反复搓揉的交互细节,压根没白费。它们只是换了身衣服,还在咱们手里攥着。合上书,外头天已经擦黑了。明儿一早醒来,日子照样是一地鸡毛。但我知道,总有一些裂缝,值得咱们弯腰搭座小桥。可能我有点矫情。但这书确实让人心里头踏实。