这个暑假主要时间都在公司实习,没有去自己学习很新的一些技术,因为现在这个公司的技术栈不是特别的新,不过实习了一段时间发现,其实技术栈新不新和你一个新手根本就没有半毛钱关系,根基不牢学什么白搭是吧
举个例子:我之前一直在自学react,webpack,之类的所谓的高大上的东西,原因有二:
- 面向找工作学习
- 这个东西很新,从众心理
那么,我当时的学习状态是什么呢?一句话概括吧:学了忘,忘了学;就是这样的一个状态,因为学这些东西对于我现在的水平只是浮于表面的去学用法,并没有深入的去了解这个框架,当然不讲的这么深,也就是我并没有实际应用的经验,没有场景让我去应用,你就会以为官方的那几个例子就是他的全部,呵呵;<br/>
那么,我来讲讲我实习的收货和想法吧从总的到各个细节的一些思考:
- 总的来说,我发现,我之前对于前端开发的认知还是很浅的,举个例子,我知道如何去做一个页面,也就是html+css+js这些东西,那么在实际的开发中会遇到什么问题?我需要面对n多的界面,许多页面之间还有数据的交互,那么你该怎么办?每个人独立的去写每个页面的html+css+js?显然这是一件非常之恐怖的事情,代码量多到令人发指。。。
- javascript层面,如何去加载执行页面所需要的js文件来达到功能,是一件非常值得深思的问题,传统的一堆`script`标签引入显然已经不合适了,当代码相互之间有依赖关系时候就很容易出问题,现在模块打包工具的出现使得我们只需要暴露出一个主要的js文件,其他内部所需要的js文件可以完全由内部自己解决,现在我接触到的方式是:先加载基础的js类库,再加载页面当前的js文件,写到这里想起个问题,基础类库的js,css文件比较好的做法是不是加载后。应该缓存在浏览器。。这得上班的时候问问。。
- javascript层面,面向对象编程在js中显得非常的麻烦,不过这个确实能解决很多问题,底层的封装,代码的复用,我之前写的js继承的文章得从新改一改,当然我自己对js继承也只是初步的了解和应用
- javascript层面,实际开发中要脱离jquery确实很难。。。。jquery确实太好用,dom操作,事件绑定,自定义事件,jquery组件,,,,非常非常的多哈哈哈哈。。。
- html+css层面,需要有一个统一的样式规范,界面规范,也就是框子,这样开发的效率会大大的提高
我接下来的学习计划:
- 由于刚来的时候没有什么业务,比较闲,所以剑指offer题目也刷的差不多了,接下来可能会用js刷一遍,之前用的c++刷的比较多
- 继续阅读现在框架的源码,在阅读的时候发现框架的源码是一层一层的封装,对外提供方法,里面涉及到了很多的设计模式,和js编程技巧,编码风格,多了解优秀代码总是没错的
- 一部分一部分的理解前端现在的工具吧:AMD,CMD,requirejs,seajs,打包工具,这些东西虽然说公司都教给你怎么用,但是知道了怎么还是要研究下为什么