意识流
我自己绝对是一个顽固的意识流的人。以往的各种内部或外部的分享,谈的最多的也是前端开发的各种concept。
2009.12 - D2上我说“库”时代过去了,以后不会再有类似jQuery、Dojo、YUI这种大而全的库了。堆积“库”的开发方式将会演变为按需加载更细粒度的模块(http://www.slideshare.net/kejun/yui2yui3)。框架提供的插件机制会把单一功能的库整合到一起。同年1月Mozilla发起一个叫ServerJS的项目,8月改名为CommonJS。CommonJS定义了一整套Javascript模块(module)、包(package)、promises、io等规范,目的用于服务器端、桌面应用的Javascript开发。它只是一套规范,没有具体实现。AMD(Asynchronous Module Definition)最初是CommonJS模块定义方面的一个草案,后来出现意见分歧,另立一个amdjs组单独发展,如今已被广泛接受,CommonJS也就接纳了它。
Javascript模块的理念发展到今天ES Harmony要把它正式加入到标准中,要向先驱Dojo致敬。 YUI3的设计思想也很超前,只不过走的是另一条路。透过这种演变的脉络,要看清它最初的需求是什么?细粒度模块的按需加载和依赖关系管理就这么朴素。YUI3的风格是把模块配置写在外面,AMD是写在模块里面。
辩论风格的好坏意义不大,就像讨论加不加分号一样无趣。关键是否有效解决最初的问题,围绕这个根源,可以有不同的思路。比如我们目前的做法是在build阶段设计一些伪语法导入细粒度的模块。前端用一个loader加载粗粒度的模块。我今年4月曾在杭州的D2沙龙上分享过(http://www.slideshare.net/kejun/ss-12148658)。为解决问题完全可以跨越前后端的界线,而且这样往往效果会更好。
开发如下棋,局局新,要观局、布局。如今国外一个新技术冒出来,国人就追棒。欠缺观局这一环,真正搞清实际开发遇到的问题了吗?独立思考过这些问题吗?还是在开发中试玩各种新技术、照搬别人的经验,还是觉得只有新技术才够fashion……
2009.12 webrebuild北京的一次活动,我分享过“分层语义化模板实践”。也是很“意识流”。同年3月,我看到Y!的女前端工程师Nicole Sullivan在YDN分享的“Object Oriented CSS: for high performance websites and web applications”。可能同受雅虎前端开发意识流的影响,想法非常相似。2年后,Jonathan Snook提出SMACSS( Scalable and Modular Architecture for CSS )的CSS开发思想,并出了一本书(http://smacss.com/book/)。
在前端技术里HTML不像Javascript和CSS那么精彩,其作用最被忽视,但它又是最基础的载体。HTML的难点在结构的设计上,需要稳定、灵活、友好、易理解。其实HTML/CSS完全受意识流控制。如何架构好,源于经验而非知识。现在越来越少人在这方面做认真的追求了。
2010年7月的webrebuild年会上,我分享了前端基础架构(貌似这个词是我攒出来的,我还特地搜过)的想法,也是纯意识流的一次分享。之前前端开发的规范、工具都是毫无关联的个体,开发中各种工具的应用也是毫无目的性的,而且前端开发是脱离整个体系的(像外包)。实际上开发规范是让团队保持统一的代码风格和明示各种性能、安全、易用性原则,但文字本身没有约束力,需要工具保证。因此工具的职能,一方面检验规范,另一方面实现自动化。在这个线索下工具体系就形成了,而且目的性很明确,接下来把它们无缝的挂在开发环境下,成为开发流程的一部分。于是规范、工具、系统就形成了完整的前端基础架构的模型。前端team在这个平台上可以跑的更快。
有人觉得这种分享是浅入浅出,他显然没领会我的意识流里的线索。
11年我有两个针对前端基础知识的分享“前端开发理论热点面对面:从怎么看,到怎么做”和“永不止步的‘重构’“。内容都是前端基础知识。很多人看了很多前端开发方面的书,掌握了很多技术点,但在面临具体问题时仍然不能融会贯通。我们的生活充满大量碎片信息,很多人认为这样可以快速掌握很多知识。伟大的摇滚乐手兼作家Frank Zappa在一首歌里写到:“Information is not knowledge,Knowledge is not wisdom,Wisdom is not truth,Truth is not beauty,Beauty is not love…”。
意识流和技术流就像武侠里的剑宗和气宗。我不过多评价,根据个人特点和兴趣所向。但是在公司项目开发上注重意识流显然更有益处。现在这年头太多浮躁、盲从、缺少独立思考、务实求索之精神。我希望在以后国内技术会议上,能看到高质量的“意识流”分享。也希望更多人不要觉得这东西“水”而排斥它。
建议继续学习:
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:Kejun 来源: Kejun's Blog
- 标签: 意识流
- 发布时间:2012-07-27 14:11:57
- [72] Twitter/微博客的学习摘要
- [66] Go Reflect 性能
- [64] find命令的一点注意事项
- [63] IOS安全–浅谈关于IOS加固的几种方法
- [62] android 开发入门
- [62] 如何拿下简短的域名
- [61] 流程管理与用户研究
- [61] Oracle MTS模式下 进程地址与会话信
- [59] 图书馆的世界纪录
- [58] 读书笔记-壹百度:百度十年千倍的29条法则