Learn mobile app development (iOS / Android / Windows Phone)? Follow the following generic steps in the order of learning: Mobile OS basics. Understand why a mobile platform is created and relative pros and cons of each platform. Software and hardware architecture Mobile platform design User Experience/Interface Basics Design guidelines and best practices Basic usage of APIs, Libraries, protocols, etc. in general in the programming language used. Core development part begins from official developer documentation (refer the platform you want to develop for) Understand SDK (Software Development Kits), emulators, extensions and their better alternatives. Resources required for implementing a particular kind of functionality. Code maintenance, integration and syncing - SCM like GitHub or BitBucket. Community involvement with developer groups, pages, meetups and organisations. Testing guidelines and associated tools, testing kits, mechanisms, etc. Dedicated testing ...