如何设计一个简洁、灵活、开发者体验良好的组件?

前端组件库生态非常繁荣,国内各大公司都纷纷推出了自己的开源组件库,这些组件库都粗看都非常相似,细看又有点不太一样,那么组件的设计有没有什么通用的方法论,如何设计出简洁、灵活,开发者体验又很好的组件呢?


2021年1月4日补充:

有两种组件设计的方法:

  1. 一种是api和数据驱动的设计方法,组件设计type/data/options等api,开发者可以简单配置下api就能定制某些特定的功能和样式
  2. 另一种是子组件和插槽驱动,通过将组件分类分层,设计一些子组件和插槽,开发者可以自己拼接组件内部的显示

这两种组件设计方法各有优缺点,前者开发者体验会好一些,用户只需要写一两个api,就实现特定的效果,但是存在不够灵活的缺点,用户想定制一些东西,就得组件加api;
后者比较灵活,用户可以通过子组件和插槽自己拼接组件,但存在开发者体验的问题,为了实现定制功能和样式,开发者需要自己写很多代码。

阅读 2.8k
1 个回答

个人观点:
从目前市面上来看,还是会基于第二种方式会多一点。
第一种方式其实偏 低代码平台,可以用来实现一些较为普遍的业务,开发效率相对会比较高。
从长远来看,UI 组件库的封装我认为应该是让开发者去取用各个组件拼装,而不是一套的 JSON Schema。
其实现在很多开发者都会根据公司业务对组件库进行二次开发,封装一套 JSON Schema。

两种方式都有利有弊吧。作为组件库的话,个人倾向第二种。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题