I got the feeling that it's layers upon layers of leaky abstractions and the whole thing seems rather fragile.
I got the feeling that it's layers upon layers of leaky abstractions and the whole thing seems rather fragile.
"Linking" these plugins is black box magic, if anything the fails I have absolutely no clue what is going on.
I have a feeling that some of the hairy errors I've been getting have something to do with the plugins not being up to date with the other libraries.
But like I said, I just have no idea what's going on.
If I'm going to learn how Android and iOS code needs to be structured then I prefer to just write native code. At least I will have more control.
Expo has audio (https://docs.expo.io/versions/latest/sdk/audio.html), file system (https://docs.expo.io/versions/latest/sdk/asset.html), and other APIs built in (https://docs.expo.io/versions/latest/sdk/index.html). We don't have sqlite right now but are actively working on it!
The idea is that we provide a lot of nice things out of the box and then if you still need to write native code you can detach (https://docs.expo.io/versions/latest/guides/exponentkit.html) and only write the native code you need while keeping all our other APIs. You can still use `react-native link` after detaching if you want.
That's not my idea of a filesystem API.
So far it's been amazing!
I know I am just complaining like a grouchy old man and not really helping understand and solve the problem, but that's what I can do right now. I would say that maybe we are building too modular software and the complexity of glueing everything together is becoming a problem? I feel like the existance of several "react + this + that" boilerplates indicates something.
I can also be wrong and everything is OK and I am problematizing.
Before I joined that project they were using yoeman and angular and a bunch of other useless crap. I got rid of all of it.
But then again, I already have a lot of experience with normal web development, so I already know what's under the cover, more or less.
Whereas with mobile, I have none, and I felt that RN was supposed to let me do mobile dev despite not knowing what goes on under the covers.