有没有曾遇过,产品要我们实现一个功能,但是 iview 或者 elementui 不支持,我们然后义正言辞的说,不好意思,组件库不支持,没法做到。 有没有曾和设计师争论得面红耳赤,其实也是因为组件库暂不支持。所以,我认为每一个前端都应该具备能为公司架构一套 UI 组件库的能力。

因为机缘巧合,我在 Github 上发起了一次 Vue UI 组件库开源项目的活动,参与人数达到 40 多人,本以为一套 UI 库就是一堆组件叠加在而已,40 个人,每人一个组件,应该会很快搞定吧。万万没想到,一套UI库会有那么多内容,我们几十个人,研究探索好几个月,爬过无数坑,项目才慢慢走上正规,估计下个迭代就可以和大家见面了。

也正因为UI库对公司如此重要,但是开发过程又并不简单,所以我觉得我的这个宝贵经验可以帮助到大家。接下来我可以和大家分享一下我做整个开源项目的思路。

我们这套开源项目主要分为两点,第一是项目完全以模拟企业流程开发;第二是用一套前端工业化知识来完成项目的。

第一完全以模拟企业流程开发,内容如下:
1、tapd 敏捷管理工具,我们会按照真实企业,在 tapd 上创建迭代,写需求,分配任务。

2、代码仓库工具选择 github,操作 git 工具使用企业中最常用的 sourceTree

3、我会安排架构师、技术经理、产品、设计师、测试等角色,让参与者完全体验正规流程

4、我会模拟各种真实会议,需求评审会、每日站会、代码评审会、测试用例评审会、以及各种技术分享会。

5、我会模拟迭代的提测、上线等流程,来保证项目质量。

6、我积极鼓励参与者选择多种角色来进行项目实战,例如参与者除了开发工作,也可以选择尝试技术经理,或者架构师等角色,我们这边工作人员都会辅助参与者扮演好角色。让参与者能学到更多东西。

7、我希望用最规范的企业流程来管理开源项目。

第二是用一套前端工业化知识,内容如下:
1、一套好的项目编写思路,让你明白先写什么,后写什么。例如我们应该先定义 css 架构,如果不先做这步,会有很多坑。

2、分支管理策略。我们项目可能是好几十个人参与,怎么样的分支策略,能让代码冲突最小化,几乎不出现任何问题呢。

3、如何打造一套 css 架构。

4、一套让全员代码风格、规范统一的策略。通过 eslint 配合 git 自动化检测代码,保证全员风格统一。

5、打造一套 scripts 前端工作流,通过命令生成统一组件、 自动更新组件引入、打包发布等。

6、站在设计模式的角度,架构和优化组件库,保证代码质量。

7、对代码进行单元测试。单元测试并不是调用几个 api 而已,而是告诉你单测到底测什么,测哪些,怎么测,才能保证代码低 bug。

8、如何在没有设计师支持的情况下,前端如何为 UI 组件库制作一套字体图标。

9、通过项目思路、设计模式、css 架构、scripts 工作流、单元测试、分支策略、eslint 策略等一套标准前端工业化体系知识来构建这套 UI 库。

如果以上都懂的高手,请略过。

原文地址:https://segmentfault.com/a/1190000016896747

为公司架构一套高质量的 Vue UI 组件库的更多相关文章

  1. Wuss Weapp 一款高质量,组件齐全,高自定义的微信小程序 UI 组件库

    Wuss Weapp 一款高质量,组件齐全,高自定义的微信小程序 UI 组件库 文档 https://phonycode.github.io/wuss-weapp 扫码体验 使用微信扫一扫体验小程序组 ...

  2. 使用vue1.0+es6+vue-cli+webpack+iview-ui+jQuery 撸一套高质量的后台管理系统

    首先按照vue.js官网的指令安装: 1.本地安装好node.js 2.根据官方命令行工具 详情 这样一个官方的脚手架工具就已经搭建好了:但是有一点需要注意的是由于现在按照官方的搭建方法是搭建vue2 ...

  3. GearCase UI - 自己构建一套基于 Vue 的简易开源组件库

    最近 1 ~ 2 月除了开发小程序之外,还一直在继续深入的学习 Vuejs.利用零碎.闲暇的时间整合了一套基于 Vue 的 UI 组件库.命名为 GearCase UI,意为齿轮盒.现在把该项目进行开 ...

  4. 一套高可用、易伸缩、高并发的IM群聊架构方案设计实践

    本文原题为“一套高可用群聊消息系统实现”,由作者“于雨氏”授权整理和发布,内容有些许改动,作者博客地址:alexstocks.github.io.应作者要求,如需转载,请联系作者获得授权. 一.引言 ...

  5. 高质量App的架构设计与思考!

    最近在做一功能不大.业务也不复杂的小众App,以往做App是发现自己从来没有考虑过一些架构方面的问题,只是按照自己以往的习惯去写代码,忽略了App的设计.本次分享主要包含一些开发App的小经验和技巧, ...

  6. 16套java架构师,高并发,高可用,高性能,集群,大型分布式电商项目实战视频教程

    16套Java架构师,集群,高可用,高可扩展,高性能,高并发,性能优化,设计模式,数据结构,虚拟机,微服务架构,日志分析,工作流,Jvm,Dubbo ,Spring boot,Spring cloud ...

  7. 一套高可用、易伸缩、高并发的IM群聊、单聊架构方案设计实践

    一套高可用.易伸缩.高并发的IM群聊.单聊架构方案设计实践 一套高可用.易伸缩.高并发的IM群聊.单聊架构方案设计实践-IM开发/专项技术区 - 即时通讯开发者社区! http://www.52im. ...

  8. 高质量C++/C编程指南(林锐)

    推荐-高质量C++/C编程指南(林锐) 版本/状态 作者 参与者 起止日期 备注 V 0.9 草稿文件 林锐   2001-7-1至 2001-7-18 林锐起草 V 1.0 正式文件 林锐   20 ...

  9. 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点

    深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 2011-12-28 23:00 by 汤姆大叔, 139489 阅读, 119 评论, 收藏, 编辑 才华横溢的 ...

随机推荐

  1. spark 机器学习 朴素贝叶斯 原理(一)

    朴素贝叶斯算法仍然是流行的挖掘算法之一,该算法是有监督的学习算法,解决的是分类问题,如客户是否流失.是否值得投资.信用等级评定等多分类问题.该算法的优点在于简单易懂.学习效率高.在某些领域的分类问题中 ...

  2. Apereo CAS Server服务端搭建教程

    不说废话了,直接看搭建过程吧. 首先到下载源码,https://github.com/apereo/cas-overlay-template/tree/4.2 附上地址,本次版本为4.2,下载源码后如 ...

  3. LeetCode.896-单调数组(Monotonic Array)

    这是悦乐书的第345次更新,第369篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第210题(顺位题号是896).如果数组单调递增或单调递减,则数组是单调的.如果对于所有 ...

  4. (二)SpringBoot整合常用框架Druid连接池

    一,在Pom.xml文件加入依赖 找到<dependencies></dependencies>标签,在标签中添加Druid依赖 <dependency> < ...

  5. TensorFlow多线程输入数据处理框架(二)——输入文件队列

    参考书 <TensorFlow:实战Google深度学习框架>(第2版) 一个简单的程序来生成样例数据. #!/usr/bin/env python # -*- coding: UTF-8 ...

  6. redis过期策略+事务+分布式锁+单redis服务器锁

    过期策略 相关知识:redis 内存数据集大小上升到一定大小的时候,就会施行数据淘汰策略.redis 提供 6种数据淘汰策略: voltile-lru:从已设置过期时间的数据集(server.db[i ...

  7. python堆排序实现TOPK问题

    # 构建小顶堆跳转def sift(li, low, higt): tmp = li[low] i = low j = 2 * i + 1 while j <= higt: # 情况2:i已经是 ...

  8. Elipse 无法启动问题(转)

    来源: <http://www.cnblogs.com/coding-way/archive/2012/10/17/2727481.html> 当选择完workspace之后,eclips ...

  9. R语言中的并行处理

    网上有人说foreach包可以并行,我就去弄了,结果发现一个普通的二重循环什么事都不错都很卡!捣鼓了半天才发现是foreach的问题 为了提速,做了如下事宜: 直接利用矩阵列加减,不是一个个遍历加 把 ...

  10. 动手实现 React-redux(五):Provider

    我们要把 context 相关的代码从所有业务组件中清除出去,现在的代码里面还有一个地方是被污染的.那就是 src/index.js 里面的 Index: ... class Index extend ...