Staying the same is moving backwards

Those words are simply the truth, I felt I was moving backwards. Of course, I was learning a few new tricks in Android development but there did not seem to be as much spark as earlier days.

So I looked at my options:

  1. Learn Xamarin (C#) for cross-platform development.
  2. Learn Swift for iOS development.
  3. Learn something(s) about the ever-evolving world of JavaScript.

So Xamarin. I had to learn C# - a new language, Yay! In fact, I did delve into it. First with Xamarin Forms (which wasn’t the best of experiences for me honestly), and then Xamarin Native.

However, even with Xamarin Native I still couldn’t get myself to love working with it for some reason. One time, it took me well over 20 minutes to add Nugets that’d make my Android application have a Material design toolbar. Plus, even after I got it running, the customization just didn’t feel robust as it did with good old (or relativity new) Android Studio and Java (Do I hear you scream Kotlin? I know, I know…). So as you would guess, I dropped it.

Brief history, I started off like most developers with HTML but I’ve always been interested in mobile application development. So I had that phase of trying to go Hybrid instead of Native. It was a short phase though — Native all the way! With that said, option 3 wasn’t really a compelling option from the get go.

That leaves us with Swift and iOS development.

  • New language. 🎉
  • New target OS. 🎉
  • New MacBook. Errrrrrr. Nope, I presently use a Dell computer. That was the first barrier. Not the language itself but I didn’t even have the tools for development.

Dollar iyaf rise and the price of MacBook can buy a plot of land in some places. Plus I don’t have 30 billion in my account.

Enter VMware

YouTube also came in handy here. A few searches on YouTube, a couple of downloads that might have slowed down the internet speed of some of my colleagues at work (I’m sorry guys) and little less than an hour later, I had MacOS Sierra running on my Windows 10 machine.

You might be asking — Is this guy really going to build iOS apps on a virtual machine? The answer to that is a resounding YES! At least, pending when I have 30 billion for the account to get a MacBook tho 🙂.

This was some weeks ago and it’s been a great experience I must say. Despite some weird moments when you realise iOS doesn’t have something inbuilt similar to Toast messages on Android. I really love that I can control drag from the storyboard onto my ViewController to bind my outlets and actions. That’s way much cooler than numerous findViewById(R.id.something) lines of code. Oh, and segues too. 👌🏽

I’ve had to learn to work with constraints by-fire-by-force as Android Studio’s attempt to force me to start every new layout file with ConstraintLayout proved futile in favour of RelativeLayouts or LinearLayouts. I’m still learning though but I guess I’m beginning to appreciate the flatter hierarchy with time.

All in all, I’m enjoying the journey. Learning the differences between Android and iOS. Appreciating their similarities. And just feeling that spark of learning something new.

Yesterday I had a reminiscence of when I started Android development 2 years ago. I built a simple app that shows a list of data saved, fetched and deleted from a local database and with that I learned about CoreData, UITableView (delegate and data source), and alerts.

post_img

Perhaps I might even make a tutorial about it. I really should make tutorials and share bits of knowledge like my oga Femi TAIWO would say.

So do I still feel like I’m moving backwards? No. In fact I feel I’m currently behind the curve and have loads of catching up to do which is a great thing and exactly what I needed!

The end.