1 重复读了两本经典的前端书籍:《Javascript高级程序设计》、《CSS权威指南》,基础知识获得了巩固javascript
02 换了一个工做,通过一轮业务开发,进入框架组,开始全站基础框架开发 css
03 工做中逐渐接手框架核心业务,面向对象思惟,框架思惟,设计思想逐渐获得熏陶 前端
04 研究webapp模式的框架,接触并解决移动端各类各样难题,如300ms延迟,点透、层级管理、兼容性,渲染问题...... java
05 源码学习,包括:zepto、Backbone、underscore、requireJS、Fastclick、IScroll...... node
06 公司业务产生井喷效应,业务快速发展,全站CSS文件三易其手,框架庞大化、复杂化,公司架构变化,由无线框架组转战公司框架组 jquery
07 框架积重难返,要作优化不易,思考以前所学,由工做总结出轻量级webapp框架blade,并再上作大量优化 android
08 框架变慢,维护成本变高,团队开始框架升级,将blade的优化成果从新回归框架 ios
09 开始全站优化,与几位老大哥优化框架,框架尺寸降低1/3,框架结构清晰 git
10 开始全站样式迁移,分拆CSS入各个UI,引入shadow dom技术,梳理全站样式,样式文件尺寸降低一半 程序员
11 过程当中写了接近200篇博客;而后接触了不少高手,如Aaron、OD、左盟主、周文斌、结衣等
因此,在接近两年的时间里,我以为我勉强能算得上优秀的前端技术人员了,个人第一个计划算是实现了吧?温故而知新,因而第二轮的计划也要开始了
后两年计划,成为一个合格的架构师,因此15年的计划是:
① 全站优化整理总结
② web components研究
③ 正则、nodejs
④ 架构思想、文档水平学习提高
⑤ webapp框架再研究,pad方案、seo方案研究
⑥ 移动端调试工具研究
⑦ 深化重构思想、深化面向对象思想、深化工程思惟
⑧ 扩大视野
第三个阶段固然是读源码了,必定要读源码,并且必须好好读!!!这里尤为推荐读本身熟悉而且不太包含思想的源码
好比我上个星期看了下backbone就搞得莫名其妙的,缘由是没有用过,这里推荐几个库:
Zepto
zepto与jquery相似,说白了就是借鉴,可是zepto非常轻便,读起来轻松,可是首次读如果没有半个月的话基本就是没读(不考虑神人)
由于工做后不多专门有时间去读源码,读的时候要细细的读,看不懂的地方就反复看,慢慢的就所有清晰了
zepto读完后,整个js的水平会看似上升一大截,这个时候再加紧来点经验就稳稳的前端入门了
第二个推荐的库是underscore,这个库比zepto还要简单,建议好好读下,务必读明白,不要不懂装懂
如果有移动端编程经验的朋友,建议好好的读下这个库,写的很是不错,完了后会让你对移动端的事件兼容有深刻的理解
与Fastclick相似的库
初级程序员读以上几个库就差很少了,并且建议花一到两个月详细的研究一个库,而且将里面的思想用于项目中去,这样才能真正的吸取
读源码不是看热闹,看热闹会一问三不知
本身学习前段也接近一年了 可是效率比较低,但愿经过这些计划来 一步步增强本身的学习。
1.看书是最好的途径 不在多 在于精反复阅读 JavaScript高级程序设计 和 css揭秘(最新出版的css秘籍)
2.因为本身反复了学习原生js的知识 可是缺乏实践。因此增强js的练习。
3.jquery是本身最常使用的 库。经过jquery库来实践出更多的功能 一来更加熟练使用jquery 二来增长本身的编程感受
4.开始仔细学习h5 的新知识 固然最主要的仍是js的能力 因此阅读几个js源码。 underscore zepto fastclick backbone 反复仔细的研究 对提高你的js颇有帮助
高手行列(取自叶小钗叶老师的博客)
以上几个阶段结束后,就能够去外面看看本身的斤两了,真的作到以上的朋友,基本是面几个有几个了,真正的瓶颈就出如今大公司了
这个时候又到了另一个阶段:
① 深度-细节点
② 广度-知识面
以细节点来讲,真正的高手一个javascript事件机制就能够问的多数人哑口无言:
① javascript绑定事件的方式
② javascript事件对象
③ 自定义事件
④ 如何触发自定义事件
⑤ zepto/jquery事件机制
⑥ 解决移动端300ms延迟
⑦ ios android事件差别
⑧ 事件冒泡/捕获机制以及鬼点击
⑨ javascript事件底层实现......
以CSS来讲,一个position就够了
① Position的各类属性值
② 行内元素块级元素
③ 行高问题
④ fixed在移动端的问题
⑤ 由fixed引导至viewport
⑥ 缩放等等问题......
因此,javascript真正的高手对这些把握是很细的,不是所有都会,但不可能所有都不会。这里可能会有朋友提出学院派以及实干派的想法
其实个人道友Aaron就是真正的实干派,彻底白手起家,他就确定知道这些问题,至少七七八八
因此深度必定要有,并且是慢慢积累的,不信看正美那700篇博客吧,有了深度再提广度,否则你的广度就不值钱
深度完了就是广度,光有深度还不够还得有广度,广度表明业务能力,表明工做水平
① nodejs
② 打包工具
③ H5嵌入APP
④ 移动端调试工具(如何在手机console,如何在页面上调试手机程序)
⑤ 压缩工具
⑥ 项目管理工具(git/svn)
⑦ 各类开源框架
这些都是广度的体现,优秀的人不仅是知识稳固,并且还能推进团队使用新技术,带给团队不同的感受
前端知识点繁杂,毫不止局外人看见的那么点
如果你发现各个大公司想去就去,offer拿到手软了,那么恭喜你,你成为了中级程序员了!!!!