&gt;<i>learning mobile development requires you to not only learn new language APIs in objC&#x2F;swift, but you also have to learn some new design patterns (delegation, etc.)</i><p>Delegation has been a standard feature of desktop APIs for decades. Not just on things like Smalltalk and ObjC -- it has been the standard .NET model for UI events since C# 1.0.