Where I twaddle about necessity of getting familiar with multiple platforms/languages.
They say Objective-C is dead. A new king named Swift is rising and Objective-C days are counted. Well, that’s probably true. It may be not entirely true right now, but one day it will be. I surely need to familiarize myself with Swift a little bit more, so I will know what I’m doing already when there would be no choice to write in it.
What’s bothering me still is that Swift is Apple-specific in the same way that Objective-C has always been. Learning Swift more, getting used to it will bind you tighter to the Apple platform (it does not matter, Mac OS or iOS). You still will have almost no experience on any other platforms or technologies.1
I fear that some day all this Apple stuff will become less relevant or even entirely irrelevant, and all my experience will become useless. Starting over would be a hard thing to do.
Because of that, I often think of learning some technology completely orthogonal to what I’m doing right now. Investing time in practicing Swift will be profitable in a semi-short term (I think I will be writing Swift apps in a couple of months or maybe in a year).
But should I, for example, learn some JavaScript instead?
Why JS? Well, it just came to mind because of the public React Native release. Facebook started to push a lot of open source stuff lately. Not sure why they again decided to go away from native into a JS-powered cross-platform (I believe they already had some bad experience with that before), but they should have some reasons behind it. Facebook’s ComponentKit is another framework released by Facebook, which also won’t work with Swift (‘cause CPP).
To be clear, this is not a post about bashing Swift. I don’t honestly have a reason to do it2. It is about me being unsure I want to invest in Apple-only technology anymore. What if I decide one day that I don’t want to be an iOS developer? What would I do then?
I should probably start learning something entirely new. I’ve been solving some Project Euler problems using Erlang previously. Maybe I should get back to it some time, just to be able to say that I know something outside the Apple world nowadays.