Now this is as much an issue as rant as the amount of problems this library raises is insane, so please bear with me:
Some the issues I encountered when using it:
- an old version react-native-gesture-handler that is unable to resolve module
react-native/Libraries/Renderer/shims/ReactNativeBridgeEventPlugin, forcing me to fiddle with the peerDeps to fix it
- a react-native-linear-gradient error that forces me to upgrade most of my deps and more importantly react-native, even though this could break the rest of the project (as a rule of thumb, I do not risk upgrading it once I’ve started a project with a specific version, unless I absolutely have to)
cannot read property 'shape'which can only be fixed by installing additional deps
prop-types create-react-classand fiddling with node_modules/react/index.js
- And finally the font rendering that has been broken for as long as I can remember, can be fixed by downloading Rubik fonts from google and overwriting those in the build folder
And all this while keeping in mind that you have to redo all those steps every time you update, add a dep, or clone the project anew, which is a huge waste of time.
And finally comes the time to build the app: You’re thinking “Oof! That took the entire day, but hey, at least the app looks beautiful” and lo and behold, the released apk is completely broken and crashes at startup, possibly because of proguard, but so far I haven’t been able to pinpoint the exact cause.
Is this the way Shoutem has to gently steer us towards expo? Because if that’s the case I believe you could simply add at the top of the readme: “Does NOT work outside of expo; use at your own risk” then we’d know not to waste our time
I’ve been following Shoutem for a long time now, and been meaning to use it ever since, but the ridiculous amount of issues that it brings with him just don’t make it worth it, at this point something like Native-base or KittenUI, although less beautiful in my opinion, are way better as they come without the headache and the hours of debugging
Please do not take offence at this issue: I understand fully that this is one of the drawbacks of open-source projects and that the contributors are in no way obligated to fix these issues, but I believe a bare minimum of explanation about what this lib can and can’t do, and what to expect of it in different environments would go a long way.
tl;dr: Shoutem hardly works outside of expo, please update the readme to clarify this point.