When I got into development, I got into it well before Stack Overflow. Before 3rd party libraries were commonplace and easy to find. Before the Internet was a thing everybody had.
In some ways this has been good for me. I’m more comfortable troubleshooting my code, evaluating what code does, and generally speaking try to be more cautious in what I write.
In other ways, it sucks.. Specifically in regards to React and React Native development.
Thanks to React, there are countless modules available to extend capabilities and reduce time spent reinventing the wheel. This is great!
Thanks to React, though, we’ve got numerous 3rd party developers frequently creating at best poorly documented modules, and at worst, poorly documented modules that are also poorly coded and full of vulnerabilities.
It’s like the WordPress ecosystem all over again.
I’m working on a new project in React Native for myself, and have been trying to find a good method to access sensor data from my smart watch. I thought I had nailed it down and found a good NPM package to work with, but as it turns out said package’s documentation is pretty poor. It was last updated earlier this year, which is fairly positive, but it’s configuration is missing something because even utilizing the core code samples provided on GitHub don’t run, returning null entities and the like for just basic authorization. In fact, it’s literally the single first line of the sample code that causes an error.
I checked the issues tab on GH, and there are a few more complaints on this subject, but nobody seems to have shared the specific issue or a resolution.
What’s most annoying is actually an accessibility issue: The use of headlines in the initial readme.md makes it exceptionally unclear what steps are actually needed for what installation and configuration route you take (due to the technical constraints this requires more than npm install XXXX/yarn add XXXX).
As a relative newbie to React Native, this just annoys me even more.
Oh well. I’m going to do some digging and see if I can find a better library to work with. I’ve been doing further research on what the NPM package is interfacing with, and now have a better understanding of what sort of package I’ll need from a technical perspective in order to accomplish my goals.
Maybe the next developer I look at will have actually done proper documentation.. Otherwise, I’ll just have to develop my own damned library (which will require Java, because Google Fit).