前端开发工程师如何在2013年里提升自己——阅读笔记(一)

今天看到一篇好文章《前端开发工程师如何在2013年里提升自己》,各大网站疯狂转载。经多番查找,文章原文出自w3ctech:【译】前端开发工程师如何在2013年里提升自己,英文原文:Talks To Help You Become A Better Front-End Engineer In 2013

2013年,新的一年开始了。抖擞精神,好好开始新一轮的学习吧!

下面是我阅读这篇文章中提到的ppt和video所做的部分翻译以及学习笔记。

一. 基础部分

第一篇文章:How to Stay Up to Date on Web Stuff, Chris Coyier

1. 推荐了三个网站:

  1. CODEPEN
  2. ShopTalkShow: A Web Design and Development Podcast
  3. CSS-Tricks

2. 推荐一本书:The Manual

3. 关于How to Stay Up to Date on Web Stuff这个问题,作者认为隐含着如下潜台词(subtext),而作者也针对这些潜台词给出相应的回答:

潜台词一——给我一些容易的事情来做(Gimme Something Easy)

  1. Web Design Weekly
  2. CSS Weekly
  3. Sidebar
  4. JavaScript Weekly
  5. HTML5 Weekly(http://html5-weekly.com/ 这个链接打不开……)
  6. RWD Weekly

潜台词二——我担心糟糕的决定(I'm worried about making bad decisions)

在开始一个项目开发之前,需要从工作流(Workflow)、开发语言(Languages)、预处理程序(Preprocessors)、框架(Frameworks)、类库(Libraries)和工具/软件(Tools/Software)这几个方面来考虑。

关于应当选用什么样的技术,需要问自己几个问题:

  1. 该技术适合用于该项目吗?
  2. 使用该技术只是为了短期内显得很酷还是一个长期而又正确的决定?
  3. 这个技术失败的代价是什么?
  4. 整个团队会对该技术感兴趣吗?
  5. 是否需要雇佣有过该技术经验的新人?
  6. 围绕该技术进行开发、维护和关注讨论的社区有多大规模?

接着应当考虑以下几点:

  1. 关注该技术的领头人
  2. 查看GitHub上关于该技术的庞大资源
  3. 了解你经常听说的技术
  4. 考察该技术所在社区的规模
  5. 衡量该技术研究需要花费的投入
  6. 雇佣能做出良好决策的人

潜台词三——我正在变老(I'm getting old)

作者分析有这种变老的感觉可能并不是真的变老,而是疲惫了。所以需要自己想办法重新打起精神来。

4. 如何做出正确的决定?

  1. 充足的睡眠(9-10小时)
  2. 清楚地列出所有可能的选择
  3. 考虑每一种选择的结果(部分需要依赖直觉)
  4. 做出一个最好的选择然后坚持实现它
  5. 观察该选择的发展态势

作者强调:最重要的选择是超越技术的!

  1. 你选择与谁一同工作?
  2. 我的态度是什么?
  3. 我正在尝试培养什么文化?
  4. 我是否让用户体验来驱动选择?
  5. 我是否正在搭建人们喜爱的产品?
  6. 我是否正在写着人们想读的内容?

作者还指出:在工作中做决策。关于这个问题作者给出四个例子。

例子一:是否开始使用按钮字体(icon font)?

  1. 单色(single-color)可以吗?
  2. 性能变好还是变差?
  3. 该技术使开发速度加快还是减慢?
  4. 我们能否处理所有可达的问题?
  5. 我能否找到为我工作的人?
  6. 我能否自己搭建?
  7. 它们对我的客户而言看上去是否更好?

例子二;是否使用HTML5新特性?

  1. 浏览器是否支持?
  2. 需要注意哪些怪异的问题?
  3. 需要哪些新特性?
  4. 我有哪些控件?
  5. 哪种回退按钮是可接受的?

例子三:是否使用Sass?

  1. 切换平台的代价是什么?
  2. 我们是否能让整个团队都做好准备?
  3. 学习曲线大致什么样子?
  4. 其他人关于Sass有何看法?
  5. 使用Sass有何其他优势?

例子四:应该支持哪些浏览器?

  1. 查看一下YOUR给出的数据
  2. 当前的使用趋势是什么?
  3. 支持的代价是什么?
  4. 我们从支持某种浏览器中能获得什么?
  5. 做个数学计算来衡量一下是否值得。

作者还强调:要时刻了解新技术、新趋势,如IcedCoffeeScript,它是CoffeeScript的超集。

5. 作者最后又给出一些推荐链接(有些前面已经提到的这里不再重复):

CSS Wizardry
Smashing Magazine Bricss(无法访问)
Cognition 24 Ways NetTuts+(强烈推荐)
Codrops(强烈推荐) Web Platform HTML5 Doctor
Paul Irish Zoe Gillenwater Jeremy Keith
Estelle Weyl Martin Wolf Nicolas Zakas
Ryan Seddon Nicole Sullivan Rebecca Murphey
Dave Rupert Tab Atkins Christian Heilman
Rails Casts The Web Ahead The Industry
Non Breaking Space This Developer's Life The Big Web Show
The East Wing Build Podcast BizCraft


下面是twitter的关注:

  • Elijah Manor: @elijahmanor
  • Lea Verou: @leaverou
  • Mike Taylor: @miketaylr
  • Divya Manian: @divya
  • Ethan Marcotte:@rwd
  • Ben Alman: @cowboy
  • David Walsh: @davidwalshblog
  • Scott Jehl: @scottjehl
  • Jeff Starr: @perishable
  • Mat Marquis: @scottjehl(原文这里是否写错了?)
  • Simon: @simurai
  • Hakim El Hattab: @hakim



第二篇文章:A New Baseline for Front-End Developers, Rebecca Murphey

1. 上面给出的是Rebecca的ppt版文稿的链接。这里是blog版文章的链接

2. 作者通过列举近年来的前端开发变化,指出前端开发中的重点由一些细枝末节转向工具。因为我们需要自动化(automate)、流水线化(streamline),并使我们的过程防弹化(bullet-proof)。

3. 作者推荐的学习要点:

  1. JavaScript:作者提供了一套测试来评估大家对JavaScript的掌握程度。一个好的前端开发工程师不仅要知道JQuery、基本的原生JavaScript,还要了解JQuery-less JavaScript、原型继承、函数绑定、Backbone基础、Ember、canJS等。同时推荐了三本学习JavaScript的书籍《Eloquent JavaScript》、《JavaScript: The Good Parts》(JavaScript语言精粹)和《JavaScript Patterns》(JavaScript模式)。
  2. Git&Github:要全面充分地学会使用git,不仅了解如何创建复制新资源、建立分支和本地合并,而且要能够创建协作工作流、提出请求和代码复查
  3. 模块化&构建:不仅要知道将脚本内容放置在<head>标签之外,限制http请求总数,通过压缩来减少http头部负载,还要了解AMD、RequireJS/Almond、UglifyJS和闭包编译器(Closure Compiler)
  4. 开发工具:开发者可能已经在工作中使用console.log、console.dir、可编辑的CSS、网络标签以及Firebug或Chrome的开发者工具。但他们还需要了解断点和单步调式的方法$0时间轴(timeline)和概述文件(profile,以及其他浏览器
  5. 命令行:无论开发者是否喜欢命令行这种方式,他们都有必要了解ack、ssh、find、curl、git和npm,还要能够为经常使用的命令创建别名
  6. 模板(templates):开发者可能对采用非HTML方式从服务器端发送数据有所了解,也可能对通过字符串一次性全部插入DOM来构建HTML的方式有所耳闻,但他们还需要知道多种多样的模板类库和折衷,以及RequireJS text!插件
  7. CSS:我们可能了解CSS很难维护,也知道应该模块化CSS,最后提交时还应当合并和压缩CSS。但仅有这些是不够的。我们还需要了解SASSStylusLESS、用于纯CSS优化的RequireJS
  8. 测试:我们都了解测试的重要性,但往往不知从何入手。这里作者建议通过模块化的方法来简化测试,即使像婴儿学步一样也比压根不进行测试要好得多。
  9. 自动化(automation)
  10. 代码质量(code quality):我们都知道代码中微妙的缺陷非常糟糕,也了解项目应该有自己的样式。但我们还要了解JSHint、pre-commit hooks、editor插件
  11. 文档:w3schools.com的文档可能不是那么充足,我们还需要知道MDN、dochub.io。(搜索js内容时在前面加上mdn或者在duckduckgo上搜索时用!js)


下一篇文章:前端开发工程师如何在2013年里提升自己——阅读笔记(二)

转载于:https://my.oschina.net/warmcafe/blog/99827

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值