Известно, что все мобильные операционные системы имеют свой язык и для разработки приложений: ObjectiveC для iOS (теперь, конечно, и Swift), Java для Android, С# для Widows Phone. Создавая даже самое с простое приложение, нужно помнить не только об особенностях разработки на этих языках, но и поддерживать единую функциональность на всех платформах. Проблемы в таком подходе очевидны, это и дополнительные сроки на разработку, и сложность поддержки приложения в будущем, и невозможность повторного использования кода.
Но есть ли другие варианты?
Конечно, корпоративные решения, высоконагруженные сервисы, приложения со сложной бизнес-логикой могут и должны быть реализованы с помощью базовых языков платформы. Это обеспечит быструю работу, отказоустойчивость, защиту данных и корректную работу всего заявленного функционала. Однако, как показывает практика, большинство задач могут быть решены с помощью так называемых кросс-платформенных решений быстрой и недорогой разработки приложений для мобильных устройств. Рассмотрим самые популярные из них:

1. XAMARIN
С помощью Xamarin можно создавать нативные мобильные приложения на C#. Это означает, что ключевой функционал (40-60% кода) может быть общим для каждой платформы, тогда как версии для iOS, Android и Windows Phone должны иметь свои особенности. Среда разработки: Xamarin Studio или плагин для классического инструмента Microsoft Visual Studio.

2. PHONEGAP
Пожалуй, самое популярное и простое решение. По своей сути, приложения на PhoneGap представляют собой мобильные кросс-платформенные сайты, которые создаются с помощью HTML5 и JavaScript. При выполнение такие приложения запускают локальный браузер и используют дополнительные библиотеки для доступа к некоторым функциям телефона. Как преимущества такого подхода, разработка мобильного приложения не требует уникального кода для каждой платформы. Но, как следствие, скорость работы и ограничения браузера сразу дают понять пользователю с чем он имеет дело.

3. APPCELERATOR TITANIUM
Несмотря на то, что (как и PhoneGap) Appcelerator в качестве языка разработки мобильных приложений использует Javascript, это принципиально разные инструменты. Результатом разработки с помощью Titanium являются нативные приложения, которые используют службы операционной системы. Кроме того, Appcelerator имеет ряд облачных сервисов, которые позволяют управлять пользователями, отслеживать использование приложения и осуществлять другие аналитические функции.