Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions 01-FE-learning-master/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@

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

####工具
#### 工具
* chrome dev tools:前端开发调试利器,着重注意几个功能:
- console(废话)
- elements:元素样式调整,很常用
Expand Down Expand Up @@ -183,9 +183,9 @@
* Rythem:AlloyTeam出品的代理抓包软件,非常轻量,安装简单,移动端(真机)开发调试很好用
* Wunderlist:一个非常不错的Todo List,任务、需求多的时候管理起来很方便

####技能
#### 技能
前端的技能其实除了JavaScript(包括NodeJS)、HTML、CSS以外,还有很多。其实前端的技能树很大,这里只能列一些我开发中见到的说一说
#####语言基础
##### 语言基础
JavaScript:
* 作用域链、闭包、运行时上下文、this
* 原型链、继承
Expand All @@ -200,7 +200,7 @@ CSS:
HTML:
* 语义化标签

#####进阶
##### 进阶
JavaScript:
* 异步控制(Promise、ES6 generator、Async)
* 模块化的开发方式(AMD、CMD、KMD等等)
Expand Down Expand Up @@ -248,7 +248,7 @@ CSS和HTML:主要是CSS3的特性和HTML5的特性,以及浏览器处理的
* 减少选择器消耗(从右到左),减少DOM操作(DOM和JavaScript解释器的分离)
* CSS的回流与重绘

#####项目
##### 项目
* 版本管理:首推Git,用过Git都不会想用SVN了
- Git:本地版本管理的机制
- SVN:远程中心的版本管理机制
Expand All @@ -273,22 +273,22 @@ CSS和HTML:主要是CSS3的特性和HTML5的特性,以及浏览器处理的
- hexo
- jekyll

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

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

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

* 《JavaScript高级编程》:可以作为入门书籍,但同时也是高级书籍,可以快速吸收基础,等到提升再回来重新看
Expand All @@ -307,7 +307,7 @@ CSS和HTML:主要是CSS3的特性和HTML5的特性,以及浏览器处理的
* 《响应式Web设计》:技术本身不难,重要的是响应式网页的设计理念,以及移动先行的思想
* 《JavaScript语言精粹》:老道的书,也是普及JavaScript的开发思维的一本好书,非常适合入门

####一些不错的网站
#### 一些不错的网站
* [github](https://github.com):没啥好说的,多阅读别人的源码,多上传自己的源码,向世界各地的大牛学习
* [codepen](http://codepen.io/):感受前端之美的必选之地,里面有很多酷炫的效果和优秀的插件
* [echojs](http://www.echojs.com/):快速了解js新资讯的网站
Expand All @@ -327,7 +327,7 @@ CSS和HTML:主要是CSS3的特性和HTML5的特性,以及浏览器处理的
* 各路大牛的博客:这个太多了,就不贴了,知乎上有很全的
* 各种规范的官方网站,不懂得时候读规范

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


Expand Down
8 changes: 4 additions & 4 deletions 02-fedHandlebook-master/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
###前端开发者手册
### 前端开发者手册

这是任何人都可以用来学习前端的实践手册, 它概述并讨论了前端工程的实践: 该如何学习以及实践时该使用什么工具.

Expand All @@ -12,11 +12,11 @@

该手册分为三个部分:

####第一部分:前端开发实践
#### 第一部分:前端开发实践
第一部分会大致描述前端工程的实践
####第二部分:学习前端开发
#### 第二部分:学习前端开发
第二部分为成为一个前端开发人员确定了自主学习的直接资源
####第三部分:前端开发工具
#### 第三部分:前端开发工具
第三部分会简单地讨论一些前端开发工具的使用

---
Expand Down
2 changes: 1 addition & 1 deletion 02-fedHandlebook-master/learning/js.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
###JavaScript
### JavaScript

>JavaScript 是一种高级的, 动态的, 无类型的和解释型的编程语言, 它已经在 ECMAScript 语言规范中被标准化. 跟 HTML 和 CSS 一样, JavaScript 是 WWW 内容生成的第三种必不可少的技术; 大多数的网会使用Javascript, 并且 Javascript 被所有现在Web浏览器支持. JavaScript 基于原型和函数优先的特点, 使它成为多范型的语言, 支持面向对象的, 命令式的, 和函数式编程风格. JavaScript 能提供 API 来处理文本, 数组, 日期和正则表达式, 但不包括任何 I/O, 如网络, 存储或图形工具, 对这些的依赖取决于宿主环境中嵌入了什么. - wikipedia.org

Expand Down
3 changes: 0 additions & 3 deletions 02-fedHandlebook-master/practice.md

This file was deleted.

30 changes: 0 additions & 30 deletions 02-fedHandlebook-master/practice/fd-dev-for.md

This file was deleted.

26 changes: 1 addition & 25 deletions 02-fedHandlebook-master/practice/making-fd.md
Original file line number Diff line number Diff line change
@@ -1,28 +1,4 @@
###如何成为前端开发者?

![making-fd](https://raw.githubusercontent.com/dwqs/fedHandlebook/master/images/made-fd.png)

那么, 怎么才能成为一个前端开发者呢? 这个问题很复杂, 因为直到现在, 你也不能去一所大学获得前端工程师的学位, 并且我也很少听说
或者遇见通过编写专业地 HTML, CSS 和 JavaScript 来获得一个无用的计算机科学学位或平面设计学位. 事实上, 现在的大部分前端
开发者都是通过自学成为开发者和没有经过传统训练的程序员. 为什么会是这种情况呢?

前端开发人员不是一个视觉设计师或一个交互设计师, 设计学校不是磨练前端技能的地方; 前端开发者也不是一个受过传统教育地计算机科
学研究生, 传统教育并不专注于让一个人为前端开发做准备. 实际上, 在美国的高等教育系统中(例如大学), 紧跟传统教学方式可能会阻碍
一个人置身实践, 而前端开发最需要实际经验. 在今天, 如果你想成为一个前端开发者, 你可以自学或者参加一些不被认可的项目, 课程,
训练营和班级.

前端工程师会精巧地创建用户界面依赖的骨架. 有时, 他们要足够关注交互设计, 因为他们会编写 UI 交互的底层代码. 因此, 现在的许多
实践是前端工程师使用编程技巧达不到的, 但是, 从另一个方面来说, 和其它类型程序员转前端开发相比, 似乎有更多的设计师转前端开发者.
当然, 由于 JavaScript 已经成熟, 更多的受过传统教育的程序员愿意将他们的知识带到前端实践中. 你可能没有意识到前端开发人员并不
总是被认为是"真正的"程序员, 但是, 时代正待正在改变.

正如所有人说的那样, 我相信作为前端开发人员, 职业生涯道路是一个未知的过程. 我能说的是, 要成为一名前端工程师, 就必须知道和在一
个高层次的水平上使用 HTML, CSS 和 JavaScript, 也不会忽略交互设计或者传统编程所应该知道的技能. 实际上, 从我的经验来看, 最
好的前端开发者通常会掌握交互设计和基于 Web 平台(例如浏览器, HTML, CSS, DOM 和 JavaScript)的编程. 不管出于什么原因, 还有
很多关于前端开发的知识往往没被发现, 也就是说, 前端工程更像一些由自学的人组成的实践, 而不是一个直接对应有组织和认可的高等教育的教
学重心的领域.

如果我从现在开始决定成为一名前端开发人员, 我会努力按照下面所概括的过程进行学习. 学习过程中, 我会假设你是自己最好的老师.
### 如何成为前端开发者?

1. 粗略了解 Web 是怎么工作的, 确保你知道域名, DNS, URL, HTTP, 网络, 浏览器, 服务器/服务托管, 数据库, JSON, API, HTML, CSS
DOM 和 JavaScript. 了解这些的目的是确保你知道它们如何一起工作以及每部分用于做什么. 专注于高水平的前端架构概述. 从简单的网页
Expand Down
7 changes: 0 additions & 7 deletions 02-fedHandlebook-master/what-is-a-fd.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,7 @@

一般而言, 一个人可以通过学习 HTML,CSS,JavaScript进入前端开发领域, 这些代码运行在 [Web浏览器](https://en.wikipedia.org/wiki/Web_browser), [无壳为浏览器](https://en.wikipedia.org/wiki/Headless_browser), Web视图之中, 或用于编译本地运行环境的输入. 后文将详细介绍这四个运行场景.

Web浏览器是用于检索, 呈现和遍历万维网(WWW)信息的软件. 一般而言, 浏览器可以运行在台式机, 笔记本电脑, 平板电脑或手机. 但是近来, 几乎在任何事物上都能够发现浏览器(如: 冰箱上, 汽车里等).

最普遍的Web浏览器如下:

* [Chrome](http://www.google.com/chrome/)
* [Internet Explorer](http://dev.modern.ie/)
* [Firefox](https://www.mozilla.org/firefox/)
* [Safari](http://www.apple.com/safari/)

无壳浏览器是指没有图形用户界面的Web浏览器, 可以通过命令行接口控制达到网页自动化的目的(如: 功能测试, 单元测试等). 把无壳浏览器当做可以从命令行运行的浏览器, 它依然可以检索和遍历网页.

Expand Down