2017 年前端开发者必看学习清单
#深圳源创会,活动报名中#
原文:2017 is the year that front-end developers should go back and master the basics
链接:https://medium.freecodecamp.com/what-to-learn-in-2017-if-youre-a-frontend-developer-b6cfef46effd#.1bw8xh1c9
译者:leoxu, Tocy, little_cr, 花间_拾零, 无若, feiandxs
在快节奏的环境下,我们更倾向于花时间尝试最新的技术发明,然后在网上争论不休。
比起这样,我们是不是更应该放慢一点脚步,学习和巩固已有知识?这不仅能提升我们的工作质量,也能提升我们所传递的价值 ,它将帮助我们更快地学习这些新的工具。
这篇文章收集整理了前端开发可能用到的学习资料,2017 年继续学习!
学习如何编写易读的代码
我们的大多数工作都不是写新的代码,而是在维护已有的代码。那就意味着你阅读代码的时间常常多过写代码,因此你需要为下一个程序员优化代码,而不是通过解译让他了解代码。
我推荐阅读这三本不错的书——以书名长短排序:
《》Dustin Boswell 著
《》Robert C. Martin 著
《》Steve McConnell 著
相关链接,按顺序依次:
https://www.amazon.com/gp/product/0596802293/
https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882/
https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670/
2
深入学习 JavaScript
每周我们都会有一个新的 JavaScript 框架诞生,它会比任何老一点儿的框架要好, 而我们很容易就会花掉自己大部分的时间来学习这些框架,而忽略对于语言本身的学习。
如果你正在使用一个框架,但是不了解它的工作原理,那么就要停下来去学习一下这门语言,直到你了解了这个工具是如何运作为止。
《》, Simpson
《》,
有一份学习清单,告诉你(实也适用于其它框架)。
《》 Mike Pennisi — 理解新的 ECMAScript 功能特性 TC-39 流程。
相关链接,按顺序依次:
https://github.com/getify/You-Dont-Know-JS
https://medium.com/javascript-scene/top-javascript-frameworks-topics-to-learn-in-2017-700a397b711#.zhnbn4rvg
http://alves.im/blog/before-dive-into-react.html
https://bocoup.com/weblog/javascript-developers-watch-your-language
3
学习函数式编程
多年来,我们希望 JavaScript 中有类。现在我们有了,但却不想再使用它了。 功能才是我们想要的! 我们甚至使用函数(JSX)编写 HTML。
《》,Kyle Simpson
《,Frisby
相关链接,按顺序依次:
https://github.com/getify/Functional-Light-JS
https://github.com/MostlyAdequate/mostly-adequate-guide
4
学习设计基础
作为前端开发人员,我们比团队中的任何人都更接近用户 - 甚至可能比设计师更近。 如果设计师必须验证你在屏幕上的每个像素,你一定做错了什么。
《》,
《》,
《》,
《》,
《》,Alan Cooper
为数不多的几篇关于 UI 动画的文章:《 》和《》
相关链接,按顺序依次:
https://www.amazon.com/Design-Hackers-Reverse-Engineering-Beauty-ebook/dp/B005J578EW
https://youtu.be/ZbrzdMaumNk
http://nathanbarry.com/webapps/
https://abookapart.com/products/on-web-typography
https://www.amazon.com/Inmates-Are-Running-Asylum-Products-ebook/dp/B000OZ0N62/
http://babich.biz/how-to-use-animation-to-improve-ux/
https://medium.com/@pasql/transitional-interfaces-926eb80d64e3#.igcwawszz
5
学会如何与人协作
我们中的有些人选择编程事业是因为比起与人交流,更愿意同计算机打交道。但不幸的是,这样的想法并不可取。
我们很少会单独一个人工作:必须要和其他的开发者、设计师、经理,有些时候甚至还要和用户进行面对面的交谈。
那是比较艰难的,但如果你想真正了解自己正在做的事情并且知其所以然,与人协作就必不可少,因为这关乎我们所做之事的价值。
《》,
《》,Robert C. Martin
《》,Jim Camp
相关链接,按顺序依次:
https://www.amazon.com/Soft-Skills-software-developers-manual/dp/1617292397/
https://www.amazon.com/Clean-Coder-Conduct-Professional-Programmers/dp/0137081073/
https://www.amazon.com/Start-No-Negotiating-Tools-that-ebook/dp/B003EY7JEE/
6
学习撰写
与我们的同事和其他人沟通的很大一部分是文本的:任务描述和评论,代码评论,Git 提交,聊天信息,电子邮件,微博,博客帖子等等。
想象一下,人们花多少时间阅读和理解这一切。 如果你能通过写得更清楚和更简洁来减少这个时间,工作环境将会更加友好
《》,William Zinsser
《》,William Strunk 和 E. B. White
《》
俄国作家:《 课程》
相关链接,按顺序依次:
https://www.amazon.com/gp/product/0060891548/
https://www.amazon.com/Elements-Style-4th-William-Strunk/dp/0205313426/
http://www.economist.com/blogs/prospero/2013/07/george-orwell-writing
http://maximilyahov.ru/glvrd-pro/
7
学习古老的计算机智慧
前端开发不再只是那些加了动画效果的下拉菜单了,它比过去要复杂的太多了。声名狼藉的的“JavaScript 疲劳”中很大一部分就是来自我们现在需要解决任务中的问题的复杂度日益增长。
无论如何,这都意味着,是时候从那些“非前端开发者”几十年创建的计算机科学里汲取更多的智慧了。这也是我最希望听到你们的推荐的部分。
下面是一些我个人推荐的资源:
《》来自 Coursera 的课程
《》,
相关链接,按顺序依次:
https://www.coursera.org/specializations/algorithms
https://signalvnoise.com/posts/3375-the-five-programming-books-that-meant-most-to-me