web前端需要哪些技术?

所有的知识框架,必须是结构化的呈现,只是一棵树。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。

调试、测试,也有专门的工具,都需要学习...

天哪...写这些字我的手都酸了,更别说学习这些知识了——更别说我们的web前端是“三大块”了!

7.操作环境

当系统真正处于运行环境中,当你觉得终于完成的时候,其实有几个知识点是你需要掌握的。看下图:

首先你要知道,虽然大多数web系统都是在浏览器下运行的,但是js可能是在节点环境下运行的。

在浏览器环境中,最重要的两点是:web安全和性能优化。我已经列出了所有需要注意的要点。如果你想了解两本推荐的书,《白帽》将会保护网络和指导你建立高性能的网站。

8.其他人

这些都是知识体系。如果你想成为一个合格的被领导喜欢的程,除了知道这些知识,我觉得你还需要以下几点:

了解敏捷软件开发过程(如SCRUM)和项目管理知识(如获得PMP)也是一种“软”知识;

学会在网上(博客、qq群、开源项目)和别人交流,交流可以让你看到自己的不足;

学会自我反思,自我学习。就像我现在一样,努力总结自己的东西,随时进步。