Skip to content

Commit

Permalink
[T] compile
Browse files Browse the repository at this point in the history
  • Loading branch information
phodal committed Jul 3, 2017
1 parent da76c29 commit 30a3598
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 8 deletions.
8 changes: 4 additions & 4 deletions ebook.md
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ JavaScript是一门易上手的语言,也充满了相当多的糟粕的用法

#### 兼容性

虽然我们离兼容IE6的时代已越来越远了,但是我们仍然有相当多的兼容性工作要做。基本的兼容性测试就是跨浏览器的测试,即Chrome,IE,Firefox,Safari等等。除此还有在不同的操作系统上对同一浏览器的测试,某些情况下可能表现不一致。如不同操作系统的字体大小,可能会导致一些细微的问题。而随着移动设备的流行,我们还需要考虑下不同Android版本下的浏览器内核的表现不致,有时候还要一下不成器的Windows Phone。除此,还有同一个浏览器的不同版本问题,常见于IE。。
虽然我们离兼容IE6的时代已越来越远了,但是我们仍然有相当多的兼容性工作要做。基本的兼容性测试就是跨浏览器的测试,即Chrome,IE,Firefox,Safari等等。除此还有在不同的操作系统上对同一浏览器的测试,某些情况下可能表现不一致。如不同操作系统的字体大小,可能会导致一些细微的问题。而随着移动设备的流行,我们还需要考虑下不同Android版本下的浏览器内核的表现不致,有时候还要考虑一下不成器的Windows Phone。除此,还有同一个浏览器的不同版本问题,常见于IE。。

#### 前端特定

Expand All @@ -115,11 +115,11 @@ JavaScript是一门易上手的语言,也充满了相当多的糟粕的用法

#### 测试

我遇到的很多前端工程师都是不写测试的,于是我便把它单独地抽了出现。对于一个前端项目来说,正常情况下,我们要有单元测试、功能测试,还有要一些UI测试来验证页面间是否可以跳转。对于依赖于第三方服务的应用来说,还要有一个Mock的服务来方便我们测试。如果是前后端分离的项目,我们还需要有集成测试。
我遇到的很多前端工程师都是不写测试的,于是我便把它单独地抽了出来。对于一个前端项目来说,正常情况下,我们要有单元测试、功能测试,还有要一些UI测试来验证页面间是否可以跳转。对于依赖于第三方服务的应用来说,还要有一个Mock的服务来方便我们测试。如果是前后端分离的项目,我们还需要有集成测试。

#### 性能与优化

要对Web应用进行性能优化,可能不是一件容易的事,有时候我们还知道哪些地方可以优化。这时候人们就可以使用Yahoo的YSlow,或者我最喜欢的Google PageSpeed来检测页面的一些问题,如有没有开启GZip、有没有压缩、合并、Minify JS代码等等。我们还应该借助于NetWork这一类的工具,查看页面加载时,一些比较漫的资源文件,并对其进行优化。在一些情况下,我们还需要借助如Chrome的Timline、Profiel等工具来查看可以优化的地方。
要对Web应用进行性能优化,可能不是一件容易的事,有时候我们还知道哪些地方可以优化。这时候人们就可以使用Yahoo的YSlow,或者我最喜欢的Google PageSpeed来检测页面的一些问题,如有没有开启GZip、有没有压缩、合并、Minify JS代码等等。我们还应该借助于NetWork这一类的工具,查看页面加载时,一些比较慢的资源文件,并对其进行优化。在一些情况下,我们还需要借助如Chrome的Timline、Profiel等工具来查看可以优化的地方。

#### 设计

Expand Down Expand Up @@ -194,7 +194,7 @@ JavaScript是一门易上手的语言,也充满了相当多的糟粕的用法

而到了今天,我的设计能力还是有待商榷。幸运的是,我可以熟练地使用各种可视化工具,然后做出各种美妙的图案。

我还能写编写一行行的前端代码,并写下这个系列(《我的职业是前端工程师》)的文章,来帮助大家深入了解前端工程师。
我还能编写一行行的前端代码,并写下这个系列(《我的职业是前端工程师》)的文章,来帮助大家深入了解前端工程师。

入门不是应该很简单吗?
===
Expand Down
8 changes: 4 additions & 4 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -309,17 +309,17 @@ <h4 id="高级篇">高级篇</h4>
<h4 id="工程化">工程化</h4>
<p>这个标题好像是放错了,这部分的内容主要都是自动构建的内容。首先,我们需要有基本的构建工具,无论你是使用gulp、grunt,还是只使用npm,这都不重要。重要的是,你可以自动化的完成构建的工具,编译、静态代码分析(JSLint、CSS Lint、TSLint)、对代码质量进行分析(如Code Climate,可以帮你检测出代码中的Bad Smell)、运行代码中的测试,并生成测试覆盖率的报告等等。这一切都需要你有一个自动构建的工作流。</p>
<h4 id="兼容性">兼容性</h4>
<p>虽然我们离兼容IE6的时代已越来越远了,但是我们仍然有相当多的兼容性工作要做。基本的兼容性测试就是跨浏览器的测试,即Chrome,IE,Firefox,Safari等等。除此还有在不同的操作系统上对同一浏览器的测试,某些情况下可能表现不一致。如不同操作系统的字体大小,可能会导致一些细微的问题。而随着移动设备的流行,我们还需要考虑下不同Android版本下的浏览器内核的表现不致,有时候还要一下不成器的Windows Phone。除此,还有同一个浏览器的不同版本问题,常见于IE。。</p>
<p>虽然我们离兼容IE6的时代已越来越远了,但是我们仍然有相当多的兼容性工作要做。基本的兼容性测试就是跨浏览器的测试,即Chrome,IE,Firefox,Safari等等。除此还有在不同的操作系统上对同一浏览器的测试,某些情况下可能表现不一致。如不同操作系统的字体大小,可能会导致一些细微的问题。而随着移动设备的流行,我们还需要考虑下不同Android版本下的浏览器内核的表现不致,有时候还要考虑一下不成器的Windows Phone。除此,还有同一个浏览器的不同版本问题,常见于IE。。</p>
<h4 id="前端特定">前端特定</h4>
<p>除了正常的编码之外,前端还有一些比较有意思的东西,如CSS3和JavaScript动画。使用Web字体,可惜这个不太适合汉字使用。还有Icon字体,毕竟这种字体是矢量的。不过Icon字体还有一些问题,如浏览器对其的抗锯齿优化,还有一个痛是你得准备四种不同类型的字体文件。因此,产生了一种东西SVG Sprite,在以前这就是CSS Sprite,只是CSS Sprite不能缩放。最后,我们还需要掌握一些基本的图形和图表框架的使用。</p>
<h4 id="软件工程">软件工程</h4>
<p>这一点上和大部分语言的项目一样,我们需要使用版本管理软件,如git、svn,又或者是一些内部的工具。总之你肯定要有一个,而不是 2016.07.31.zip这种文件。然后,你还需要一些依赖管理工具,对于那些使用Webpack、Browserify来将代码编写成前端代码的项目来说,npm还是挺好用的。不过就个人来说,对于传统的项目来说我总觉得bower有些难用。我们还需要模块化我们的源码文件,才能使其他人更容易开始项目。</p>
<h4 id="调试">调试</h4>
<p>作为一个工程师来说,调试是必备的技能。大部分浏览器都自带有调试工具,他们都不错——如果你使用过的话。在调试的过程中,直接用Console就可以输出值、计算值等等。如果你的项目在构建的过程中有一些问题,你就需要debugger这一行代码了。在一些调用远程API的项目里,我们还需要一些更复杂的工具,即抓包工具。在调试移动设备时,像Wireshark、Charles这一类的工具,就可以让我们看到是否有一些异常的请求。当然在这个时候,还有一个不错的工具就是像Chrome自带的远程设备调试。对于移动网站来说,还要有Responsive视图。</p>
<h4 id="测试">测试</h4>
<p>我遇到的很多前端工程师都是不写测试的,于是我便把它单独地抽了出现。对于一个前端项目来说,正常情况下,我们要有单元测试、功能测试,还有要一些UI测试来验证页面间是否可以跳转。对于依赖于第三方服务的应用来说,还要有一个Mock的服务来方便我们测试。如果是前后端分离的项目,我们还需要有集成测试。</p>
<p>我遇到的很多前端工程师都是不写测试的,于是我便把它单独地抽了出来。对于一个前端项目来说,正常情况下,我们要有单元测试、功能测试,还有要一些UI测试来验证页面间是否可以跳转。对于依赖于第三方服务的应用来说,还要有一个Mock的服务来方便我们测试。如果是前后端分离的项目,我们还需要有集成测试。</p>
<h4 id="性能与优化">性能与优化</h4>
<p>要对Web应用进行性能优化,可能不是一件容易的事,有时候我们还知道哪些地方可以优化。这时候人们就可以使用Yahoo的YSlow,或者我最喜欢的Google PageSpeed来检测页面的一些问题,如有没有开启GZip、有没有压缩、合并、Minify JS代码等等。我们还应该借助于NetWork这一类的工具,查看页面加载时,一些比较漫的资源文件,并对其进行优化。在一些情况下,我们还需要借助如Chrome的Timline、Profiel等工具来查看可以优化的地方。</p>
<p>要对Web应用进行性能优化,可能不是一件容易的事,有时候我们还知道哪些地方可以优化。这时候人们就可以使用Yahoo的YSlow,或者我最喜欢的Google PageSpeed来检测页面的一些问题,如有没有开启GZip、有没有压缩、合并、Minify JS代码等等。我们还应该借助于NetWork这一类的工具,查看页面加载时,一些比较慢的资源文件,并对其进行优化。在一些情况下,我们还需要借助如Chrome的Timline、Profiel等工具来查看可以优化的地方。</p>
<h4 id="设计">设计</h4>
<p>前端工程师还需要具备基本的UI技能。多数情况下拿到的只是一张图,如果是一个完整的页面,我们就需要快速分割页面布局。而依赖于不同的页面布局,如响应式、网格、FlexBox布局也会有不同的设计。而有些时候,我们就需要自己规划,制作一个基本的线框图(Wireframe)等等。</p>
<h4 id="seo">SEO</h4>
Expand Down Expand Up @@ -360,7 +360,7 @@ <h2 id="我要成为一个前端设计师-1">我要成为一个前端设计师</
<p>程序员本身也是设计师。虽然程序已经代替了相当数量的手工操作,要想代替程序员则需要更多的时日。然而,程序员手艺的好坏是有相当大的差异的。初学编程的时候,总会看到各种“程序设计”这样高大上的字眼,设计才是程序的核心。这就意味着,写代码的时候,就是在设计作品。设计是一门脑力活,也是一门模式活,从中能看出一个人的风格,从而了解一个人的水平。</p>
<p>因为我认为,前端工程师还应该懂得设计。我便花费了很多时间去:学习素描,熟悉一些原型设计软件,了解各种配色原理。以指望我可以像一个设计师一样,做好前端网页的设计。毕竟代码和大部分艺术作品一样,容易被临摹、复制,而要复制思想则不是一件容易的事。</p>
<p>而到了今天,我的设计能力还是有待商榷。幸运的是,我可以熟练地使用各种可视化工具,然后做出各种美妙的图案。</p>
<p>我还能写编写一行行的前端代码,并写下这个系列(《我的职业是前端工程师》)的文章,来帮助大家深入了解前端工程师。</p>
<p>我还能编写一行行的前端代码,并写下这个系列(《我的职业是前端工程师》)的文章,来帮助大家深入了解前端工程师。</p>
<h1 id="入门不是应该很简单吗">入门不是应该很简单吗?</h1>
<p>入门前端,是一件很难的事吗?在今天,我也没有想好一个答案,也不知道怎样给出一个答案。这个问题并不取决于前端,而是取决于不同人的需求。到底是想要快得一步登天呢,还是一点点的慢慢来,去享受前端带来的乐趣。</p>
<p>对于不同领域的学者来说,都会有一个相似的问题:如何从入门到精通?入门并不是一件很复杂的事,只是多数人想要的是<strong>更快的入门</strong>,这才是真正复杂的地方。虽说条条道路都是通过罗马的,但并不是每条道路都是能满足人们要求的。对于 A 说的路线并不一定适合于 A ,有可能会适合于 B;适合于 B 的路线,也有可能只适合于 B。</p>
Expand Down

0 comments on commit 30a3598

Please sign in to comment.