Jumping from React Native to SwiftUI

Photo by NeONBRAND on Unsplash

Just briefly after Christmas, a new idea got into my small head. To build a new but straightforward app for my own use. Nothing fancy, just a questionnaire app.

Due to the habit of using React in web development, I took it for granted and picked up React Native (RN). The choice seemed obvious. It also sounded similar to the likes of Sencha and Cordova that were used ages ago. The only difference was that now all felt much more integrated.

Time passed, prototyping experience seemed OK. The first issue to me was the build tool RN uses, called Metro. Why would it not be Webpack, I thought (sure, there were probably reasons). The first issue of Metro is the name; it felt like something from Microsoft. Then there was documentation, it is not very complete, I’d say, more examples would be terribly helpful. Otherwise, it was great (honest recognition of its positives).

Another negative point to me was the way everything was glued. I’m not well versed in iOS but the Android folder dropped a shadow on me. It is painful to maintain the Android app alone but to do that when wrapped with the RN was another challenge. Maybe I’m just exaggerating, and there are no long term issues (promises).

Finally, I wanted to publish my tiny app somehow. This is where Apple Gods began throwing turds at me. I was forced against my will to use Xcode and do something to finish preparations for publishing. It was like I was in another world that did not respect people using terminals. Long story short, it was so painful for me to understand how RN interfaces with Xcode that I started the whole thing from scratch. On Xcode, using Swift.

So much excitement is discharged when a half-baked geek starts programming in a new language. SwiftUI is excellent, quite similar to React in the way that it renders views. Little I understood in those moments of joy. Apparently, SwiftUI is not a finished “product”. There are multiple examples online where people agree on this (Reddit, StackOverflow). It is like an unfinished DSL that you must use in an unresponsive IDE (Xcode). Why did I use SwiftUI, you ask. It was a default option in Xcode, and like any sensible human being, I did not change it.

To summarise, I lost the will to program. Will cry on my pillow, will hug my iDevices. Expect WWDC will bring updates to SwiftUI to make my life easier.

React Native app - github.com/ivarprudnikov/self-analysis-app

SwiftUI app - github.com/ivarprudnikov/self-analysis-ios

Older post

Reducing native speaker accent in the audio

February 21, 2021
The English language spreads across the globe through the internet. More non-native English speakers join the bandwagon and publish their content online. The caveat is that ever...
Continue reading
Newer post

Friction leads to issues, then resolutions

February 23, 2021
You do your job; repeat it every day. You do your house chores and other various things every day and repeat them over and over. It would be insane to expect we learn something ...
Continue reading