根据主题循序渐进如下
1. 做一个项目需要用到哪些技术?
附上脑暴图
react/rax/mirror - 框架 - angular、vue、extjs/avalon/knockjs/riotredux - 组件状态共享 - mobx/immer === sub/pub, Object.defineProperty(get,set)ant.design - material design <= atomic designbootstraphistory - 跳转- 栈 (replace/push)- pc, 任意性less - 样式 - sass、css- css-modularrxjs - 流式的数据处理框架nodejs - 语言 - V8git - 版本控制,分支es678 - js promise +babel - pollfill - shimaxios - http 请求 - ajax - xmlhttprequest - fetchtypescriptcoffeescriptelmhaskelljslinteslint - 统一,语法stylelinthtmllinteditorconfigproxy - 本地代理,middlewarexiaoyaoji - 接口定义、mock设计 => ui => 开发产品思想测试,质量性能沟通约定npm - 包管理工具 vs yarn - 镜像,源,依赖关系- 版本- 缓存- ui- 串行 / 并行module.exports =require()importexport分治 <= 代码可控组件化模块管理工具 - commonjs/ES6 module/amd/cmd/umd/ - seajs/requirejs/- 业务代码- 框架代码- 懒加载webpack - gulp 流、grunt 配置、rollup、parcel 开箱即用、browserify- treeshaking- source-map- 打包 - js/css/图片/html- 优化 - 压缩* 懒加载* vendor* hash* cdn 替换* ...
2. 前端的方方面面
工程化 + 技术栈 => 架构(脚手架)
工程化

技术

3. 渐进式前端框架
f(state) => ui
框架的取舍,arthur 的演进之路
4. 函数式编程
5. 方向?

