首页  >  文章  >  web前端  >  github上最全的资源教程-前端涉及的所有知识体系

github上最全的资源教程-前端涉及的所有知识体系

WBOY
WBOY原创
2016-09-20 03:30:002878浏览

前端无疑是2016年最火热的技术,没有之一。

各种前端mvc框架层出不穷,angular js,vue,react,前端组件化开发概念已经深入人心。前端工资已经比手机端开发还要高了。

作为个人站长,学习下前端设计也是有必要的,一来有些小的设计问题可以自己解决,同时还能提高自己的审美,提高网站的ui设计水平。

必备基础技能

前端技能汇总这个项目详细记录
了前端工程师牵涉到的各方面知识。在具备基本技能之后可以在里面找到学习
的方向,完善技能和知识面。

frontend-dev-bookmarks是老外总结的前端开发资源。覆盖面非常广。包括各种知识点、工具、技术,非常全面。

以下是个人觉得入门阶段应该熟练掌握的基础技能:

  • HTML4,HTML5语法、标签、语义
  • CSS2.1,CSS3规范,与HTML结合实现各种布局、效果
  • Ecma-262定义的javascript的语言核心,原生客户端javascript,DOM操作,HTML5新增功能
  • 一个成熟的客户端javascript库,推荐jquery
  • 一门服务器端语言:如果有服务器端开发经验,使用已经会的语言即可,如果没有服务器端开发经验,熟悉Java可以选择Servlet,不熟悉的可以选PHP,能实现简单登陆注册功能就足够支持前端开发了,后续可能需要继续学习,最基本要求是实现简单的功能模拟,
  • HTTP

在掌握以上基础技能之后,工作中遇到需要的技术也能快速学习。

基本开发工具

恰当的工具能有效提高学习效率,将重点放在知识本身,在出现问题时能快速定位并
解决问题,以下是个人觉得必备的前端开发工具:

  • 文本编辑器:推荐Sublime Text,支持各种插件、主题、设置,使用方便
  • 浏览器:推荐Google Chrome,更新快,对前端各种标准提供了非常好的支持
  • 调试工具:推荐Chrome自带的Chrome develop tools,可以轻松查看DOM结构、样式,通过控制台输出调试信息,调试javascript,查看网络等
  • 辅助工具:PhotoShop编辑图片、取色,fireworks量尺寸,AlloyDesigner对比尺寸,以及前面的到的Chrome develop tools,
  • FQ工具:lantern, 壁虎漫步

学习方法和学习目标

方法:

  1. 入门阶段反复阅读经典书籍的中文版,书籍中的每一个例子都动手实现并在浏览器中查看效果
  2. 在具备一定基础之后可以上网搜各种教程、demo,了解各种功能的实际用法和常见功能的实现方法
  3. 阅读HTML,CSS,Javascript标准全面完善知识点
  4. 阅读前端牛人的博客、文章提升对知识的理解
  5. 善用搜索引擎

目标:

  1. 熟记前面知识点部分的重要概念,结合学习经历得到自己的理解
  2. 熟悉常见功能的实现方法,如常见CSS布局,Tab控件等。

入门之路

以下是入门阶段不错的书籍和资料

  1. HTML先看《HTML & CSS: Design and Build Websites》1-9章,然后《HTML5: The Missing Manual》1-4章。
  2. CSS先看《CSS: The Missing Manual》,然后《CSS权威指南》
  3. javascript先看《javascript高级程序设计》,然后《javascript权威指南》
  4. HTTP看HTTP权威指南
  5. 在整个学习过程中HTML CSS JavaScript会有很多地方需要互相结合,实际工作中也是这样,一个简单的功能模块都需要三者结合才能实现。
  6. 动手是学习的重要组成部分,书籍重点讲解知识点,例子可能不是很充足,这就需要利用搜索引擎寻找一些简单教程,照着教程实现功能。以下是一些比较好的教程网址
    • 可以搜索各大公司前端校招笔试面试题作为练习题或者他人总结的前端面试题还有个人总结的面试题(带参考答案)
    • http://code.tutsplus.com有各种各样的教程
    • MDN也有很多教程,更重要的是里面有详细的文档,需要查找某个功能时在Google搜索:xxx site:https://developer.mozilla.org
    • http://www.html5rocks.com/zh/也有很多优质教程
    • http://www.sitepoint.com/
    • http://alistapart.com/
  7. 原生javascript是需要重点掌握的技能,在掌握原生javascript的基础上推荐熟练掌握jQuery,在实际工作中用处很大,这方面的书籍有《Learning jQuery》或者去jQuery官网
  8. 建一个https://github.com/账号,保存平时学习中的各种代码和项目。
  9. 有了一定基础之后可以搭建一个个人博客,记录学习过程中遇到的问题和解决方法,方便自己查阅也为其他人提供了帮助。也可以去http://www.cnblogs.com/或者http://www.csdn.net/这样的网站注册账号,方便实用
  10. 经常实用Google搜索英文资料应该经常找到来自http://stackoverflow.com/的高质量答案,与到问题可以直接在这里搜索,如果有精力,注册一个账号为别人解答问题也能极大提高个人能力。
  11. 经典书籍熟读之后,可以打开前面必备基础技能部分的链接。认真读对应标准,全面掌握知识

继续提高

有了前面的基础之后,前端基本算是入门了,这时候可能每个人心中都有了一些学习方向,如果还是没有。
可以参考前面必备技能部分提到的那两个项目,从里面选一些进行发展学习。以下是一些不错的方面:

  • Grunt:前端自动化工具,提高工作效率
  • less css:优秀的CSS预处理器
  • bootstrap:优秀的CSS框架,对没有设计师的团队很不错,与less结合使用效果完美
  • requirejs:AMD规范的模块加载器,前端模块化趋势的必备工具
  • Node.js:JavaScript也可以做后台,前端工程师地位更上一步
  • AngularJS:做Single Page Application的好工具
  • 移动端web开发:智能手机的普及让移动端的流量正在逐步赶超PC端
  • Javascript内存管理:SPA长期运行需要注意内存泄露的问题
  • High Performance JavaScript(Build Faster Web Application Interfaces)
  • Best Practices for Speeding Up Your Web Site:重要技能

一些个人经历

LingyuCoder的学习经历

上面的大神都总结得差不多了,我这里就胡扯一些吧

####工具

  • chrome dev tools:前端开发调试利器,着重注意几个功能:
    • console(废话)
    • elements:元素样式调整,很常用
    • sources:代码中添加断点,单步调试,以及单步调试过程中查看内存中的对象
      • watch expression:通过表达式查看当前内存中的值
      • call stack:查看调用栈,开启async,可以看异步调用栈(这个非常有用,尤其是ajax调试的时候)
      • scope variables:作用域链上的变量,非常有用
    • network:抓包查看每个请求,非常重要,前后端联调必备
    • timeline:分析渲染、js执行等等各个阶段,性能优化利器
    • emulation:模拟移动端环境,mobile页面开发必备
    • 一些插件:
      • liveload: 修改页面后自动刷新,不用按F5
      • dimensions:直接在页面上测量的利器
      • livestyle:css样式修改后自动起效果,不需要刷新,elements修改后也能同步到代码中
      • image tool:测量,取色
      • UC二维码:移动端调试扫码必备
      • pagespeed,YSlow:页面性能分析和优化插件
      • 马克飞象:优秀的在线markdown编辑器,快速写周报,做记录
  • sublime text2:编码方便,插件多,速度快,性能好
    • emmet:提升html编码速度必备
    • sublimelinter + 各种语言的lint和hint:代码纠错
    • 一些snippets:自动补全,提升开发效率
  • Intellij IDEA和WebStorm:集成开发环境,集成了各种功能,开发比sublime要方便,但会比较吃性能
  • Mark Men:测量、取色、标注利器,拿到视觉稿之后第一个打开的软件
  • GFW Fucker:我用红杏,可以的话买个虚拟服务器当梯子
  • iHosts:非常优秀的hosts管理软件,轻松修改hosts,开发调试必备
  • Charles:Mac 平台最好用的抓包分析工具
  • Rythem:AlloyTeam出品的代理抓包软件,非常轻量,安装简单,移动端(真机)开发调试很好用
  • Wunderlist:一个非常不错的Todo List,任务、需求多的时候管理起来很方便

####技能
前端的技能其实除了JavaScript(包括NodeJS)、HTML、CSS以外,还有很多。其实前端的技能树很大,这里只能列一些我开发中见到的说一说
#####语言基础
JavaScript:

  • 作用域链、闭包、运行时上下文、this
  • 原型链、继承
  • NodeJS基础和常用API

CSS:

  • 选择器
  • 浏览器兼容性及常见的hack处理
  • CSS布局的方式和原理(盒子模型、BFC、IFC等等)
  • CSS 3,如animation、gradient、等等

HTML:

  • 语义化标签

#####进阶
JavaScript:

  • 异步控制(Promise、ES6 generator、Async)
  • 模块化的开发方式(AMD、CMD、KMD等等)
  • JavaScript解释器的一些相关知识
    • 异步IO实现
    • 垃圾回收
    • 事件队列
  • 常用框架使用及其原理
    • jQuery:基于选择器的框架,但个人认为不能叫框架,应该算工具库,因为不具备模块加载机制,其中源码很适合阅读钻研
    • AngularJS/Avalon等MVVM框架:着重理解MVVM模式本身的理念和双向绑定的实现,如何解耦
    • underscore:优秀的工具库,方便的理解常用工具代码片段的实现
    • polymer/React: 组件化开发,面向未来,理解组件化开发的原理

CSS和HTML:主要是CSS3的特性和HTML5的特性,以及浏览器处理的流程和绘制原理

  • DOM树、CSSOM树、渲染树的构建流程及页面渲染的过程
  • 解析HTML、CSS、JavaScript时造成的阻塞
  • HTML5相关
    • SVG及矢量图原理
    • Canvas开发及动画原理(帧动画)
    • Video和Audio
  • flex box布局方式
  • icon fonts的使用

常用NodeJs的package:

  • koa
  • express
  • underscore
  • async
  • gulp
  • grunt
  • connect
  • request

一些理念:

    • 响应式Web
    • 优雅降级、渐进增强
    • dont make me think
  • 网页可用性、可访问性、其中的意义
  • SEO搜索引擎优化,了解搜索引擎的原理
  • SPA的好处和问题

性能优化:

  • 减少请求数量(sprite、combo)
  • 善用缓存(application cache、http缓存、CDN、localstorage、sessionstorage,备忘录模式)
  • 减少选择器消耗(从右到左),减少DOM操作(DOM和JavaScript解释器的分离)
  • CSS的回流与重绘

#####项目

  • 版本管理:首推Git,用过Git都不会想用SVN了
    • Git:本地版本管理的机制
    • SVN:远程中心的版本管理机制
  • 自动化构建:主要就是less、模板、coffee等的预处理以及对代码压缩和合并
    • Gulp:基于流构建,速度快、模块质量好
    • Grunt:独立任务构建,速度慢,配置蛋疼,灵活性高
  • 预处理和模板引擎
    • less:语法简单,但功能有限
    • jade、ejs、velocity等模板引擎,各有各的长处
    • coffee:python工程师最爱,我没用过
  • 环境搭建:主要是将线上代码映射到本地,并在本地启动一个demo服务器,至于模拟数据的mock,见仁见智了
    • 本地代理:ihosts
  • 自动化测试:在业务较为稳定的情况下,可以通过自动化测试来减少测试的事件,但需求较多的时候,维护测试用例的成本会很高,可能用自动化测试会起到反效果
    • jasmine
    • mocha
  • 生态系统
    • npm
    • bower
    • spm
  • 搭建一个属于自己的博客
    • git pages
    • hexo
    • jekyll

#####未来

  • Web Componets:面向未来的组件化开发方式
    • HTML模板
    • Shadow DOM
    • Custom Elements
    • HTML Import
  • 移动端Native开发:这也是需要了解的,以后前端工程师会经常地和webview打交道,也要了解native开发

#####其他
有些东西不是考敲码就能弄好的,我参与实习的时候感受到了很多,这些是我遇到的也是我感觉自己做的不好的地方

  • 对于业务的思考:我个人这方面非常欠缺,所以放在最前面,在敲码前要多思考业务
  • 交流和沟通能力:这个非常重要,前端同时需要与项目经理、产品、交互、后台打交道,沟通不善会导致很多无用功,延缓项目
  • 知识管理、时间管理:input和output的平衡,output是最好的input。如何做好分享,参与社区,做好交流,作好记录
  • 对新技术的渴望,以及敢于尝试

####入门书
入门可以通过啃书,但书本上的东西很多都已经过时了,在啃书的同时,也要持续关注技术的新动态。这里推几本我觉着不错的书:

  • 《JavaScript高级编程》:可以作为入门书籍,但同时也是高级书籍,可以快速吸收基础,等到提升再回来重新看
  • 《JavaScript权威指南》:不太适合入门,但是必备,不理解的地方就去查阅一下,很有帮助
  • 《编写可维护的JavaScript》和:
  • 《Node.js开发指南》:不错的Nodejs入门书籍
  • 《深入浅出Node.js》:Nodejs进阶书籍,必备
  • 《JavaScript异步编程》:理解JS异步的编程理念
  • 《JavaScript模式》和《JavaScript设计模式》:JavaScript的代码模式和设计模式,将开发思维转变到JavaScript,非常好的书
  • 《JavaScript框架设计》:在用轮子同时,应当知道轮子是怎么转起来的,讲解很详细,从源码级别讲解框架的各个部分的实现,配合一个现有框架阅读,可以学到很多东西
  • 《Dont make me think》:网页设计的理念,了解用户行为,非常不错
  • 《CSS禅意花园》:经久不衰的一部著作,同样传递了网页设计中的理念以及设计中需要注意的问题
  • 《高性能JavaScript》和《高性能HTML5》:强调性能的书,其中不只是性能优化,还有很多原理层面的东西值得学习
  • 《HTML5 Canvas核心技术》:我正在读的一本书,对于canvas的使用,动画的实现,以及动画框架的开发都非常有帮助
  • 《HTTP权威指南》:HTTP协议相关必备,前端开发调试的时候也会经常涉及到其中的知识
  • 《响应式Web设计》:技术本身不难,重要的是响应式网页的设计理念,以及移动先行的思想
  • 《JavaScript语言精粹》:老道的书,也是普及JavaScript的开发思维的一本好书,非常适合入门

####一些不错的网站

  • github:没啥好说的,多阅读别人的源码,多上传自己的源码,向世界各地的大牛学习
  • codepen:感受前端之美的必选之地,里面有很多酷炫的效果和优秀的插件
  • echojs:快速了解js新资讯的网站
  • stackoverflow和segmentfault:基本上各种问题都能在上面获得解答
  • google web fundamentals:每篇文章都适合仔细阅读
  • static files:开放的CDN,很好用
  • iconfont:阿里的矢量图标库,非常不错,支持CDN而且支持项目
  • html5 rocks: 一个不错的网站,很多浏览器的新特性以及前沿的技术,都能在这上面找到文章
  • css tricks:如何活用CSS,以及了解CSS新特性,这里可以满足你
  • JavaScript 秘密花园 JavaScript初学必看,非常不错
  • w3cplus:一个前端学习的网站,里面的文章质量都挺不错的
  • node school:一个不错的node学习网站
  • learn git branch:一个git学习网站,交互很棒
  • 前端乱炖:一个前端文章分享的社区,有很多优秀文章
  • 正则表达式:一个正则表达式入门教程,非常值得一看
  • 阮一峰的博客和张鑫旭的博客:快速了解某些知识的捷径,但是如果需要深挖,还需要其他的资源
  • 各路大牛的博客:这个太多了,就不贴了,知乎上有很全的
  • 各种规范的官方网站,不懂得时候读规范

####历程
以前是做Java SSH的,半路出家做的前端,所以水平比较弱,遇到问题也比较多。基本上入门靠看书和W3C School上的教程,以及一些前端博客,如汤姆大叔的博客。以前也只是使用jQuery,原生js也没有太多的钻研,后来逐渐看了很多本动物书,比如老道的语言精粹等等。从这些书中学到了很多语言层面的知识。但这显然是不够的,所以我经常会去社区上看看大家在谈论什么,然后去看看相关的资料,感兴趣就会多找些资料看看,或者写一写demo。学CSS主要就是通过这种方式。后来开始更多的关注各路大牛的博客和一些比较深的书籍,以及关注一些新的知识和框架,并且不断地练手提交代码到github,这样也学到了很多知识。在实习的过程中,切身参与到实际项目开发之中,能学到很多在学校学不到的理念和思维,这点也有很大的帮助。不说了,我要去搬砖求offer了…

MrRaindrop的学习经历

应qiu神的邀请分享一下前端学习经验,这里对前端知识体系架构就不做总结了,各位大神们的总结已经相当到位了,我就贡献几个个人认为还比较有用的链接大家研究研究就好,然后主要分享一下我在前端学习过程中遇到的问题和总结的经验教训吧,如果能帮到想要入门的FE初学者(我就姑且假定为本文的读者受众类型了),让他们少走点弯路,每走一步都知道自己下一步的方向,这是最好了。各位大神的总结和分享详见qiu神整理的FE-learning。

先说下,前端这个东西每个人都可以有适合自己的学习方法,这篇仅作参考,写的有点乱,各位凑合看。

缘起

我是属于误打误撞进了前端,之前一直往做游戏的方向去来着,搞过游戏网站,玩过游戏引擎,比如unity,unreal这种商业引擎,捣鼓了几个游戏原型,不过自打研一进了实验室,直接就被导师派去写了js,导师给了我半个月时间让我写个基于百度地图api的数据展示页面,虽然这个时间还是相当宽裕的,不过之前没怎么写过js,也不会用地图api,于是我就一边啃着《Javascript权威指南》(犀牛书)一边参考实验室前人留下的“代码”,总算是把功能都写出来了。那个页面算我的js入门作了,也是我前端学习路线的开始。

现在想来,虽然指派了去做前端,但是一直做下去并做好还是得靠兴趣维持,当然前端是一个趣味性十足的技术领域,而且社区每天都很“热闹”。

项目,下一个项目

我个人认为前端的学习,初学阶段你可以完全脱离开书本,以项目驱动。虽然我个人是从犀牛书开始啃的,不过如果你没有充足的时间,或者觉得啃大部头乏而无味的话,还是别像我这样。当然了如果决定啃书最好是把书里的例子都跟着敲一遍的。我上研之前没接触过js,4月份还没开学呢就被直接被导师甩了个百度地图api的项目到脸上,接着就是各种ERP,地图数据展示,虽然换着花样来一点不重样,不过基本上都是前端的活,SSH和android开发也打过酱油,整个实验室就我一个人写前端敢信?富客户端SPA时代的后端就是一个restful接口,代码量基本都在前端啊,写的我一个人怎一个爽字了得…期间跟着导师感受了一把创业,每天从7点搞到晚上10点,也算是经历了一段快速成长期。

掌握一门技术先掌握它的大体框架,想一个能实现的点子,做一个能跑就行的demo,再去完善它的细节,等到demo完成了,对这门技术有了一个感性的认识,再去啃书,收获会大很多。我从开始原生js写到jquery,再到extjs,再到angularjs,从导师指定技术,到自己做技术选型,一个项目接着一个项目的练,就跟打怪升级似的。当然没有项目就去自己创造项目,动手实现自己的想法是件有乐趣和成就感的事。

收集癖和知识管理

前端学习有个特点,很多东西都很零碎,分散,需要你自己去整理、归纳和总结。在微博、知乎上follow了众多的大神,你不仅仅是为了听八卦,大神们的只言片语有时候留下的是无尽的余味,很有可能一个不经意提到的一个词就成为你下一个学习的目标。收集这些信息,善用google,提问,思考。就像游戏里的收集要素,前端学习也是充满搜集要素的一个“游戏”,只不过你需要一个知识管理工具来充当物品栏和仓库,我所知道的大牛们无一不是知识管理工具的重度使用者。以前用的oneNote,那时候还没绑定到云存储,现在基本上用evernote,笔记已经累计到1200+篇。书签一直打算用delicious,因为它是基于tag管理的,但一直没用起来。当然重点不在于这些工具,但是趁手的工具可以提高你的学习效率。最关键当然是随时保持旺盛的学习欲望,你的目标是了解有关前端的一切(当然不是所有都要掌握,因为毕竟你的精力有限,而且现实的说这也不太可能)。

跟对神

这个可控性貌似不大…跟对老大这个就不多说了,一定程度要看造化。不过话说回来,多跟身边的高手交流是王道,这个高手不一定要多高,但是一定要对技术有热情。研一的时候热情高涨,每天7点进实验室门,然后发现有个家伙居然比我还早到。后来发现这家伙上午就走了,下午又来了,而且导师对此习以为常,原来这家伙晚上不睡觉通宵写代码,上午才跑回去睡。后来经常和这位神讨论问题,每次感觉经验值蹭蹭蹭的往上涨。然后实验室还有一位神,被前面这位通宵神形容为“只能望其项背,一直在追赶,从来没赶上”,两位神的特点都是什么都了解一点,所以什么都能跟你讨论得起来,我有段时间做了个读书计划,从c/c++到vc/mfc再到unix网络编程,最后一路看到java核心技术和MSDN上的C#编程指南,和神们也能扯得很high了。

总之就是这两位神把我拉进了坑,或者说从一个坑跳进另一坑,虽然两位神都不是搞前端的,不过技术之间总有相通之处。

读书

读书,多读书,读好书。在刘未鹏的博客里看到过一个公式,你第一个月的工资等于之前买过(读过)的技术书价格总和(这里说的技术书指那些经典的公认的好书)。讨论这个公式的正确性似乎没什么意义,然而它的合理性是毋庸置疑的,那就是多读经典技术书。最极端的一个例子,google的徐宥在我的大学里面说他扫荡了图书馆的整个TP312书架…对于前端的经典书籍,后面列了一个我收集的前端书列(如果有遗漏的前端经典好书,还请留言告诉我),有条件可以尝试刷一遍这些书,我也是在找完整的时间去啃完它们。之前说的,前端知识点松散,收集零散的知识点,从博客里快速学习等,这些只是前端学习的一个方面,如果你要想深入理解一个知识体系,了解它的来龙去脉,对它建立系统认识,读经典书还是必不可少的。

我从最开始啃完犀牛书,然后接着去看了其他一些和前端干系不大的经典技术书,再后来通过实验室的项目和自己弄的一些小项目逐渐对前端领域比较上路以后,又看了《Javascript模式》、《Javascript设计模式》、《编写可维护的Javascript》,后来了解到node并开始用node搞点小玩意儿,又看了本《NodeJS up and run》和《Mongodb权威指南》,不过感觉前者略坑。那会儿朴灵那本深入浅出(晒书么么哒)还没出,后来出了就去图书馆借来看完,这么看下来感觉还不错,不过感觉看的还是偏少了,还需要继续刷(参照上面的书列)。

前端的定位

前端的定位关乎到你需要吸收什么样的知识和技能,决定在技术世界里你对什么需要格外敏感。如果你认为前端仅仅停留在切页面,实现交互和视觉的要求,那你对前端的认识还停留在初级阶段。阿里终面的时候我问了考官这么个问题:前端技术日新月异,范围越扩越宽,标准越来越丰富,似乎任何一个触角都能伸出很远。怎么给前端一个合适的定位?考官给我分析了半天,然后总结成一句话,就是用户和网站的联结者,用户体验的创造者(原话不是这样,但大体是这个意思)。也就是说前端的终极目标其实就是创造用户体验,提升用户体验,以用户体验为中心。不管你是从交互设计上下手,还是从性能优化出发,或者改进工作流提升工作流效率,最终都是为了创造和提升用户体验,最终都要体现到用户体验这一点上来。我认为这个总结非常有道理(当然“用户体验”这个词太宽泛了,并且不仅仅是前端工程师的范畴,比如开发后台的时候对一个数据处理过程进行优化,提升了整体性能,这也是对用户体验的一个提升)。

现在的前端工程师做到一定阶段不可避免会接触到很多比切页面、实现视觉要求、实现交互等更深入的问题,比如前端自动化、图像编程、性能优化等等,再往后推一点就是PHP/JSP/ASP/nodeJs,过去后端模板一般属于后端的范畴,现在随着前端架构的演进,可能会让你去写后端模板的代码,需要用到后端语言(PHP/Java/C#等),这就是所谓大前端(然而这与前端的定位并不是相背离的,大前端处理的依然是与用户接触的部分,仍然是对用户体验的优化)。可能最常见或者被谈论最多的就是node,其实这几种技术选型都可以,bat三家据说百度用PHP比较多,阿里用node比较多。

玉伯在他的博客里提过所谓全端是横向的,全栈是纵向的。全端即所有的终端说白了都是前端,因为都关乎到用户体验,直接和用户接触。适应多终端的开发,要求你在web前端的基础上,可能还要去扩展android开发和ios开发的知识,好在由于hybrid开发方式的流行,对使用native语言开发的技能会要求的不那么深入。

全栈可以说是最适合初创公司的一种发展类型,广义上认为是从前端干到后端,从开发干到运维,这种就不说了,一般人应该不会想要去往这个方向发展,想要成为这种意义上的full-stack dev的,可能用不着来看我这篇文章了;而狭义上的全栈特指使用js语言从前端写到架设在nodeJs上的后端,前后端统一语言,统一编程模型,甚至公用同一套代码。更多了解全栈开发可以看看玉伯这篇说说全栈工程师。

以上是我对前端以及衍生出来的技术路线的一些浅薄理解,学习一个领域掌握它的整体上的走向和趋势还是挺重要的。另外如果想要对前端学习方向、职业成长路径有一个整体的认识,推荐看看拔赤总结的这篇前端开发十日谈。

最后

贡献几个对前端学习、面试有帮助的链接:

  • 前端面试问题合集(Front-end-Developer-Interview-Questions)
  • 前端技能汇总(JacksonTian)
  • 另一张前端技能汇总图
  • 前端那点事儿(书列)

byr论坛yiyizym的建议

与grunt相比,学习gulp会比较简单

做SPA的话,推荐backbone.js和 backbone.marionette.js

FQ不用折腾,花十块钱买一个月的 红杏。

把基础打扎实了再学这些都没问题。

html 没什么好说的,有空学学html5。

css 尽量看文档 ,因为很多中文资料都各执一辞,看多了反而会糊涂。

有个网站可以查找html/css标签、属性在各个浏览器中的支持情况,挺好用的。

javascript 就看 javascript高级程序设计 。不过这么厚的书看过就会忘。对javascript核心概念的讲解:对象/原型链/ 构造函数/执行上下文/作用域链/闭包/this,这里有篇不错的文章。

有闲情可以看看 ecmascript 6,计划明年6月就发布啦。阮一峰的网站有入门资料。

jquery 有很多 API,这个网站可以方便查到。有时间弄清楚jquery deferred 的用法。

多给 sublimetext 装插件,比如说检查代码错误的,新建目录文件的,整理代码的。

综合类

综合类 地址
前端知识体系 http://www.cnblogs.com/sb19871023/p/3894452.html
前端知识结构 https://github.com/JacksonTian/fks
Web前端开发大系概览 https://github.com/unruledboy/WebFrontEndStack
Web前端开发大系概览-中文版 http://www.cnblogs.com/unruledboy/p/WebFrontEndStack.html
Web Front-end Stack v2.2 Web Front-end Stack v2.2
免费的编程中文书籍索引 https://github.com/justjavac/free-programming-books-zh_CN
前端书籍 https://github.com/dypsilon/frontend-dev-bookmarks
前端免费书籍大全 https://github.com/vhf/free-programming-books
前端知识体系 http://www.cnblogs.com/sb19871023/p/3894452.html
免费的编程中文书籍索引 https://github.com/justjavac/free-programming-books-zh_CN
智能社 - 精通JavaScript开发 http://study.163.com/course/introduction/224014.htm
重新介绍 JavaScript(JS 教程) https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/A_re-introduction_to_JavaScript
麻省理工学院公开课:计算机科学及编程导论 http://v.163.com/special/opencourse/bianchengdaolun.html
JavaScript中的this陷阱的最全收集--没有之一 http://segmentfault.com/a/1190000002640298
JS函数式编程指南 https://llh911001.gitbooks.io/mostly-adequate-guide-chinese/content/ch1.html
JavaScript Promise迷你书(中文版) http://liubin.github.io/promises-book
腾讯移动Web前端知识库 https://github.com/AlloyTeam/Mars
Front-End-Develop-Guide 前端开发指南 https://github.com/Front-End-Developers-Hunan/Front-End-Develop-Guide
前端开发笔记本 https://li-xinyang.gitbooks.io/frontend-notebook/content
大前端工具集 - 聂微东 https://github.com/nieweidong/fetool
前端开发者手册 https://dwqs.gitbooks.io/frontenddevhandbook/content

入门类

入门类 地址
前端入门教程 http://www.cnblogs.com/jikey/p/3613082.html
瘳雪峰的Javascript教程 http://www.liaoxuefeng.com/wiki/001434446689867b27157e896e74d51a89c25cc8b43bdb3000
jQuery基础教程 http://www.imooc.com/view/11
前端工程师必备的PS技能——切图篇 http://www.imooc.com/view/506
结合个人经历总结的前端入门方法 https://github.com/qiu-deqing/FE-learning

工具类

工具类 地址
前端人的俱乐部 http://f2er.club/ 真可以解放你的收藏夹
如何优雅地使用Sublime Text http://www.jeffjade.com/2015/12/15/2015-04-17-toss-sublime-text/#
新编码神器Atom使用纪要 http://www.jeffjade.com/2016/03/03/2016-03-02-how-to-use-atom/
css sprite 雪碧图制作 http://www.imooc.com/learn/93
版本控制入门 – 搬进 Github http://www.imooc.com/learn/390
Grunt-beginner前端自动化工具 http://www.imooc.com/learn/30
IntelliJ IDEA 简体中文专题教程 https://github.com/judasn/IntelliJ-IDEA-Tutorial
Webstorm,InterllIdea,Phpstorm http://t.cn/8kZZ1Uy
SublimeText https://github.com/jikeytang/sublime-text
Atom https://atom.io
visual studio code https://code.visualstudio.com

综合效果搜索平台

综合效果搜索平台 地址
JavaScript 资源大全中文版 https://github.com/jobbole/awesome-javascript-cn
100+ 超全的web开发工具和资源 https://xituqu.com/170.html
zoommyapp.com http://zoommyapp.com/ 高质量图库
unsplash.com https://unsplash.com/ 高质量图库
www.pinterest.com https://www.pinterest.com/ 图库
New Old Stock http://nos.twnsnd.co 复古风图库
效果网 http://www.jq22.com
花瓣网 http://huaban.com/
优美图 http://www.topit.me/
codepen http://codepen.io/
摄图网 http://699pic.com/
常用的JavaScript代码片段 http://microjs.com

团队Blog|周报类

周报类 地址
奇舞周刊 http://old.75team.com/weekly/
码农周刊 http://weekly.manong.io
WEB前端开发 http://www.css88.com
A JS tip per day! http://www.jstips.co
腾讯全端 AlloyTeam http://www.alloyteam.com/webdevelop/
平安科技移动开发二队技术周报 https://github.com/PaicHyperionDev/MobileDevWeekly

开发中心

开发中心 地址
mozilla js参考 https://developer.mozilla.org/zh-CN/docs/Web/JavaScript
chrome开发中心(chrome的内核已转向blink) https://developer.chrome.com/extensions/api_index.html
safari开发中心 https://developer.apple.com/library/safari/navigation
microsoft js参考 https://msdn.microsoft.com/zh-cn/library/d1et7k7c(v=vs.94.aspx
js秘密花园 http://sanshi.me/articles/JavaScript-Garden-CN/html/index.html
js秘密花园 http://bonsaiden.github.io/JavaScript-Garden/zh
w3help http://www.w3help.org 综合Bug集合网站

Nodejs

Nodejs 地址
nodejs 篇幅比较巨大 http://liuqing.pw
Node.js 包教不包会 https://github.com/alsotang/node-lessons
篇幅比较少 http://www.rainweb.cn/article/category/Nodejs
node express 入门教程 http://www.w3cfuns.com/article-5598538-1-1.html
nodejs定时任务 http://my.oschina.net/u/568264/blog/193773
一个nodejs博客 http://60sky.com
【NodeJS 学习笔记04】新闻发布系统 http://www.cnblogs.com/yexiaochai/p/3536547.html
过年7天乐,学nodejs 也快乐 http://www.cnblogs.com/qqloving/p/3541099.html
七天学会NodeJS https://github.com/nqdeng/7-days-nodejs
Nodejs学习笔记(二)--- 事件模块 http://www.cnblogs.com/zhongweiv/p/nodejs_events.html
nodejs入门 http://www.cnblogs.com/liusuqi/p/3735491.html
angularjs nodejs https://github.com/zensh/jsgen
从零开始nodejs系列文章 http://blog.fens.me/series-nodejs
理解nodejs http://debuggable.com/posts/understanding-node-js:4bd98440-45e4-4a9a-8ef7-0f7ecbdd56cb
nodejs事件轮询 http://blog.mixu.net/2011/02/01/understanding-the-node-js-event-loop
node入门 http://www.nodebeginner.org/index-zh-cn.html
nodejs cms http://ourjs.com/detail/53e1f281c5910a9806000001
Node初学者入门,一本全面的NodeJS教程 http://ourjs.com/detail/529ca5950cb6498814000005
NodeJS的代码调试和性能调优 http://www.barretlee.com/blog/2015/10/07/debug-nodejs-in-command-line

综合API

综合API 地址
javascripting http://www.javascripting.com
各种流行库搜索 http://microjs.com
runoob.com-包含各种API集合 http://www.runoob.com
开源中国在线API文档合集 http://tool.oschina.net/apidocs
devdocs http://devdocs.io 英文综合API网站

Ecmascript

Ecmascript 地址
Understanding ECMAScript 6 - Nicholas C. Zakas https://leanpub.com/understandinges6/read
exploring-es6 https://leanpub.com/exploring-es6/read
exploring-es6翻译 https://github.com/es6-org/exploring-es6
exploring-es6翻译后预览 http://es6-org.github.io/exploring-es6
阮一峰 es6 http://es6.ruanyifeng.com
阮一峰 Javascript http://javascript.ruanyifeng.com
ECMA-262,第 5 版 http://yanhaijing.com/es5
es5 http://es5.github.io

Js template

Js template 地址
template-chooser http://garann.github.io/template-chooser
artTemplate https://github.com/aui/artTemplate
tomdjs https://github.com/aui/tmodjs/blob/master/README.md
淘宝模板juicer模板 http://juicer.name/docs/docs_zh_cn.html
Fxtpl v1.0 繁星前端模板引擎 http://koen301.github.io/fxtpl
laytpl http://laytpl.layui.com
mozilla - nunjucks https://github.com/mozilla/nunjucks
Juicer https://github.com/PaulGuo/Juicer
dustjs http://akdubya.github.io/dustjs
etpl http://ecomfe.github.io/etpl

HTML5(HTML)

HTML(HTML5) 地址
深入理解HTML5标签 https://segmentfault.com/a/1190000002695791
如何写出高效率的HTML https://segmentfault.com/a/1190000002680822
HTML meta标签总结与属性使用介绍 https://segmentfault.com/a/1190000004279791
戏说HTML5 http://www.cnblogs.com/dojo-lzz/p/5059316.html

CSS3(CSS)

CSS 地址
CSS 语法参考 http://tympanus.net/codrops/css_reference
如何编写可维护的CSS https://github.com/chadluo/CSS-Guidelines/blob/master/README.md
CSS3动画手册 http://isux.tencent.com/css3/index.html
腾讯css3动画制作工具 http://isux.tencent.com/css3/tools.html
志爷css小工具集合 http://linxz.github.io/tianyizone
css3 js 移动大杂烩 http://www.note12.com/category/blog/2014-6-5/538fe0a9f786f1b7019a4dfb
bouncejs 触摸库 http://bouncejs.com
css3 按钮动画 http://fian.my.id/Waves
animate.css http://daneden.github.io/animate.css
全局CSS的终结(狗带 [译] http://www.alloyteam.com/2015/10/8536
browserhacks http://browserhacks.com

Angularjs

Angularjs 地址
Angular.js 的一些学习资源 https://github.com/dolymood/AngularLearning
angularjs中文社区 http://angularjs.cn
Angularjs源码学习 http://www.cnblogs.com/xuwenmin888/p/3739096.html
Angularjs源码学习 http://www.ifeenan.com/?c=AngularJS
angular对bootstrap的封装 http://angular-ui.github.io/bootstrap
angularjs + nodejs https://cnodejs.org/topic/51404e0f069911196d2e3923
吕大豹 Angularjs http://www.cnblogs.com/lvdabao/tag/AngularJs
AngularJS 最佳实践 http://www.infoq.com/cn/news/2013/02/angular-web-app
Angular的一些扩展指令 http://www.lovelucy.info/angularjs-best-practices.html
Angular数据绑定原理 https://github.com/Pasvaz/bindonce
一些扩展Angular UI组件 https://github.com/angular-ui
Ember和AngularJS的性能测试 http://voidcanvas.com/emberjs-vs-angularjs-performance-testing
带你走近AngularJS - 基本功能介绍 http://www.cnblogs.com/powertoolsteam/p/angularjs-introdection.html
Angularjs开发指南 http://angular.duapp.com/docs/guide
Angularjs学习 http://www.cnblogs.com/amosli/p/3710648.html
不要带着jQuery的思维去学习AngularJS http://www.rainweb.cn/article/angularjs-jquery.html
angularjs 学习笔记 http://wangjiatao.diandian.com/?tag=angularjs
angularjs 开发指南 http://www.angularjs.cn/T008
angularjs 英文资料 https://github.com/jmcunningham/AngularJS-Learning
angular bootstrap http://angular-ui.github.io/bootstrap
angular jq mobile https://github.com/opitzconsulting/jquery-mobile-angular-adapter
angular ui http://mgcrea.github.io/angular-strap
整合jQuery Mobile+AngularJS经验谈 http://www.tuicool.com/articles/7ZZVr2
有jQuery背景,该如何用AngularJS编程思想 http://blog.jobbole.com/46589/
AngularJS在线教程 http://each.sinaapp.com/angular
angular学习笔记 http://www.zouyesheng.com/angular.html

React

React 地址
react.js 中文论坛 http://www.react-china.org
react.js 官方网址 https://facebook.github.io/react/index.html
react.js 官方文档 https://facebook.github.io/react/docs/getting-started.html
react.js material UI http://material-ui.com/#
react.js TouchstoneJS UI http://touchstonejs.io
react.js amazeui UI http://amazeui.org/react
React 入门实例教程 - 阮一峰 http://www.ruanyifeng.com/blog/2015/03/react.html
React Native 中文版 http://wiki.jikexueyuan.com/project/react-native
Webpack 和 React 小书 - 前端乱炖 http://www.html-js.com/article/Fakefish%203053
Webpack 和 React 小书 - gitbook https://fakefish.github.io/react-webpack-cookbook
webpack https://github.com/webpack/webpack
Webpack,101入门体验 http://html-js.com/article/3009
webpack入门教程 http://html-js.com/article/3113
基于webpack搭建前端工程解决方案探索 http://segmentfault.com/a/1190000003499526
React原创实战视频教程 http://www.piliyu.com

vue

vue 地址
Vue http://cn.vuejs.org
Vue 论坛 http://forum.vuejs.org
Vue 入门指南 http://www.cnblogs.com/aaronjs/p/3660102.html
Vue 的一些资源索引 http://segmentfault.com/a/1190000000411057
awesome-vue https://github.com/vuejs/awesome-vue

移动端API

移动端API 地址
99移动端知识集合 https://github.com/jtyjty99999/mobileTech
移动端前端开发知识库 https://github.com/AlloyTeam/Mars
移动前端的一些坑和解决方法(外观表现) http://caibaojian.com/mobile-web-bug.html
【原】移动web资源整理 http://www.cnblogs.com/PeunZhang/p/3407453.html
zepto 1.0 中文手册 http://mweb.baidu.com/zeptoapi
zepto 1.0 中文手册 http://www.html-5.cn/Manual/Zepto
zepto 1.1.2 http://www.css88.com/doc/zeptojs_api
zepto 中文注释 http://www.cnblogs.com/sky000/archive/2013/03/29/2988952.html
jqmobile 手册 http://app-framework-software.intel.com/api.php
移动浏览器开发集合 https://github.com/maxzhang/maxzhang.github.com/issues
移动开发大杂烩 https://github.com/hoosin/mobile-web-favorites

jQuery

jQuery 地址
jQuery API 中文文档 http://www.jquery123.com
hemin 在线版 http://hemin.cn/jq
css88 jq api http://www.css88.com/jqapi-1.9/on
css88 jqui api http://www.css88.com/jquery-ui-api
学习jquery http://learn.jquery.com
jquery 源码查找 http://james.padolsey.com/jquery
Web前端资源汇总(jQuery,Js,Css3等) http://www.cnblogs.com/jihua/p/webfront.html

D3

D3 地址
d3 Tutorials https://github.com/mbostock/d3/wiki/Tutorials
Gallery https://github.com/mbostock/d3/wiki/Gallery
lofter http://datavisual.lofter.com/post/40cf3a_188e535
iteye http://alanland.iteye.com/blog/1878595
ruanyifeng http://javascript.ruanyifeng.com/library/d3.html

Requriejs

Requriejs 地址
Javascript模块化编程(一):模块的写法 http://www.ruanyifeng.com/blog/2012/10/javascript_module.html
Javascript模块化编程(二):AMD规范 http://www.ruanyifeng.com/blog/2012/10/asynchronous_module_definition.html
Javascript模块化编程(三):require.js的用法 http://www.ruanyifeng.com/blog/2012/11/require_js.html
RequireJS入门(一) http://www.cnblogs.com/snandy/archive/2012/05/22/2513652.html
RequireJS入门(二) http://www.cnblogs.com/snandy/archive/2012/05/23/2513712.html
RequireJS进阶(三) http://www.cnblogs.com/snandy/archive/2012/06/08/2538001.html
requrie源码学习 http://www.cnblogs.com/yexiaochai/p/3632580.html
requrie 入门指南 http://www.oschina.net/translate/getting-started-with-the-requirejs-library
requrieJS 学习笔记 http://www.cnblogs.com/yexiaochai/p/3214926.html
requriejs 其一 http://cyj.me/why-seajs/requirejs/
require backbone结合 http://www.cnblogs.com/yexiaochai/p/3221081.html

Seajs

Seajs 地址
seajs http://seajs.org
seajs 中文手册 http://cyj.me/why-seajs/zh

Less,sass

Less,sass 地址
sass http://www.w3cplus.com/sassguide
sass教程-sass中国 http://www.sass.hk
Sass 中文文档 http://sass.bootcss.com
less http://less.bootcss.com

Markdown

Markdown 地址
Markdown 语法说明 (简体中文版 http://wowubuntu.com/markdown
markdown入门参考 https://github.com/LearnShare/Learning-Markdown/blob/master/README.md
gitbook https://www.gitbook.com 国外的在线markdown可编辑成书
mdeditor https://www.zybuluo.com/mdeditor 一款国内的在线markdown编辑器
stackedit https://stackedit.io 国外的在线markdown编辑器,功能强大,同步云盘
mditor http://bh-lay.github.io/mditor 一款轻量级的markdown编辑器
lepture-editor https://github.com/lepture/editor
markdown-editor https://github.com/jbt/markdown-editor
作业部落 https://www.zybuluo.com 功能强大,速度流畅,全平台同步

兼容性

兼容性 地址
esma 兼容列表 http://kangax.github.io/compat-table/es6
W3C CSS验证服务 http://jigsaw.w3.org/css-validator/validator.html.zh-cn
caniuse http://caniuse.com/#index
csscreator http://csscreator.com/properties
microsoft
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn