Normally, when you are talking about mobile app development the first names that come to your mind are Android development and iOS development. However, you also need to keep in mind in this context that both iOS and Android happen to be native apps. You do need a bit of knowledge in order to work on both the platforms. In case of Android, you need to know Java at the very least. As far as iOS is concerned it is essential that you know languages such as Swift or Objective C. It is true that complex and tough apps should be built using the native apps.
However, when we are talking about smaller apps and the daily routine apps it is always better to use the hybrid platforms or cross-platform development systems. The problem with the apps developed on the native apps is that they cost a lot more and need a lot more time compared to the apps that have been developed on cross-platform systems. In fact, cross-platform is the way to go as far as e-commerce app development is concerned. The main reason for this is the fact that apps developed on such systems retain most of their features on either platform. This means that their overall functionality and key elements such as UI (user interface) remain pretty much the same on both the platforms as well.
The next name on this list would be Xamarin. It is a cross-platform tool based on the C# language. This framework is capable of implementing tools such as Common Language Specifications, also known as Microsoft.NET and Common Language Infrastructure (CLI) on a cross-platform basis. If you are talking about game development across platforms then obviously your best bets would be Unity3D and Corona SDK. Special mention needs to be made of game development with Unity3D in this particular context.
In the last few years, AngularJS based mobile app development has become a big deal of sorts. There are so many factors and features that are working in favor of this particular framework over here.
It is a very interactive tool and at the same time, it can work really well with back-end servers as well as external data sources. This is the reason it is possible to develop such dynamic mobile apps with this framework.