web前端需要哪些技术?
在我总结的这个知识框架中,第一层分为:理论知识、类库框架、编码开发和运行环境。如下图所示:
接下来,我给你解释一下:
这张图应该从下往上看。为什么?——因为下面是上面的基础;
首先,我们需要一些理论知识。无论是听别人讲课,还是自己看书,还是网上搜索资料,都需要一些理论知识,每一种程序开发都是不可避免的。
第二,有了这些理论知识,我们就可以编码了——没错——但是,谁也抵挡不住第三方框架和类库的诱惑,比如jquery;
第三,有了这些理论知识和帮助我们的类库框架,我们才能真正的编码。你可能觉得编码开发就是写代码而已。还有什么?——有许多方法在里面;
最后,开发程序的目的是为了在相应的环境中高效稳定的运行。哪些事情需要我们去做?请期待;
理论知识包括“软知识”和“硬知识”
“软知识”和“硬知识”可能大家都不熟悉,但其实我一说大家就懂了。
所谓“软”,可以用在所有的程序开发中,可以看作是基本功和内功,比如数据结构、算法、设计模式、面向对象等等;
所谓的“硬”可以直接用在这个程序的开发上。如果用C语言,就得学习C语言语法。这个时候学java是没用的。web前端开发我们需要的硬知识其实包含在三个标准中:oon.io允许我自定义和选择自己的图标文件。
requirejs、seajs等模块定义系统在你的系统中也一定是不可或缺的。曾经看过一个教程,讲师说:requirejs带来了jquery之后的第二次前端技术变革。
其他的,比如骨气,棱角,反应,已经慢慢开始发挥价值了,我就不在这里赘述了,因为我的精力有限——但都很重要——你至少应该试着去了解一下。
6.代码开发
要问哪个编码IDE强,当然是微软的visual studio了!但即使是微软最新版本的VS也无法取代下面要讨论的开发环境。
如果你专攻web前端,就不要再用vs了,当然选择sublime。还用手工一条一条写html语句吗?你需要zencoding的帮助,否则效率太低。
另外,html、css、js的压缩、合并、语法检查、文件清理、复制等操作还需要手动完成吗?你需要咕噜声或吞咽声的帮助。
这里推荐我自己的教程《用grunt构建自动化web开发环境》,比较详细,适合初学者学习。
如果您的系统中有很多js代码或文件,请选择一个合适的模块定义规范——CMD/AMD。
请使用git来帮助您进行文件版本管理。最简单的方法就是使用github。
调试、测试,也有专门的工具,都需要学习...
天哪...我的手因为写这些文字而酸痛,更不用说学习这些知识——更不用说说我们的网络前端已经是“三大块”了!
7.操作环境
当系统真正处于运行环境中,当你觉得终于完成的时候,其实有几个知识点是你需要掌握的。看下图:
首先你要知道,虽然大多数web系统都是在浏览器下运行的,但是js可能是在节点环境下运行的。
在浏览器环境中,最重要的两点是:web安全和性能优化。我已经列出了所有需要注意的要点。如果你想了解两本推荐的书,《白帽》将会保护网络和指导你建立高性能的网站。
8.其他人
这些都是知识体系。如果你想成为一个合格的被领导喜欢的程,除了知道这些知识,我觉得你还需要以下几点:
了解敏捷软件开发过程(如SCRUM)和项目管理知识(如获得PMP)也是一种“软”知识;
学会在网上(博客、qq群、开源项目)和别人交流,交流可以让你看到自己的不足;
学会自我反思,自我学习。就像我现在一样,努力总结自己的东西,随时进步。