瘦人说

前端技术共享和传递

进入探索大门

在西安搞session知识分享的时候,就发现前端技术分享有些难,一个是因为前端技术不像Java, C++那样超主流技术被业界广泛使用,导致群众基础差,有兴趣的人只能选择自学;另一个因为前端生态圈里内容太多,太散,又为那部分想自学的人形成障碍。

开始做session的时候,就把前端技术分成了HTML + CSS + JavaScript三个部分,分别为每个部分准备分享的内容。我主要负责JavaScript部分。为了让大家从最基础的开始学,我选择把原型继承放在第一讲。之前的文章《Dive Into JavaScript Session 1》说的就是这事,结果把大家讲的云里雾里,反馈都说偏难,实际意义不大。

第二次和第三次选择了《DOM和BOM》《脚本和样式操作》,效果有变好但也没达到预期。反馈说需要更多实际的练习。

前端Skills简单分类

回成都之后组内大部分都是新人,而且整组人都要面对大量的前端工作,尤其HTML + CSS,前端技术共享和传递显得尤为重要。如何找到一个可重复实践,时间在两个月内,让新人快速提升到可为项目做贡献的分享方案迫在眉睫,我依然还是选择原来的分类方式HTML + CSS + JavaScript。

在这两个月内组内做了很多次培训,就是在摸索的路上前进。最近这两次给了我很多体会,我需要从新整理需要分享的知识的范围,深度,分享方式。并强调每种技术的要点是什么。

从HTML开始,可以深度讲解盒模型,布局,表单元素,强调HTML文档的语意,简单清晰的结构和渐进增强。

CSS方面,深度讲解CSS组织应用方式,盒模型,选择器,浮动和清浮动,优先级计算,属性的继承,常用布局方式的style(左右布局,圣杯布局等),Twitter Bootstrap,LESS和SASS,常见bug处理方式(非hack技术)。强调如何命名id和class,CSS文档结构,复用性。我们现在把CSS称为类黑魔法的技术,这个那个材料混在一起效果就出来了,所以更需要我们总结最佳实践。

JavaScript作为一门语言,学习它和学习其它语言一样,如Java,或者可以说不应该有JavaScript和其它这种划分。JavaScript的出现是为了操作DOM,那最基础的DOM API是一定要讲的,接着是DOM和BOM,事件冒泡捕获,脚本和样式的操作,jQuery API,Ajax基础,Tritter Bootstrap,原型继承(对象模型),闭包,前端MVC及框架介绍。除了强调对语言的熟练,写代码的基本功外,还需时刻注意代码的模块化,命名空间,脚本的加载,压缩等问题。

我想如果你了解以上知识点的话,那你可以胜任前端工作了。在做分享时候,如何能把这么多知识共享和专递呢?之前纯理论的分享方式只能起到一种引导别人的作用,给有兴趣的人一个方向,但知识传递并不只想达到这个级别。

我现在在做的是以练习为内容的技术分享,内容是上述的每个知识点,这样的话,我们的知识传递就是追踪的,就像我们在学校里学习课程需要遵循教学大纲一样。同时,练习也是学习者发现自身差距,并且在实践中寻找规律,循序渐进提高的有效方式。并且每次培训完成之后让学习者说一条他在此次分享中学到的东西,只能说一条,这个方式是从徐大师的OO Bootstrap里面学来的,当时参加这个课的时候就被问到,虽然只是说出一条学到的东西,但是脑子里过了一遍培训过程,感觉很好。当然,为了节省时间和提高学习者交流,推荐pair进行实现。

一次尝试和实践

最近一次知识分享的内容是实现一个WP7的列表界面:

要求大家用静态页面实现,把它当作webapp开发,内容比较简单但是考察了语意的标签,文档结构和信息划分,浮动和清浮动,CSS class的命名等等细节。因为是第一次这种形式,大家的完成程度不是很好,所以我才推荐下次pair来做。下次的界面将会选择同样是WP7界面的表单界面,让大家学习下UI开发和后台交互时需要考虑的细节。完成之后还有人反馈说意识到自己的差距了,我很欣慰。

开放课程

公司有可能开放课程让我司外的各路好友来参加这样的培训,到时候也可以多多给予反馈。刚好在做一个SIP项目,是帮助教育大发现老师们制作的一个老师共享idea,分享教案的平台,目的是可以提出教案让各位老师进行讨论,总结。我这样的培训想法也可以放到这个平台上,让各位前端开发讨论,一起把前端的生态圈完善那么一点点。

Comments

Proudly published with Hexo