下载APP 随时随地学编程
返回 首页

前端开发者指南(2017)

开始阅读
手册说明:



作者:科迪·林黎(Cody Lindley),由「前端大师(Frontend Masters)」倾情赞助。


这是一本可供任何人使用的指南,用于学习前端开发实践。该指南大体上勾勒出了前端工程的轮廓,同时也讨论了前端工程的实践:2017 年,如何学习前端工程,用什么工具来实践?

笔者有意将本书打造为一份专业资料,为想要或正在实践的前端开发者们提供学习材料和开发工具。其次,它同样可供主管、CTO、讲师和猎头们深入探索前端开发实践。

本书内容偏向于 WEB 技术(HTML、CSS、DOM、JavaScript)和以这些技术为根基直接构建而成的开源技术。书中引用和讨论的材料要么就是同类翘楚,要么就是解决问题的流行方案。

本书不是一本囊括所有前端可用资源的综合纲领。其价值在于为恰好够用的分类信息搜罗简洁、聚焦且符合时宜的甄选内容,以免在特别话题下钻了牛角尖。

预期本书每年都迭代一次内容。

本书分为三部分。

第一部分:前端实践

第一部分概述了前端工程实践。

第二部分:学习前端开发

第二部分指出了学习成为一个前端开发者所需的自学资源和教学资源(译者注:教学资源包括有讲师指导的付费课程、计划、学院和训练营)。

第三部分:前端开发工具

第三部分简要地介绍和指出了一些前端圈內的工具。

文章目录


下载 .pdf、.epub、或 .mobi 格式的电子书:

贡献内容、提建议或者修复 GitHub 上的 bugs:



本文档基于 Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License 协议发布。

致谢




目录
前端开发者是什么?
2016 前端开发回顾
展望2017

第一部分. 前端实践

前端职称
前端开发者所使用的技术
前端开发技能
前端开发者为 ... 而开发
团队里的前端
全能型人才/全栈神话
前端面试
前端开发职位公示
前端开发薪资
前端开发者是如何诞生的

第二部分:学习前端开发

自学

关于互联网/WEB
学习 Web 浏览器
学习域名系统(又叫 DNS)
学习 HTTP/Networks(包括 CORS 和 WebSockets)
学习网页寄存(通称虚拟主机)
学习前端开发
学习用户界面/交互设计
学习 HTML 和 CSS
学习搜索引擎优化
学习 JavaScript
学习 Web 动画
学习 DOM、BOM 和 jQuery
学习网页字体 & 图标
学习可访问性相关知识
学习 web/浏览器 API
学习 JSON (JavaScript 对象表示法)
学习 JS 模板
学习静态网页生成器
通过JS学习计算机科学
学习前端应用架构
学习数据(例如,JSON)API 的设计
学习 React & Redux
学习渐进式 Web 应用
学习设计 JS API
学习web开发工具
学习命令行的使用
学习 Node.js
关于模块的学习
关于模块加载和打包工具
关于包管理工具的学习
学习版本管理
学习构建及任务自动化技术
学习网站性能优化
学习测试
学习无头浏览器
学习离线开发
关于网络/浏览器/应用的安全性的学习
多平台开发学习

导向学习

培训学习
前端开发学习的起点
前端资讯、新闻站和播客

第三部分:前端开发工具

Doc/API 浏览工具
SEO 工具
原型设计和线框图工具
制图工具
HTTP / 网络工具
代码编辑工具
浏览器上的神兵利器
HTML 工具
CSS 工具集
DOM 工具
JavaScript 工具
静态网页构建工具
无障碍访问工具
应用程序框架工具(台式机,手机,平板电脑等)
渐进式 Web 应用工具
脚手架工具
常规前端开发工具
模版/数据绑定工具
UI组件 & 组件包
图形工具(例如 SVG、canvas、webGL)
动画工具
JSON 工具
内容占位符工具
测试工具
前端数据存储工具 (例如. 客户端的数据存储方案)
模块加载/打包工具
模块/包管理工具
托管工具
协作与沟通工具
内容管理 托管/API 工具
后端/API 工具
离线工具
安全工具
构建工具
部署工具
网站/应用监控工具
JavaScript 错误报告/监控
性能工具
寻找工具的工具

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }