Web标准化交流会第四期之会议记录(上)
Jan 30
Web标准化交流会 Javascript, jQuery, Web标准化交流会, YUI3, 依赖关系管理, 前端工程师 10 Comments
主持人:周裕波
嘉宾:张克军/月影/赵立元/管凌峰
讨论主题:页面重构合理化讨论后续
Javascript AJAX DOM
- 如何创建自己的js库或js框架,选择JS库或框架
- JS的管理
- JS的性能
HTML5+CSS3应用的时机
- 现阶段是否考虑应用HTML5和CSS3部分特性
- 如何应用HTML5
- 如何应用CSS3
具体会议记录如下:
(主):首先向大家说下针对此次会议场地的注意事项(略).Web标准化交流会办到现在已经是第四期了,今天从农历来说是2009年的最后一期,但从阳历来讲是2010年的第一期.代表交流会欢迎新老同学.首先感谢新浪为我们提供这么好的会议场地. 今天北京,上海,广州都同步进行交流会(主题同步).下面进入主要环节.先是环场介绍,请到场的嘉宾自我介绍下…(略)
(主):现在进行本期主题讨论:
Javascript AJAX DOM
先请嘉宾对此主题进行一些分享.然后可以由每位嘉宾带领一部分支持自己观点的同学进行分组讨论
(月影):对于团队开发所使用的JS类库,我个人比较喜欢jQuery.脚本的管理要根据项目需求与类型来,比如轻量级的项目,就更注重函数依赖等方面的研究,粒度可能会细化到一个function.然后再找到依赖的类.但如果是重量级的就会更加注重多人协作,基础类库和代码缓存等方面,不会特别在意依赖,而是会在意包的管理与代码的冲突.总之结论是:根据应用选择适合的框架
喜欢jQuery的原因是简单.YUI在大的项目应用上比jQuery出色.目前在自己负责的项目中使用的脚本库会分为3层.以后有机会会将相关经验跟代码分享给大家.
(主):谢谢月影的分享,下面请克军分享下这方面的丰富经验,因为克军曾经在Yahoo做过很长时间.对于YUI应该更加了解.
(克军):Yahoo的开发方式是讲究团队合作,非常强调代码结构的一致性与模块的管理. 做的都是整体性很强的东西.注重文档化.但是缺点是不够灵活.YUI在前端开发的理念问题上也有一些变化.05年之后都是库的概念,共同功能的集合.YUI3出来后,变化为不是功能的聚焦而是注重模块的组织,依赖的管理的系统.思想更倾向于团队协作与可维护性.当然每个人的代码风格不同,但Yahoo会限制个人风格,为了让开发人员的风格尽可能的统一,”限制”是必须要有的,但是要有一定的灵活性.库与框架是两个级别的东西.做前端框架 的人要考虑库与框架的结构.
豆瓣的JS目前是不提供业务层的,有核心库可灵活的加各种库,目前使用的jQuery.关键是在核心的基础上如何组织.之前我们总在讨论JS库,其实不用过多的考虑,做为第三方它们在功能方面已经很成熟了.就拿网易的JS来说.它分大块的和inline两种.所以代码的管理就显得特别重要.个人主张统一风格,对开发有利.jQuery与YUI其实没有太大可比性.jQuery最新版本的变化很大,已经60多K.作者也在考虑它的结构.不过目前这种大小还是可以接受的.
(主):谢谢克军,下面请新浪产品负责人赵立元进行分享
(赵立元):我想先了解下在座各位目前哪些朋友在工作中经常使用JS或者框架(人数不多).我来介绍下新浪的方法吧.不讲技术上的细节.新浪有自己的开发JS库.新浪目前有13个产品,代码的可维护性是个很大的难题,新人在接手项目的时候也非常吃力.所以想统一.当时参照了几个开发框架,其中包括了YUI2.如果使用自己开发的类库一是灵活度高二是风险低.自己做框架可与底层更好的结合,升级可以自动化,有问题可以rollback. 之前我们有开发文档,但是效果不好,后来我们就改为在代码里写注释,然后通过工具把注释提取出来方便多人协作.关于JS性能方面参考Yahoo的优化条例其中的几条就差不多可以了.
(主):因为大多数朋友对于这个话题本身还没有过多过深的研究,所以现在我们就抓紧这个难得的机会可以就这个话题向各位嘉宾提问.
以下是截取的部分提问回答记录
Q:如何区分一个方法是核心级的还是应用级的?
A(张克军):核心层解决的是创建标准化的浏览层,API的风格不一样.应用级的是与产品业务如Movie,Music相关的是应用级.如果与UE实际结合得密切的话,如果注意体验的话会更多的关注这些统一UE的库,那么也算应用层.所以分下来就是核心/全站/产品三个级别.
Q:依赖的概念是什么?
A(月影):如果你是要包括所有基本库的话没问题.但是有时是会为了一个简单的功能而去加载大库,非常不合算.就是一种很极端的情况,访问量非常大但是功能却非常简单,比如它只用到了这个库里10个方法中的两个.依赖管理就是开发的时候加载整个库,但是产品在上线的时候却只加载真正用到的那2个方法.
Q:网站的脚本是否都进行压缩?
A:是的.产品差异大.这是由应用特征决定的.基础类库会拆分为基础与产品两种,然后定规范.
Q:前端的HTML,CSS也要压缩么?
A:是的,工具就使用YUI提供的压缩工具就行.
Q:网站公用的header里会加载多个JS.但是页面里却只用到其中一点,这时候要怎么处理?
A(张克军):对于这种情况下后端的处理方法很简单就是都引入都加载.但是如果当我们有一套依赖管理系统就可以解决.产品上线的时候自动找方法所依赖的东西.
今天先总结到这里,其实讨论到这里大家还对于前端工程师的价值,理想等问题发表了各自的一些见解,非常热烈,也相当精彩.我会在最后做简单总结.
Jan 31, 2010 @ 14:14:38
不错,记录的很详细
Jan 31, 2010 @ 14:17:02
呵呵 谢谢~你提那问题我没听懂 所以没记
Feb 01, 2010 @ 10:11:10
记录的不错`比我强多了,光写个推特了,记录的还不全。真该想你学习。
Feb 01, 2010 @ 10:31:39
嘿嘿 其实下半部分就没记嘛了 光顾着听了 手也有点累了 下回你也试着记记 收获肯定会不小的 哪怕听不太懂 回来多看几次 找找资料就能明白些! 加油啊!
Feb 02, 2010 @ 10:50:14
写的很详细,记录的速度好快,我都没有记录下来,向你学习,
Feb 02, 2010 @ 12:21:46
……….你怎么跟音速说得一样啊?呵呵 努力记都能记得下来~
Feb 04, 2010 @ 09:40:12
我刚在ck那里测试了,好像能用了,现在在在你这里测试下。亲爱的驴,我爱死你了
Feb 04, 2010 @ 09:55:45
恩,同上~
Feb 04, 2010 @ 09:57:14
恩 好用好用~~我昨天晚上12点多看你之前在我网站上的评论就已经有图片了哈~
Feb 04, 2010 @ 09:59:35
同嘛上啊 再写一次会屎啊~~