How do you work with different platforms? How does the performance compare to React Native? Can we see examples? What APIs exist to access native functionalities? How complete is the Flex implementation?
How do you work with different platforms? How does the performance compare to React Native? Can we see examples? What APIs exist to access native functionalities? How complete is the Flex implementation?
Code-wise, the most interesting things I've seen:
- They expose wrappers for native recycling list views[0]. React Native does this in JavaScript through VirtualizedList, however some have experienced performance issues with it[1]
- They wrote their own flexbox layout library[2] (likely based on Yoga)
- It works with both Vue[3] and React
- Hippy supports web as a build target out of the box[4] (react-native-web is a 3rd party library)
- Touch events work on the `<View />` component directly, instead of needing to wrap `<View />`'s in the `<Touchable />` components[5]
- It uses a closed-source fork of libv8 on Android called X5[6].
The API & coding style is quite similar to React Native, but the implementation seems different. I'm guessing this started as an internal fork of React Native and turned into a large refactor, but that's just a guess
[0]: https://github.com/Tencent/Hippy/blob/master/ios/sdk/compone...
[1]: https://github.com/facebook/react-native/issues/13413
[2]: https://github.com/Tencent/Hippy/tree/master/layout
[3]: https://github.com/Tencent/Hippy/tree/master/packages/hippy-...
[4]: https://github.com/Tencent/Hippy/tree/master/packages/hippy-...
[5]: https://github.com/Tencent/Hippy/tree/master/packages/hippy-...
[6]: https://github.com/Tencent/Hippy/issues/9#issuecomment-56822...
this makes my spidey senses tingle. What might be hidden there?
I would be very curious to know why and if there are plans to replace with open source.