web前端开发中你需要学习这些
这个图要从下往上看,因为下面是上面的基础;
首先,我们需要一定的理论知识,不管是你听别人讲授、自己看书还是网上找资料,你都需要一定的理论知识,每一种程序开发,都避免不了。
第二,有了这些理论知识我们就可以编码了,但是没有人能抵挡住第三方框架和类库的诱惑,例如jquery;
第三,有了这些理论知识和协助我们的类库框架,我们就可真正的编码了。大家可能以为编码开发不就是写代码吗?
开发程序的目的,最终是为了能、稳定的运行在相应的环境中,这其中又有哪些事情需要我们去做?
接下来。我们具体的来看:
1.. 理论知识 包括“软知识”和“硬知识”
软知识指的就是能在各个程序开发中都用到的,算是基本功、内功,例如数据结构、算法、设计模式、面向对象等等;
硬知识指的是能直接用于本程序开发的。用C语言你就得学C语言语法,此时学java没用。我们web前端开发所需要的硬知识其实都包含在三个标准里面:http标准、W3C标准和ECMAScript标准;
2.web前端开发中的“硬知识”
“软知识”的内容非常多,我们本次主要讨论的是web前端这一个方向,让大家知道这些知识也在知识体系中扮演重要角色。
刚才说道,硬知识有三个标准:http标准、W3C标准和ECMAScript标准。
http标准
为什么做web前端要了解http标准?这是因为浏览器要从服务端获取网页,网页也可能将信息再提交给服务器,这其中都有http的连接。web系统既然和http链接有瓜葛,你就必须去了解它。
你不必去非常了解http的详细内容,但是你要了解web前端开发常用的一些http的知识——就是上图中列出来的那些。
W3C标准
如果说你只知道web前端的一个标准,估计肯定是W3C标准了。
关于W3C标准,2/8原则——20%的功能满足80%的需求。这句话用到这里非常合适,我们在平时开发过程中根本用不到这么多东西。反而,你要把平时用的多的东西搞懂了。
下图的这些知识,是W3C标准的一部分,而W3C标准也只是web前端开发知识体系中的一部分而已。
ECMAScript
简称ES,有些人可能只知道javascript,而不知道ES——其实,js是在ES的基础上,为web浏览器做了一部分封装(增加了DOM操作、BOM操作等)。
如上图中的这些概念,大家可能平时都在javascript中看到,其实他们是ES的内容。只不过javascript继承了ES的这些特性,并且javascript用的比较广泛,因此才会在js中讨论的多一些。
还是那个“2/8原则”。其实ES中的内容也非常多,而且更新很快,现在都到ES6了。但是上图中列出来的这些都是重要的概念。如果你不懂原型、闭包和作用域,那就说明你还不完全了解ES,也就是不完全会用javascript。
3. 框架和类库
前面已经描述完了web前端开发所需要的理论知识。如何实践呢?
用下面的这些类库或者框架,能大大提高你的开发效率。
首先,jquery一定是大部分web前端开发者不可或缺的工具。而利用jquery不仅仅停留在只使用它的API和插件上,你需要去读jquery的源码、了解jquery的设计思路。如果你也能那样做,你会收获到意想不到的效果。如果有一个问题:怎样才能透彻的理解javascript的事件系统?较佳回答之一:读几遍jquery关于事件处理部分的源码。
bootstrap不用再过多解释了吧,从github上的也能看出来。
fontAwesome是全世界强大的图标系统。相比于css制作图标来说,这个要好很多倍,不管是开发、效率还是维护上。icomoon.io能自定义选择自己的图标文件。
requirejs和seajs这种模块定义系统,也一定是你系统中不可或缺的。我曾经看过一个教程,讲师就说:requirejs带来了既jquery之后的第二次前端技术变革。
其他的,backbone、angular、react这些也慢慢的开始发挥了他们的价值,他们很重要,你要试着去了解它们。
4. 编码开发
要问编码IDE哪个好,当然要属微软的visual studio!但是即便是微软的VS新版本,它也代替不了下面要说的这套开发环境。
如果你专门做web前端,就不要在用vs了,当然要选择sublime。写html语句还用手动一条一条写吗?你得需要zencoding的协助,否则效率太差了。
另外,针对html、css、js的压缩、合并、语法检查,文件的、复制这些操作,你还要手动去做吗?——你需要grunt或者gulp的帮助。
如果你的系统中有比较多的js代码或者文件,请选择一个合适的模块定义规范——CMD / AMD
请用git来帮助你做文件版本管理,简单的就是使用github。
调试、测试,也都有专门的工具,都是需要学的……
5. 运行环境
当系统真正到了运行环境中,其实还有好几个知识点需要你掌握。看下图:
首先,你要知道web系统虽然大部分是在浏览器下运行,但是js可能会被运行在node环境。
在浏览器环境下,重要的两点是:web安全和性能优化。
6. 其他
以上这些是全部的知识体系。如果你想成为一名合格的、让leader喜欢的程序猿,你除了知道这些知识之外,还需要掌握以下几点:
要了解敏捷软件开发流程(如SCRUM)和项目管理知识(如考取PMP),这也属于一种“软”知识;
要学会在网上和别人交流(博客、qq群、开源项目),交流能让自己看到自己的不足;
要学会自我反省和自我学习。试着自己总结一下属于自己的东西,随时反省随时进步。
申请免费试听
只要一个电话
我们为您免费回电