在React Native中,NativeBase和Shoutem哪个更适合使用?

19

我发现React Native有两个最常用的UI组件,我想使用其中之一。哪一个更易于使用和自定义?

5个回答

31

目前,有三个主要的UI库:

Shoutem UI组件实际上只是Shoutem UI Toolkit的一部分,包括:

  • UI组件 - 可自定义的RN应用程序组件集
  • Theme - 在一个地方为你的RN组件设置样式
  • Animation - 一组声明式动画

UI组件带有预定义的美观设计,因此创建漂亮的应用程序就像简单复制/粘贴组件代码一样容易。然而,它们可以完全通过一个主题进行自定义,因此您可以实现对组件的关注点分离。动画也可以以类似的方式使用。

要查看有哪些类型的UI组件,请在屏幕中包含 <Examples> 组件,如此处所述。

React Native Elements简化了在React Native中使用常见组件的方法。Native Base也可以做到这一点,允许您对它们进行自定义,并且拥有比React Native Elements更好的文档。

免责声明: 我在Shoutem工作


我认为其中一个不可自定义,不确定是哪一个,可能是shoutem或native base。Tommz你能否澄清一下? - Waleed Arshad
嘿 @WaleedArshad,Shoutem和NativeBase是可定制的。我没有找到React Native Elements上的内容。然而,只有Shoutem在@shoutem/theme中使用集中式位置来自定义其组件。 - Tommz
感谢澄清。 - Waleed Arshad
@Tommz 有没有厨房水槽应用程序来演示组件? - svlada
@svlada 这应该可以工作:https://github.com/shoutem/ui/tree/develop/examples/RestaurantsApp - Tommz

15
所有以上三个库都很好,各自都有它们的用途。完全取决于你在使用所有这些库之后。

NativeBase是一个移动应用开发框架;它在React Native之上构建了一个层,为移动应用开发提供了基本组件集,帮助您在本地平台上开发世界级的应用体验。

NativeBase使您有能力使用单个代码库构建在iOS和Android上运行的应用程序。简化您的开发流程。

由于NativeBase是基于React Native构建的,因此对于任何组件,您都可以传递样式属性,该属性将合并到该组件的默认样式中。此也适用于回调事件。可以通过来自一个位置的主题(theme)进行高度定制。

NativeBase将所有这些整齐地记录下来。NativeBase文档为您提供关于其用法的完整信息,包括示例输出、如何替换React Native元素、如何为每个组件设置样式、如何为每个组件自定义主题等内容。

需要注意的是,NativeBase正在被重写以增强其易用性。即将发布。

赶紧试试NativeBase吧!

在一个单一的工具包NativeBase-KitchenSink中查看NativeBase组件的工作演示。

声明: 我在NativeBase工作


1
对于用户而言,这会对性能和应用程序安装大小产生什么影响? - tushar747
它是否支持RTL? - Y M

5

两个都很好。Shoutem有一些非常酷炫的动画过渡效果。无论选择哪一个都不会错。我的建议是仔细审查每一个,并选择感觉更正确或最符合您要求的那一个。

并且不要忘记也要检查React Native Elements


1
你可以使用NativeBase或Shoutem UI。两者都略有不同。NativeBase是根据平台推荐设计的,受Ionic启发,而Shoutem具有自己流畅和干净的设计。

0

我曾经尝试过 Native-Base 和 Shoutem UI,它们都支持完全自定义。 我更喜欢 Shoutem,因为它拥有更多的功能、动画、扩展、构建器等。但不幸的是,Shoutem UI目前不支持最新的 React-Native(> 0.40)和 Expo(> 15.0)版本。所以我暂时放弃了在生产中使用它的计划。

我认为这是因为最新的RN已弃用了NavigationExperimental,而Expo SDK使用的是react-native-svg >= 5.2.0版本。如有错误请指正。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接