介绍

Beeshell 是一个 React Native 应用的基础组件库,基于 0.53.3 版本,提供一整套开箱即用的高质量组件,包含 JS 组件和复合组件(包含 Native 代码),涉及 FE、iOS、Android 三端技术,兼顾通用性和定制化,支持自定义主题,用于开发和服务企业级移动应用。

Beeshell 中的组件已经在美团外卖移动端应用蜜蜂 APP 中广泛应用,而且已经持续了一年多时间,通过了各种业务场景、操作系统、机型的实战考验,有很好的稳定性、安全性和健壮性。

特性

  • UI 样式的一致性和定制化。
  • 通用性。主要使用 JS 来实现,保证跨平台通用性。
  • 定制化。我们在比较细的粒度上对组件进行拆分,通过继承的方式层层依赖,功能渐进式增强,为在任意层级上的继承扩展、个性化定制提供了可能。
  • 原生功能支持。组件库中的复合组件包含 Native 代码,支持图片选择、定位等原生功能。
  • 功能丰富。不仅仅提供组件,还提供了基础工具、动画以及 UI 规范。
  • 完善的文档和使用示例。

对比

在开源之前,我们对业界已经开源的组件库进行了调研,这里对比下 Beeshell 与其他组件库的优势与劣势,为大家选择组件库提供参考意见。业界开源的组件库比较多,这里选取 Github Star 数 5000 以上的组件库,从组件数量、通用性、定制化、是否包含原生功能、文档完善程度五个方面来具体做对比分析:

组件库 组件数量 通用性 定制化 是否包含原生功能 文档完善程度
react-native-elements 16 强,提供一套风格一致的 UI 控件 弱,若要定制化可能需要重写
NativeBase 28 强,提供一套风格一致的 UI 控件 中,支持主题变量
ant-design-mobile 41 强,提供一套风格一致的 UI 控件 中,部分可以支持定制化需求
beeshell 25 强,提供一套风格一致的 UI 控件 强,不仅支持主题变量,还支持使用继承的方式进行定制化扩展

通过对比可以看出,Beeshell 只在组件数量上有劣势,其他方面都一致或者优于其他产品。基于 Beeshell 有良好的系统架构,组件数量的丰富只时间问题,而且我们也已经有了详细的规划来完善数量上的不足。