The pool of mobile developers has considerably increased in recent years. As mobile devices have gotten more affordable, a number of engineering enthusiasts have learned mobile applications development during their spare time and have become professional mobile developers. Meanwhile, a large number of companies have trained and converted engineers for mobile development skills. There are 2 big breeds of mobile developers in the market
Platform Developers usually know one of the popular mobile platforms in depth. The popular platforms are iOS from Apple and Android from Google. These developers usually master the native platform features well and build deeply integrated applications for a given platform.
Cross Platform Developers tend to have a more shallow platform knowledge and leverage cross-platform frameworks to write mobile applications. Popular cross-platform frameworks include ReactNative, Xamarin and Flutter, among others. These frameworks enable applications to be developed quickly across popular devices but tend to not always utilise all capabilities of a given mobile platform.
Deciding whether to use a cross-platform framework or rely on a platform specific native knowledge is a key decision to be taken fairly early in a project.
A good mobile developer typically has a few core skills:
- Deep understanding of the mobile development lifecycle
- Ability to optimize mobile code and make it efficient
- Mastering in-memory DB or device local storage
- Good knowledge of REST APIs and JSON
- Knowledge of notification / push framework of the platform.
- Bonus : Ability to write unit tests to auto-test the code
Good mobile engineers, particularly for Android, have usually been good Java engineers in the past. Although some younger developers have become mobile engineers when starting their career, the majority of today’s mobile developers have evolved into this role over time after earlier stages focused on web or desktop application development.