1. 前言

  大约在几个月之前,让我看完了《webkit技术内幕》这本书的时候,突然有了一个想法。想把整个web前端开发所需要的知识都之中在一个视图中,形成一个完整的web前端知识体系,目的是想要颠覆人们对于前端只有三大块(html、css、js)的认识——做web前端需要的比这三大块要多得多

  拖了好几个月了,但是由于近期将要参加的某一个活动,我不得不这两天把这个东西整出来。说干就干。上午我就开始在办公室画草图,乱七八糟的在那儿理思路。

  

下面请跟随我本博客的内容,来看看web前端开发除了htm、css和js之外,还有哪些东西需要你一步一步去掌握。在看内容之前,先看一下这个知识框架的预览图。

  

2. 分类

  所有知识框架,那肯定是一个结构型的展现,就是一棵树。web前端的知识点非常多,也非常散,需要好几层结构来组织这个体系,否则就会显得很乱。那么如何组织、把谁和谁放在一块儿?这是真正值得我们去思考的,你也可以自己来思考一下这个问题。

  在我总结的这个知识框架中,首先第一层我划分为:理论知识,类库框架,编码开发,运行环境。如下图:

  

  接下来给大家解释一下:

  这个图要从下往上看,为何?——因为下面是上面的基础;

  • 首先,我们需要一定的理论知识,不管是你听别人讲授、自己看书还是网上淘资料,你都需要一定的理论知识,每一种程序开发,都避免不了。
  • 第二,有了这些理论知识我们就可以编码了——不错——but,没有人能抵挡住第三方框架和类库的诱惑,例如jquery;
  • 第三,有了这些理论知识和协助我们的类库框架,我们就可真正的编码了。大家可能以为编码开发不就是写代码吗,还有啥?——这里面道道多着呢;
  • 最后,开发程序的目的,最终是为了能高效、稳定的运行在相应的环境中,这其中又有哪些事情需要我们去做?请期待;

3. 理论知识 包括“软知识”和“硬知识”

  “软知识”和“硬知识”大家可能觉得词陌生,其实我一说大家就能明白。

  

  • 所谓“软”的就是能在各个程序开发中都用到的,算是基本功、内功,例如数据结构、算法、设计模式、面向对象等等;
  • 所谓“硬”的就是能直接用于本程序开发的。用C语言你就得学C语言语法,此时学java没用。我们web前端开发所需要的硬知识其实都包含在三个标准里面:http标准、W3C标准和ECMAScript标准

4. 聊一聊web前端开发中的“硬知识”

  “软知识”的内容非常多,也是我们大学时代学习的重点(没学好是另回事儿,毕业再恶补)。我们本次主要讨论的是web前端这一个方向,因此就点到为止,让大家知道这些知识也在知识体系中扮演重要角色。

  刚才说道,硬知识有三个标准:http标准、W3C标准和ECMAScript标准,那咱们就挨个聊聊这三个标准。

4.1 http标准

  为什么做web前端要了解http标准?——因为浏览器要从服务端获取网页,网页也可能将信息再提交给服务器,这其中都有http的连接。web系统既然和http链接有瓜葛,你就必须去了解它。

  

  我的意见是:你不必去非常了解http的详细内容,但是你要了解web前端开发常用的一些http的知识——就是上图中我列出来的那些。当然,我知识列了一个纲,详细内容还得靠你自己去查阅(本文章讲的是知识框架,不会涉及任何知识点的详细内容)

  关于这方面的知识,建议去查阅《图解http》这本书,浅显易懂的讲述了这些内容,我曾经也看过。

4.2 W3C标准

  如果说你只知道web前端的一个标准,估计肯定是W3C标准了(据我了解,貌似大部分人真的都只知道这一个标准)。它的内容非常多,看看www.w3.org/TR/这个页面。

  写到这里让我想起了一句话:2/8原则——20%的功能满足80%的需求。我觉得这句话用到这里非常合适,我们在平时开发过程中根本用不到这么多东西。反而,你要把平时用的多的东西搞懂了。

  下图的这些知识,我想不用再过多解释了,这就是我文章开发说的“三大块”(html、css、js)。现在你要知道,它们只不多是W3C标准的一部分,而W3C标准也只是web前端开发知识体系中的一部分而已。

  (下图没有完全展开,想看权展开的图,可下载本文一开始提供的附件)

  

  关于CSS的基础知识,毛遂自荐一下自己之前的一篇系列博客:《CSS知多少》

4.3 ECMAScript  

  简称ES,写全称太麻烦了。

  有些人可能只知道javascript,而不知道ES——其实,js是在ES的基础上,为web浏览器做了一部分封装(增加了DOM操作、BOM操作等)。

  

  如上图中的这些概念,大家可能平时都在javascript中看到,其实他们是ES的内容。只不过javascript继承了ES的这些特性,并且javascript用的比较广泛,因此才会在js中讨论的多一些。

  还是那个“2/8原则”。其实ES中的内容也非常多,而且更新很快,现在都到ES6了。但是我上图中列出来的这些都是最重要的概念。如果你不懂原型、闭包和作用域,那就说明你还不完全了解ES,也就是不完全会用javascript。

  在此毛遂自荐自己之前的一篇系列博客,大家可以去参考:《深入理解javascript原型和闭包系列》

5. 框架和类库

  前面已经描述完了web前端开发所需要的理论知识。如何实践呢?——不能蛮干——还得绕世界去看看,有哪些大牛已经为我们做出了如此多的贡献。

  用下面的这些类库或者框架,能大大提高你的开发效率。

  

  • 首先,jquery一定是大部分web前端开发者不可或缺的工具。而我利用jquery不仅仅停留在只使用它的API和插件上,我还会自己去写jquery插件,我还会去读jquery的源码、了解jquery的设计思路。如果你也能那样做,请相信我,你会收获到意想不到的效果。如果有一个问题:怎样才能最最透彻的理解javascript的事件系统?最佳答案之一:读几遍(一遍可能读不懂)jquery关于事件处理部分的源码!
  • bootstrap不用再过多解释了吧,从github上的排名也能看出道道来。甚至连我们公司的UI设计师,都从bootstrap上截图作为素材。
  • fontAwesome是全世界最强大的图标系统。相比于css制作图标来说,这个要好很多倍,不管是开发、效率还是维护上。icomoon.io能让我自定义选择自己的图标文件。
  • requirejs和seajs这种模块定义系统,也一定是你系统中不可或缺的。我曾经看过一个教程,讲师就说:requirejs带来了既jquery之后的第二次前端技术变革。
  • 其他的,backbone、angular、react这些也慢慢的开始发挥了他们的价值,此处精力有限就不再赘述了——但是,他们很重要——你至少要试着去了解它们。

6. 编码开发

  要问编码IDE哪家强,当然要属微软的visual studio!但是即便是微软的VS最新版本,它也代替不了下面要说的这套开发环境。

  

  如果你专门做web前端,就不要在用vs了,当然要选择sublime。写html语句还用手动一条一条写吗?你得需要zencoding的协助,否则效率太差了。

  另外,针对html、css、js的压缩、合并、语法检查,文件的清除、复制这些操作,你还要手动去做吗?——你需要grunt或者gulp的帮助。

  在此毛遂自荐自己的教程《用grunt搭建自动化web开发环境》,讲的比较详细,适合初学者学习。

  如果你的系统中有比较多的js代码或者文件,请选择一个合适的模块定义规范——CMD / AMD

  请用git来帮助你做文件版本管理,最简单的就是使用github。

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

  ——我的天哪……这些字写到现在写的我的手都酸了,别说要学习这些知识了——再也别说我们web前端是“三大块”了!

7. 运行环境

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

  

  首先,你要知道web系统虽然大部分是在浏览器下运行,但是js可能会被运行在node环境。

  在浏览器环境下,最重要的两点是:web安全和性能优化。需要注意的纲要我都列出来了,如果想了解推荐两本书《白帽子将web安全》《高性能网站建设指南》

转载于:https://www.cnblogs.com/dengyungao/p/7525387.html

web前端 学习线路相关推荐

  1. WEB前端学习路线2023完整版(附视频教程+学习资料)

    下面小编为web前端学习爱好者汇总了一条完整的自学线路,适合初学者的WEB前端学习路线汇总! 需要更多教程,文末扫码即可 别忘了扫码领资料哦[高清Java学习路线图] 和[全套学习视频及配套资料] 1 ...

  2. Web前端学习有哪些技巧?

    想要学好web前端技术,在学习过程中找到合适的方法和技巧,那么在实际学习过程中会更加的容易和快速掌握知识重点,尤其是对于初学者尤为关键,下面小编就为大家详细的介绍一下Web前端学习有哪些技巧?希望能够 ...

  3. html 表单自动数值,web前端学习技术之对HTML5 智能表单的理解

    原标题:web前端学习技术之对HTML5 智能表单的理解 Html5新增input的form属性,用于指向特定form表单的id,实现input无需放在form标签之中,即可通过表单进行提交. - t ...

  4. Web前端学习路线分享,初学者不要错过!

    在技术岗中,前端开发一直是薪资比较高的岗位. ▲北京前端工程师月均薪20.7K(职友集) 前端技术的更新迭代,导致大部分技术人员跟不上.因此越来越多的人想转型做前端开发了.毕竟想要驰骋职场,想要拿年薪 ...

  5. Web前端学习技巧有哪些?本文给你答案

    随着互联网的快速发展,web前端技术在不断的更新,有着美好前景的web前端岗位引起了很多人的关注,很多人都开始报班学习web前端技术.那么web前端学习技巧有哪些?来看看下面的详细介绍. web前端学 ...

  6. 如何使用jquery_好程序员web前端学习路线分享jQuery学习技巧

    好程序员web前端学习路线分享jQuery学习技巧,jQuery在web前端学习中是一个必不可少的内容,很多小伙伴都在学习这阶段的时候遇到问题,今天我们就来聊一下jQuery,让我们一起来看一看吧! ...

  7. js怎么在一个div中嵌入另一网站_好程序员web前端学习路线分享HTML5常见面试题集锦一...

    好程序员web前端学习路线分享HTML5常见面试题集锦,接下来将会持续为大家分享几篇HTML5常见面试题. 1.布局 左边20% 中间自适应 右边200px 不能用定位 答案:圣杯布局/双飞翼布局或者 ...

  8. web前端学习之ruby标记和rt/rp标记

    ruby 标记定义ruby注释(中文注音或字符).ruby标记与rt标记一同使用. ruby标记由一个或多个字符(需要一个解释/发音)和一个提供该信息的rt 标记组成,还包括可选的rp标记,定义当浏览 ...

  9. html css 前端实现消息提醒数_自学的福音,web前端学习全套视频教程+最新学习思维导图都在这里...

    1.产品经理.这些是负责策划应用程序的一群人.他们会想出很多新鲜的.奇怪的.甚至是不可能实现的应用.一般来说,产品经理都追求丰富的功能. 2.UI设计师.这些人负责应用程序的视觉设计和交互模拟. 3. ...

最新文章

  1. 数据挖掘之关联算法Apriori
  2. 掉网问题的log分析
  3. 喜报 | 安信证券签约神策数据!
  4. 信息抽取(五)实体命名识别之嵌套实体识别哪家强,我做了一个简单的对比实验
  5. VMware拍摄快照(系统备份)
  6. 媒体转码切片_移动、咪咕携手华为实现5G网络切片应用大型直播
  7. 乐刻运动 app android,乐刻运动
  8. batch、epoch、iteration的区别
  9. 2015年Java组B组
  10. Excel--学习VB编程之旅
  11. MTK6577+Android之按键(key)修改
  12. 扫地机器人石头爬坡_用了就再也离不开的懒人神器,石头扫地机器人P5初体验...
  13. Java实现蓝桥杯二项式的系数规律
  14. 游戏3D美术设计就业前景如何?现在饱和了吗
  15. 思科《计算机网络》第三章考试答案
  16. 电线电缆的五大种类解释及结构意义(转载)
  17. 《Edge Boxes: Locating Object Proposals from Edges》读后感~
  18. 数据分析有什么证书吗?多数小伙伴都认可CPDA
  19. linux shell中实现循环日期和月份
  20. 【干货】认知智能时代:知识图谱实践案例集.pdf(附下载链接)

热门文章

  1. 决策树准确率低原因_机器学习决策树算法--剪枝算法
  2. linux haproxy 脚本,haproxy部署脚本
  3. python安装环境安装_安装Python运行环境
  4. 【通知】有三AI学社正式成立了,高质量人脉圈子,欢迎入社
  5. 互联互通谋定贸易伙伴 国际农民丰收节贸易会品牌发展
  6. 对话中国经济和信息化-万祥军:李玉庭制造企业重整电商
  7. python基础_格式化输出(%用法和format用法)(转载)
  8. golang-flag的问题
  9. 【php】命名空间的影响
  10. Oralce删除多个表