I paused iOS development in the middle of 2015. I run away from there like a witch with an aftertaste of dark medieval ages. Probably many of you have already forgotten these times, but I’ll recall your memories.
My eyes were not bleeding any more because of Objective-C syntax and its “features”. Eyes had just run out of blood and tears.
Swift was about one-year-old baby and crashed Xcode every 5 minutes (every 20 minutes with turned-off autocomplete). I was thinking that nothing can be worse (until I tasted writing C++ in Vim, but that’s another story).
I remember that cold Russian winter of the end of 2014, 100% swifty app in the Appstore and that funny guy, who was the head of our mobile department and pushed forward the idea of writing swift in production with swift-zero-experience of the whole team.
Every second project was written according to best practices of Apple MVC misunderstood as massive view controllers.
That was embarrassing me during the hole way. Once I came to iOS from C# desktop world of WinForms and Windows Presentation Foundation. I got used to starting with interfaces (protocols) and only then code implementation. You can image how I was discouraged by singletons getting inside my house like zombies from every hole.
By the way, I still cannot understand, how. How can this disgusting windows-world co-exist with such amazing technologies, as C# and MS Visual Studio. C# had already become incredible by 2010. It had wonderful IDE, functional LINQ extensions, generics, clojures, some kind of reactive data binding, MVVM was already popular that days there. Things, that has been becoming trending in iOS development world only during the last couple of years.
While I was smoking out, I tried to keep in touch with my mates iOS developers, not to miss what was going on there. And one day I told my homie: “Hey, Victor, that’s definitely the renaissance of iOS development! I’m rolling in!”.
Of course I meant technology stack, not the market itself that has been facing tremendous uprise during the last decade and may slow down in the following years.
Swift has become more or less stable and mainstream. Thanks God, Obj-C is going to follow legacy way. Core data was not overlording any more, because Realm appeared to be pretty cool. One of java old fags has shown iOS developers what’s SOLID and suggested using VIPER. Reactive fashion has spread all over UIKit, networking and many other components, encouraging to use MVVM. Offline capabilities of applications are not essential as before, thanks to LTE everywhere. Swift backend frameworks are being developed and soon may significantly influence iOS apps development lifecycle.
At the beginning of 2017 I made up a huge plan of iOS developer resurrection which was including a lot thing to recollect, a lot things to learn and to do. And started following it. At first it seemed challenging as I was going to catch up 1,5 years of the whole industry. But I was hungry for knowledge as never before and was biting like a starving shark. And by the middle of my plan I was already feeling myself like Rocky Balboa in a very good fit.