根据主题循序渐进如下

1. 做一个项目需要用到哪些技术?

附上脑暴图

  1. react/rax/mirror - 框架 - angularvueextjs/avalon/knockjs/riot
  2. redux - 组件状态共享 - mobx/immer === sub/pub, Object.defineProperty(get,set)
  3. ant.design - material design <= atomic design
  4. bootstrap
  5. history - 跳转
  6. - (replace/push)
  7. - pc, 任意性
  8. less - 样式 - sasscss
  9. - css-modular
  10. rxjs - 流式的数据处理框架
  11. nodejs - 语言 - V8
  12. git - 版本控制,分支
  13. es678 - js promise +
  14. babel - pollfill - shim
  15. axios - http 请求 - ajax - xmlhttprequest - fetch
  16. typescript
  17. coffeescript
  18. elm
  19. haskell
  20. jslint
  21. eslint - 统一,语法
  22. stylelint
  23. htmllint
  24. editorconfig
  25. proxy - 本地代理,middleware
  26. xiaoyaoji - 接口定义、mock
  27. 设计 => ui => 开发
  28. 产品思想
  29. 测试,质量
  30. 性能
  31. 沟通
  32. 约定
  33. npm - 包管理工具 vs yarn - 镜像,源,依赖关系
  34. - 版本
  35. - 缓存
  36. - ui
  37. - 串行 / 并行
  38. module.exports =
  39. require()
  40. import
  41. export
  42. 分治 <= 代码可控
  43. 组件化
  44. 模块管理工具 - commonjs/ES6 module/amd/cmd/umd/ - seajs/requirejs/
  45. - 业务代码
  46. - 框架代码
  47. - 懒加载
  48. webpack - gulp 流、grunt 配置、rollupparcel 开箱即用、browserify
  49. - treeshaking
  50. - source-map
  51. - 打包 - js/css/图片/html
  52. - 优化 - 压缩
  53. * 懒加载
  54. * vendor
  55. * hash
  56. * cdn 替换
  57. * ...

2. 前端的方方面面

工程化 + 技术栈 => 架构(脚手架)

工程化

engineer

技术

technology

3. 渐进式前端框架

f(state) => ui

框架的取舍,arthur 的演进之路

4. 函数式编程

Monad

5. 方向?

choice