There was ups and downs on the path (of course), but I’m satisfied with the result I’ve been able to achieve, despite the struggling.
This is also the experience I’ve had using Open Source Software, which is not entirely new. But I think that I’ve made progress towards acceptance and engagement. I’m letting it go away and ask for help more often, which is better than struggling with my emotions.
So, following is a rather incomplete list of libraries, help resources and modules I’ve been using to meet our needs to build an Android and iOS app.
I have to confess that I mostly worked with the react native (iOS/Android) side of things from now on, though.
I could have use typescript with react native but, I did not wanted to close doors on me. This is not because I’ve delivered only mobile apps right now that I could not offer a web or Windows/Mac one from the same code base. I probably could and will when/if it makes sense.
Yes stackoverflow.com is part of my toolbox, and I’m using it on a daily basis.
Whenever I’m stuck learning a new thing, I go to Stackoverflow to find answers and ask for help when I need it. You should do that very often, do be afraid to ask, especially when you’re working remotely as I am, you’ll save a lot of your precious time and feel less alone. On this particular project, the community helped me on the following three topics
I’m no UI expert and I find it hard to use animations. The idea was to animate an emoji or text around a circle path. You can do that.
Working with bluetooth at high speed is one of those weird moment when everything seems to fall apart, and as a software architect, you began to feel the impostor syndrome.
Finally, because I’m sending back data to a native C++ cross platform layer, I had to understand how RxJs works with async functions.
I used a lot of react native native modules in this project:
C++ cross platform bridge
Again I’ve used djinni-react-native to generate boilerplate bridge code between react-native and C++ cross platform native code.
I’m using a moto E4 Plus and a Redmi Note 6 Pro for Android. For iOS I have an iPhone 6. I’m not working with emulators at all. In fact I never have. This is mainly because I always had to access the hardware (Bluetooth, or camera).
We faced bluetooth problems with Huawei devices not working at all with our bluetooth source when receiving data at 200Hz. It works at 50Hz though. My phones are working pretty well whatever the rate.
My platform of choice for building code and publishing mobile apps to stores and or testers.
I had some problems building for iOS because of a bug in the tool thinking I was using Cocoa Pods, but I don’t, not anymore. I solved it by uninstalling CocoaPods right after cloning the source repository. Weird but it solved my problem.
That’s it for now. Thanks for reading.