1.React Native

2020/02/20 15:34

React Native

使用React Native进行开发有一小段时间了,非常开心能看到这个社区依然活跃,并且能感受得到在慢慢变好。截至今天为止,React Native 0.62版在几天前进入了RC阶段,下一个版本对Flipper的支持想必对开发体验有巨大提升。
🔗link

React Navigation

React Native官网文档使用的导航库,在最近正式发布了5.0版本。新特性包括了对react hook的支持,对Typescript的支持以及新推出的高性能native stack。我也从beta版本开始一直在使用,新版带来的提升,不论是在流畅度上还是在开发体验上都很大。
🔗link

React Native Reanimated

React Navigation 使用到的高性能动画库,与RN官方的Animated的区别是计算运行在native线程上,有着更高的性能;以及提供了非常非常声明式的API。虽然性能不错,但绝不意味着对开发者友好,也许这就是代价吧(。
🔗link

React Native Gesture handler

React Navigation 使用到的手势库,与Reanimated一样在RN里是偏底层一点的库。提供了各个平台上原生手势的支持,和Reanimated的API相辅相成(这两个库都是一家叫software-mansion的公司开发的,这家公司也和RN届很出名的公司expo有着密切合作)。
🔗link

React Native Redash

Redash为Reanimated和GestureHandler提供了很多工具API,在处理很多相同逻辑时可以少些不少代码。例如它直接提供了onScroll bInterpolate之类封装了常用逻辑的工具函数。这里放一个题外话,该库的作者William Candillon在他的个人YouTube账号上有一个Can it be done in React Native?系列。这个系列讲解了一些动画相关的例子如何在RN中实现,是很好的动画入门案例。
🔗link

最后一点感受是关于选择RN这件事。跨平台方案本身就是充满非议的,再加上前端社区部分人的不好习惯,对未知的事物没有了解的情况下选择了人云亦云,张口就来“9012年了怎么还有人在用React Native”。React Native目前肯定有着他自己非常多的毛病,包括Facebook内部究竟怎样看待这个项目外界也不得而知。但是这一段时间的开发体验下来我觉得它肯定没有某些人口中那么不堪,希望React Native能越变越好。