My instable path in the iOS Development world

- January 8, 2020

Photo by Sai Kiran Anagani on Unsplash

I've always owned Apple computers. In 2013, I felt the need to write a small program to help me learn some Chinese vocabulary and to keep track of my progress. I happened to have some very elementary knowledge of C++, so I wrote a small command-line executable. You would open the program in the Terminal and interact with it in a fairly simple way.

In 2014, The Swift Programming language was unveiled at the WWDC 2014. Watching the keynote got me excited and I decided to dive into the documentation that was available from day one. I was able to practice Swift in a easy and fun way, in Xcode Playgrounds.

The Swift Book taught me the basics of programmation.

Later on, in 2015, I made my first program using a graphical interface. At first I made a macOS app, since I was using my computer most of the time, not my iPhone. The app had more features and was more user-friendly. It helped my brother in reviewing his Chinese Vocabulary.

In 2016, I decided to switch to iOS, as the macOS ecosystem was kinda dying, and most tutorials were focusing on iOS development. I ported my macOS app to iOS. The app had a few neat features and was decently polished. It was pretty simple yet useful, so I applied to publish my app on the App Store. It got accepted by the Apple team and was published. I decided to let the app be free, as I was more confortable with that.

In the following years, I developed another app focused on task management, which was very useful for my own usage, and that I still use today.

In 2019, SwiftUI was released and I jumped on it. It helps us build and manage interfaces, in a declarative way.

But as I tested it with enthusiasm, I ran into some annoying bugs that broke the main point of my App. I submitted the bug to Apple, but as months passed, nothing changed, and It left me a bitter taste. It shows me that I'm entirely dependant of the Apple eco-system. It's risky and can be a bad choice in the long run. (to be continued)