Several years ago companies, developing mobile applications, used to have difficult times creating the same applications for different mobile platforms like Android, iOS and Windows, as each platform has its particular code language and development environment. Learning three completely different programing languages and development environments to create the same app for multiple platforms is not the best option. Hiring several developers is also not a very cost-effective decision. The easiest way to bring down expenses, minimise efforts and decrease development time - is cross platform development.
Red Line — PhoneGap. Blue line — Xamarin.
Nowadays IT specialists can choose from a great variety of universal cross-platform frameworks that allow creating similar applications for various mobile platforms. Perhaps the most popular of these frameworks are Xamarin and PhoneGap. Both are fairly mature frameworks. However, Xamarin that was developed earlier (2001) seems to be more popular. PhoneGap was developed in 2009 and is persistently trying to compete with a more mature rival on equal footing.
The main function of PhoneGap is to allow web applications created with HTML to be deployed and installed as native apps. Web applications developed with PhoneGap feature a native application shell and therefore can be installed through the native application stores for different platforms. This hybrid cross-platform development framework is not purely web-based and at the same time not truly native.
Being an open-source platform, PhoneGap has a number of beneficial features. It supports seven different platforms, offers complaint UI language and is absolutely free. Indeed, PhoneGap is pretty universal, but according to the latest statistics data, Xamarin holds a leading position by the frequency of use.
The main advantage of Xamarin, is that this cross-platform framework allows creating native user interface for every targeted platform. This means, there is no need opening or buying separate IDE’s. Moreover, Xamarin features an absolute code reusability and allows testing applications and detecting bugs directly in the cloud. Developers can save much time on the testing process, as there is no need evaluating the look, feel and performance of the app on different devices. Xamarin is a perfect tool for developing larger projects and supports MVVM and MVC development patterns.
Xamarin is an absolute winner for larger and more complex projects and in terms of stats, Xamarin is now more popular than PhoneGap.