Skip to content

技术栈规范

团队的开发效率是基于稳定且熟练的技术栈。稳定的技术栈规范有利于团队协作和沟通。我们对新的技术是完全开放的,一般而言, 新的技术, 新的解决方案,总是为了更高的生产力而诞生的。 我们容纳一个新的技术选型会有以下几点考虑:

  • 学习成本。考虑团队成员的接纳能力。如果成本小于收获的利益,在团队里面推行估计阻力会比较大
  • 收益。是否能够解决当前的某些痛点
  • 考虑风险。一般我们不会将一个实验阶段的技术使用的生产环境中

语言

  • ✅ Typescript
  • Javascript

框架

  • ✅ React
  • 备选
    • preact
    • react-native
    • taro(小程序开发)
  • 生态
    • 路由
      • react-router
    • 状态管理
      • ✅ react hooks
      • ✅ mobx
      • redux 由于冗余的模板代码,以及不利于Typescript约束,我们已经停止使用该方式.
    • UI框架
      • ✅ antd
        • antd-mobile
      • 备选
        • pile
        • ionic-react
    • 开发模式
      • ✅ react hooks
    • 异步处理
      • rxjs
    • 数据可视化
      • rechart
    • websocket
      • sockjs
    • 地图
      • react-bdmap
    • 图标
      • ✅ svg: 配合svgr转换为react组件
      • iconfont

样式

  • 命名规范
    • BEM
  • ✅ CSS-in-js
    • styled-components
  • pre-compiler
    • SCSS
  • post-compiler
    • PostCSS + env

QA

构建(项目构建统一使用gdjiami/cli)

  • webpack
  • rollup
  • parcel
  • babel
  • PWA

项目管理

  • ✅ yarn 统一使用yarn
  • lerna

模板引擎

  • pug

开发工具

  • vscode

nodejs

  • express
  • sock.js

utils

  • jquery
  • lodash

文档生成

  • docz
  • ✅ storybook

持续集成

  • gitlab ci

版本管理

  • git
    • fork(可视化客户端)